운영체제의 기능 - CPU 관리: 프로그램 실행 및 종료, 프로그램들 간의 CPU 공유 등의 기능 - 메모리 관리 : 메모리의 사용 영역과 빈 영역을 유지 및 관리하여 새로운 영역의 요구와 사용 영역의 반납 등의 기능 - 파일 관리 : 사용자의 요청에 따라 파일을 보조 기억장치에 저장하고, 보조기억 장치로부터 파일을 읽어 들이는 기능 - 입출력 장치 관리 : 실행 중인 프로그램에서 필요로 하는 입출력 장치들을 사용할 수 있도록 관리하는 기능 - 네트워킹 : 서로 다른 컴퓨터 시스템 간의 통신을 위한 네트워킹 기능 - 보호 : 효율적인 자원관리 위해 공유하는 자원에 대한 보호 기능 - 오류 처리와 복구 : 컴퓨터 시스템의 오류를 탐지하며, 이를 복구하거나 사용자에게 경고하는 기능
다중 프로그래밍 (multi-programming) CPU의 이용률을 극대화하기 위하여 고안된 기법으로써 운영체제 발전과정의 커다란 전환점이 되었다. (운영체제가 다중 프로그래밍을 구현) 하나의 프로그램이 실행되는 과정에서 입출력 요구가 발생하게 되면, 그 사건 처리가 완료될 때까지 CPU는 유휴 상태에서 기다리게 된다. 이 시간을 “CPU의 유휴 시간(idle time)”이라고 한다. (ex: C언어에서 printf(), scanf() 호출 시 CPU는 유후 상태가 됨) CPU의 유휴 시간을 활용하기 위하여 여러 개의 프로그램들을 메모리에 적재시켜 놓고 한 프로그램에서 입출력 요구가 발생하면 다른 프로그램으로 CPU 사용을 전환함으로써 CPU의 이용률을 향상시키는 것이다. 컴퓨터 시스템에서 단위 시간당..
컴퓨터 시스템의 하드웨어는 CPU, 메모리, 입출력 장치들로 구성되어 있다. 중앙처리장치(CPU: Central Processing Unit): 명령어를 처리한다. IP(Instruction Pointer) 혹은 PC(Program Counter) 레지스터를 이용하여 CPU가 처리해야 할 명령어의 메모리 주소를 저장한다. CPU는 전원이 ON되는 순간부터 OFF될 때까지, IP 혹은 PC 레지스터가 가리키는 곳의 메모리에 저장된 명령어 처리하기를 반복한다. IBM PC의 부팅 과정 * CPU의 PC 레지스터 이름 -> CS : EIP * PC 레지스터의 초기 값은 -> F000:FFF0 (=FFFF0) 1) ROM-BIOS(Basic Input Output System) 2) Boot Program(운영..
운영체제의 의미 - 일반적으로 응용 프로그램의 실행을 제어하고, 입출력 장치와 사용자 사이의 인터페이스 역할을 하는 프로그램 - 사용자 관점으로 컴퓨터 시스템을 보다 편리하게 사용할 수 있는 환경을 제공해 주는 프로그램 - 관리자 관점으로 컴퓨터 시스템의 자원들을 효율적으로 이용할 수 있도록 제어해 주는 프로그램 - 시스템 관점으로 컴퓨터 시스템이 보유하고 있는 자원들을 효율적으로 관리하고 사용자에게 편의성을 제공하기 위하여 CPU 관리, 메모리 관리, 파일 관리, 입출력 장치 관리, 그리고 사용자 인터페이스를 담당하는 루틴들이 유기적으로 결합된 프로그램 운영체제의 목적 1) 자원의 효율적 관리: 자원에는 CPU, 메모리, 디스크, 프린터, 키보드 등과 같은 하드웨어와 파일, 서비스 루틴과 같은 소프트웨..
- 시스템 공간(계층 1 ~ 4): 운영 체제에서 동작 TCP, UDP는 커널 내부에 구현 사용자는 소켓 인터페이스를 이용하여 호출 후 사용 - 사용자 공간(계층 5 ~ 7): 사용자 프로그램으로 동작 - TCP/UDP: 사용자 데이터를 전송하는 전송 계층 프로토콜 - IP: 사용자 데이터를 전송하는 네트워크 계층 프로토콜 - ARP와 RARP ARP: IP 주소를 MAC 주소로 변환 RARP: MAC 주소를 IP 주소로 변환 - ICMP 오류 메시지를 전송하는 프로토콜 IP 프로토콜에 캡슐화되어 전송됨
OSI 7 계층 모델 - 계층 n 프로토콜: 계층 n 모듈끼리 사용하는 통신 규칙 - 동료 프로세스(peer process): 동일 계층에 위치한 통신 양단 프로세스 - 인터페이스: 상하위 계층 사이의 접속 방법 - 서비스 : 하위 계층이 상위계층에 제공하는 기능 - 송신 호스트: 데이터가 상위 계층에서 하위 계층으로 갈수록 헤더 추가 - 수신 호스트: 데이터가 하위 계층에서 상위 계층으로 갈수록 헤더 제거 중계 기능(라우팅, Routing) : 경로 배정 기능 - 1계층 : 하드웨어 시스템으로 구성 - 2, 3, 4계층 : 운영체제로 구성 - 5, 6, 7계층 : 사용자 프로그램으로 구성 물리 계층(Physical Layer) - 개별 정보의 비트(bit) 교환 문제를 처리 - 데이터 전송 속도, 클록..
서비스 프리미티브 - 프리미티브(primitive): 상위 계층이 하위 계층을 사용하는 방법을 정형화한 것 - 연결형 서비스 : 데이터 전송 전에 미리 연결을 설정하여 전송하는 방식 CONNECT: 연결 설정 프리미티브 DATA: 데이터 전송 프리미티브 DISCONNECT: 연결 해제 프리미티브 - 비연결형 서비스 : 각 데이터를 독립적으로 목적지 호스트로 전송하는 방식 DATA: 데이터 전송 프리미티브 연결형 프리미티브의 동작 원리 – CONNECT.Request, DATA.Request, DISCONNECT.Request – CONNECT.Indication, DATA.Indication, DISCONNECT.Indication – CONNECT.Response, DATA.Response, DISCO..
프로토콜 설계 시 고려 사항 1) 주소 표현 2) 오류 제어 3) 흐름 제어 4) 데이터 전달 방식 1) 주소 표현(Addressing) - 주소의 역할 : 서로를 구분하는 구분자 역할 - 주소의 활용도를 높이기 위하여 구조적 정보를 포함 전화번호: 국가 코드 – 지역 코드 - 번호 주민번호: yymmdd-abcdefg - 1:다 통신을 지원 브로드캐스팅(Broadcasting): 모든 호스트에 데이터 전달 멀티캐스팅(Multicasting): 특정 호스트에게 데이터 전달 2) 오류 제어(Error Control) - 데이터 링크 계층 : 인접 링크와의 물리적 오류 제어 - 전송 계층 : 상위 계층의 종단에서 논리적인 오류 제어 - 데이터 변형 오류: 데이터가 변경되어 수신자에게 도착 - 데이터 분실 오..