FCFS, SJF/SRTF, RR의 대기 시간 트레이드오프

기본 스케줄링 알고리즘은 평균 대기 시간, 응답성, 공정성, 예측 가능성을 서로 다른 방식으로 교환한다.

01

FCFS

도착 순서대로 처리해 단순하지만 긴 작업 앞에서 convoy effect가 생긴다.

A6 B2 C
convoy
02

SJF

짧은 작업을 먼저 처리하면 평균 대기 시간이 줄지만 burst 예측이 필요하다.

C B2 A6
shortest
03

SRTF

더 짧은 남은 시간이 들어오면 선점해 평균 시간을 더 줄일 수 있다.

A C A B
preemptive
04

RR

타임 퀀텀마다 돌아가며 실행해 응답성을 얻지만 문맥 전환 비용이 생긴다.

A B C A A
time quantum
평균 대기
SJF/SRTF는 평균 대기 시간을 낮추는 데 강하다. 긴 작업 starvation을 막기 위한 aging이 필요할 수 있다.
short job bias
응답성
RR은 interactive workload에서 첫 응답을 빠르게 만든다. quantum이 너무 작으면 context switch overhead가 커진다.
quantum tuning
예측성
FCFS는 예측 가능하지만 사용자 체감 지연이 커질 수 있다. batch 작업에는 단순성이 장점이 될 수 있다.
batch friendly

평가식

turnaround = completion - arrival
waiting = turnaround - burst
response = first_run - arrival