
프로세스 정의 - 실행 중인 프로그램(program in execution) - CPU를 할당하는 대상(dispatchable objects of CPU) - 시스템 내부에서의 작업 단위 (unit of works in system) - PCB에 존재하는 개체(entity of PCB) - 하나의 스래드(thread)로 구성된 태스크(task) - 비동기적(asynchronous) & 독립적이다. 프로세스 상태 - 준비(ready) : CPU 할당을 기다리고 있는 상태 - 실행(running) : CPU가 할당된 상태 - 대기(waiting) : 요청된 사건(ex: 입출력 사건) 발생이 처리되기를 기다리고 있는 상태 ex: C언어 프로그램 main() 함수 안에서 scanf() 함수를 만났을 때, 실행상..
운영체제 진입점: CPU의 PC 레지스터 값이 운영체제가 적재된 메모리 주소로 변경되는 사건을 말한다. 즉, 운영체제가 실행되는 사건을 의미한다. 다음 세 가지의 경우에 운영체제 진입점이 발생한다. - 시스템 호출(System Call): 사용자 프로그램과 운영체제 사이의 인터페이스 채널. 예) open(), read(), write(), - 인터럽트(Interrupt): CPU와 입출력 장치 사이의 인터페이스 채널. 예) 마우스, 키보드, 하드 디스크 인터럽트 - 예외현상(Exception): CPU 내부에서 발생하는 시스템 오류. 예) Divide by Zero, Page Fault … 이중 모드 : 다중 프로그래밍 환경에서 운영체제를 보호하기 위하여 이중 모드로 설계 - 사용자 모드: 사용자 프로그..
운영체제의 기능 - 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, 메모리, 디스크, 프린터, 키보드 등과 같은 하드웨어와 파일, 서비스 루틴과 같은 소프트웨..