SRTF

실행 중인 프로세스의 남은 실행 시간보다 짧은 프로세스가 도착하면 CPU를 빼앗는 선점형 스케줄링 알고리즘으로, SJF의 선점 버전입니다.

동작 방식

P1(7ms) 실행 중, P2(4ms) 도착

P1 남은 시간(5ms) > P2 실행 시간(4ms)
→ P2가 CPU 선점

P1[──]P2[────]P1[─────]
 0  2    6      11ms

예시

프로세스도착 시간실행 시간
P10ms7ms
P22ms4ms
P34ms1ms
0ms: P1 실행
2ms: P2 도착(4ms) < P1 남은 시간(5ms) → P2 선점
4ms: P3 도착(1ms) < P2 남은 시간(2ms) → P3 선점
5ms: P3 완료 → P2 재실행
7ms: P2 완료 → P1 재실행
12ms: P1 완료

SJF vs SRTF

SJFSRTF
선점 여부X 비선점O 선점
기준전체 실행 시간남은 실행 시간
평균 대기 시간최적에 가까움최적
문맥 교환적음많음
기아 발생OO

장단점

장점단점
평균 대기 시간 최소화실행 시간 예측 어려움
짧은 작업 빠르게 처리긴 작업 기아 발생 가능
SJF보다 응답성 좋음문맥 교환 비용 증가

SRTF는 이론적으로 평균 대기 시간이 최적이지만, 실행 시간을 미리 알기 어렵고 문맥 교환 비용이 크기 때문에 실제 OS보다는 이론/성능 분석의 기준점으로 주로 활용됩니다.

CSLOG에서 보기