본문 바로가기

전체 글18

운영체제: 운영체제와 컴퓨터 운영체제(OS, Operating System)란사용자에게 편리한 인터페이스 제공하고, 컴퓨터 시스템의 자원을 효율적으로 관리하는 SWex) 윈도우, MacOS, 리눅스, 유닉스, iOS, 안드로이드 등 ❓펌웨어란하드웨어 장치에 내장되어 하드웨어를 직접 제어하고 초기화하는 저수준 소프트웨어⇒ 운영체제는 응용프로그램을 실행하는 환경을 제공, 펌웨어는 하드웨어 자체를 동작시키고 운영체제를 부팅하는 데 필수적인 역할운영체제 역할CPU 스케줄링과 프로세스 관리CPU 소유권을 어떤 프로세스에 할당할지, 프로세스 생성과 삭제, 자원 할당 및 반환 관리메모리 관리 한정된 메모리를 어떤 프로세스에 얼만큼 할당할지 관리디스크 파일 관리디스크 파일을 어떠한 방법으로 보관할지 관리I/O 디바이스 관리I/O 디바이스들인 마우.. 2024. 9. 19.
운영체제: 프로세스와 스레드 2 1. 멀티 프로세싱 (Multiprocessing)프로세스 간 통신(IPC) 기법공유 메모리정의 : 두 프로세스가 메모리 공간을 공유하여 통신통신 방식 : 외부 통신 불가, 양방향파일정의 : 프로세스들이 파일을 통해 데이터 교환통신 방식 : 외부 통신 가능, 양방향소켓정의 : 네트워크를 통한 통신 방식통신 방식 : 외부 통신 가능, 양방향익명 파이프정의 : 부모-자식 프로세스 간에만 사용 가능통신 방식 : 외부 통신 불가, 단방향명명된 파이프정의 : 명명된 경로를 사용하여 여러 프로세스 간 통신통신 방식 : 외부 통신 가능, 양방향메세지큐정의 : 프로세스 간에 메세지를 전송하고 수신할 수 있는 큐 구조를 제공하는 통신 방식통신 방식 : 외부 통신 가능, 양방향장점 : 비동기식 통신 지원: 프로세스가 메세.. 2024. 9. 18.
네트워크 기기 애플리케이션 계층: L7 스위치인터넷 계층: 라우터, L3 스위치데이터 링크 계층: L2 스위치, 브리지물리 계층: NIC, 리피터, AP애플리케이션 계층L7 스위치로드 밸런싱: 클라이언트 요청을 여러 서버로 분산시켜 서버의 부하를 줄이고 시스템의 처리 능력을 향상시킴.URL, 서버, 캐시, 쿠키 등을 기반으로 트래픽을 효율적으로 분산.보안 및 필터링: 바이러스 및 불필요한 외부 데이터를 걸러내며, 애플리케이션 수준에서 트래픽을 모니터링.헬스 체크: 장애가 발생한 서버를 감지하여 트래픽 분산 대상에서 제외.데이터 통신을 중재하고, 패킷의 내용을 분석하여 최적의 포트로 데이터 전송을 수행하는 네트워크 장비.참고L4 스위치 vs L7 스위치고려사항L4 스위치와 L7 스위치 비교   인터넷 계층라우터ex) 공.. 2024. 9. 10.
MVP 패턴 MVP 패턴MVC 패턴으로부터 파생되었으며 MVC에서 컨트롤러가 프레젠터로 교체된 패턴모델 (Model), 뷰(View), 프레젠터(Presenter)로 구성모델 Model**데이터(데이터베이스, 상수, 변수)**와 비즈니스 로직(처리 역할) 담당Presenter가 요청한 데이터를 제공하거나 업데이트데이터베이스에서 정보를 가져오거나 저장뷰 View사용자 인터페이스 담당ex) 버튼 클릭, 텍스트 입력 등프레젠터 Presenterview와 Model 사이에 중재자 역할사용자와 인터페이스의 이벤트를 감지하고, 비즈니스 로직 수행Model과 상호작용하여 데이터를 가져오거나 업데이트하고, view에 데이터를 업데이트 하는 역할view와 1 대 관계◽ MVC 패턴과의 차이점MVC 패턴과 다르게 UI(View)와 로.. 2024. 9. 10.
IP 주소 ⭐️ TCP/IP 4계층 애플리케이션 역할 정리 ⭐️1. 애플리케이션 계층해당 데이터는 특정 애플리케이션 프로토콜에 따라 형식화된 메시지로 만들어짐HTTP 요청 메시지 예시GET /index.html HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 Accept: text/html Connection: keep-alive2. 클라이언트에서 요청을 보내면 애플리케이션 계층에서 해당 요청을 처리할 데이터 생성3. 전송 계층**TCP**의 경우, 전송 전 **3-way handshake**를 통해 상대방과 연결이 성공적으로 이루어졌는지 확인 후 데이터 전송 진행4. 애플리케이션 계층에서 받은 데이터를 작게 쪼개 세그먼트로 나누고 각각의 세그먼트에 TCP 헤더 추.. 2024. 9. 6.
MVC 패턴 MVC 패턴은 모델(Model), 뷰(View), 컨트롤러(Controller)로 이루어진 디자인 패턴 애플리케이션 구성 요소를 세 가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소에만 집중해서 개발할 수 있다. [장점]각 구성 요소의 역할이 명확하게 분리되어 있어, 코드 가독성과 유지 관리 용이함구성 요소 간 낮은 결합도로 인해 코드 재사용성이 높아짐개별 구성 요소를 독립적으로 개발, 수정 및 테스트 가능하여 확장성 용이[단점]서비스가 커질수록 컨트롤러의 코드가 증가컨트롤러 중복 로직 발생할 수 있음모델(Model)핵심적인 데이터(데이터베이스, 상수, 변수)와 비즈니스 로직을 담당⇒ 데이터 저장소와 상호 작용, 데이터 처리 및 유효성 검사 등 작업 수행ex) 사각형 모양 박스 안에 글자가 들어 .. 2024. 9. 6.