더북(TheBook)

선점형 스케줄링

선점형 스케줄링(preemptive scheduling)스케줄러가 실행 중인 프로세스를 중단시키고 다른 프로세스를 실행할 수 있음을 의미한다. 해당 알고리즘으로는 RR(Round Robin) 스케줄링, SRTF(Shortest Remaining Time First) 스케줄링, 멀티 레벨(multi level) 스케줄링이 있다.

RR 스케줄링: 비선점형 스케줄링과 달리 프로세스 간 우선순위가 없다. 모든 프로세스를 순서대로 일정 시간 동안 실행하며, 일정 시간을 초과하면 다른 프로세스를 실행한다. 여기서 일정 시간은 ‘시간 단위’를 의미하며 타임 퀀텀(time quantum) 또는 타임 슬라이스(time slice)라고도 한다. 일반적으로 시간 단위는 10~100밀리초다. 콘텍스트 스위칭이 빈번하게 일어나서 오버헤드가 크다는 단점이 있지만, 모든 프로세스가 반복 수행되어 응답 속도가 빠르다는 장점도 있다.

SRTF 스케줄링: 준비 큐에서 대기 시간이 가장 짧게 남은 프로세스(shortest remaining time)를 우선 수행(first)하는 알고리즘이다. 한 프로세스가 실행 중일 때 실행 시간이 더 짧은 프로세스가 준비 큐에 들어오면 실행 시간이 더 짧은 프로세스가 CPU를 차지하게 된다. 평균 대기 시간이 짧다는 장점이 있지만, 수행 시간이 긴 프로세스는 기아 상태가 되기 쉽다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.