토픽 13 / 85·CPU 스케줄링
스케줄링 알고리즘
스케줄링 알고리즘
CPU를 어떤 프로세스에 할당할지 결정하는 규칙 및 정책
특징: 선점/비선점, 기아 가능성, 공정성, 응답성 트레이드오프
FCFS: 도착 순서대로 할당, 비선점, 기아 없음, Convoy Effect(긴 작업 뒤 대기)
SJF: 최단 burst 우선, 비선점, 최적 평균 대기시간, burst 예측 불가, 기아 가능
SRTF: SJF 선점형, 남은 시간 비교 선점, 이론적 최적, 잦은 컨텍스트 스위칭
Priority: 우선순위 기반, 선점/비선점, 기아→Aging 해결, 역전→PIP 해결
RR: 시간 할당량(q) 부여, 선점, 공정, 기아 없음, q 설정이 핵심(10-100ms)
MLQ(다단계 큐): 유형별 별도 큐, 큐 간 이동 불가, 각 큐 독립 알고리즘
MLFQ(다단계 피드백 큐): 큐 간 이동 허용, CPU-bound→하위 강등, I/O-bound→상위 유지, Boosting으로 기아 방지
비교표
적용사례: Linux CFS, Windows 우선순위 기반, Real-Time(EDF, Rate Monotonic)
연관: 스케줄링, Round Robin, 컨텍스트 스위칭, 시간 할당량