OS 사용자가 컴퓨터를 쉽게 사용하도록 돕고 한정된 하드웨어 자원을 효율적으로 관리하는 중재자 역할 프로세스 관리: 실행 중인 프로그램 (프로세스)들을 관리, CPU 시간을 공정하게 분배 (스케줄링) 메모리 관리: 한정된 메모리를 여러 프로세스에 할당, 가상 메모리
프로그램: 디스크에 저장된 수동적 실체프로세스: 메모리에서 실행중인 능동적 실체프로세스 : 실행 중인 프로그램, OS가 자원을 할당하는 작업의 기본 단위하나의 프로그램은 여러개의 프로세스로 구성될 수 있고, 사용자는 같은 프로그램을 여러개의 프로세스로 동시에 실행 시킬
Cpu scheduler: ready queue에 있는 프로세스를 선택 Scheduling Criteria context switching 시간은 고려하지 않는다 CPU Utilization : CPU를 사용하는 시간 Throughput : 단위시간당 실행된 프
요약 Deadlock: 프로세스들이 서로가 가진 자원을 기다리며 무한 대기에 빠지는 상황 발생 조건은 4가지(Mutual Exclusion / Hold & Wait / No Preemption / Circular Wait)가 있으며, 이 중 하나만 깨도 예방 가능

프로그램 실행하려면 cpu는 실행할 명령어와 데이터를 메모리에서만 가져올 수 있음 디스크에 있ㅇ

Demand Paging은 프로그램의 모든 페이지를 미리 메모리에 올리지 않고, 실제로 필요해질 때만 로드하는 방식이다.이로 인해 발생하는 Page Fault는 디스크 I/O를 동반하므로 비용이 매우 크며, 이를 최소화하기 위해 Page Replacement 알고리즘,
스토리지는 HDD와 SSD로 나뉘며, HDD는 Seek + Rotation이 성능 병목이고 SSD는 Page Write / Block Erase 제약이 핵심이다. SSD는 이를 해결하기 위해 FTL과 Garbage Collection을 내부적으로 사용한다. HDD에서는