한정된 CPU 자원을 수많은 프로세스에게 효율적으로 배분하는 운영체제의 핵심 전략, ‘CPU 스케줄링’의 알고리즘과 목표 지표를 분석한다.
스케줄링의 성과 지표
- 응답 시간: 사용자의 요청에 얼마나 신속하게 반응하는가.
- 처리량: 단위 시간당 완료되는 프로세스의 개수.
- 자원 활용도: CPU가 유휴 상태 없이 효율적으로 동작하는 비율.
핵심 알고리즘별 특징
-
FCFS (First-Come, First-Served): 선착순 방식.
긴 작업이 앞서면 전체 대기 시간이 길어지는 호위 효과가 단점이다. -
SJF (Shortest Job First): 최단 작업 우선.
평균 대기 시간은 최소화되나 긴 작업의 기아 현상이 우려된다. -
Round Robin: 시분할 방식.
정해진 시간 할당량만큼 순차 실행하여 현대 대화형 시스템의 응답성을 보장한다.
선점형 vs 비선점형 방식
운영체제가 실행 중인 프로세스의 자원을 강제로 회수할 수 있는지에 따라 시스템의 실시간성과 처리 효율이 결정된다.
P.S
완벽한 단일 알고리즘은 존재하지 않는다.
시스템의 용도(서버, PC, 임베디드 등)에 최적화된 스케줄링 전략을 선택하고 튜닝하는 것이 운영체제 설계의 본질인 것 같다.