
운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다.

CPU는 메모리에서 Instruction 읽어서 실행하는 역할. CPU는 매 instruction 실행하고 IO 디바이스 직접 접근하지 않는다. CPU는 메모리와 일한다. mode bit이 운영체제인지 사용자 프로그램인지 구분해줌, interrupt를 cpu에 전달

프로세스의 문맥(Context)은 특정 시점에서 프로세스가 어디까지 실행되었는지를 나타내는 정보. 이 문맥은 주로 하드웨어 문맥과 프로세스의 주소 공간, 그리고 커널 자료 구조로 구성된다.

프로세스: 실행 중인 프로그램!프로세스의 문맥(context): 프로세스의 수행 정보 PCB(Process Control Block): 운영체제가 각 프로세스를 관리하기 위해 프로세스당 유지하는 정보를 담고 있는 데이터 구조

프로세스의 생성, 프로세스의 종료, 시스템콜, 프로세스간 협력

CPU burst: 프로세스가 CPU를 사용하여 작업 수행하는 단계 , I/O burst: 입출력 작업을 수행하는 단계사용자 프로그램은 CPU burst와 I/O burst를 반복하며 실행됨

Multilevel Queue / Multilevel Feedback Queue / Multiple-Processor Scheduling

Process Synchronization - Race condition
Mutual Exclusion, Progress, Bounded Waiting | Semaphores | Deadlock | Starvation

세마포어 vs. Monitor

일련의 프로세스들이 서로가 가진 자원을 기다리며 block 된 상태.

Deadlock 처리 방법

Logical addrss: 프로세스마다 독립적으로 가지는 주소 공간 | Physical address: 메모리에 실제 올라가는 위치주소

Paging: 가상 메모리(virtual memory)를 물리적 메모리(physical memory)로 매핑하는 방법 중 하나

Segmentation