Scheduling Basics

CPU 스케줄링 기준

스케줄러는 ready queue에서 다음 실행 대상을 고른다. 응답 시간, 처리량, 공정성, deadline은 서로 충돌할 수 있어 평가 기준을 분리해야 한다.

01

상태 전이 검토

new, ready, running, waiting, terminated 사이를 어떤 이벤트가 이동시키는지 확인한다.

02

선점 가능성 구분

timer interrupt로 실행 중 프로세스를 ready로 돌릴 수 있으면 응답성이 좋아지지만 overhead가 생긴다.

03

평가 지표 선택

batch 처리와 interactive system은 스케줄링 판단 기준이 다르다.

Waiting time
ready queue 대기 CPU를 받을 수 있는데 기다린 시간이다.
공정성 체감에 영향이 크다.
Turnaround
도착부터 완료 작업 전체 완료 시간을 본다.
batch 작업 평가에 유용하다.
Response
첫 반응까지 사용자 입력 뒤 첫 출력까지의 시간을 본다.
interactive system에서 중요하다.
Throughput
단위 시간 완료 수 시스템 전체 처리량을 나타낸다.
개별 지연과 충돌할 수 있다.

상태 · 선점 · 지표 점검

상태 running에서 waiting으로 가는 원인과 ready로 돌아오는 원인을 구분하는가.
선점 알고리즘이 CPU를 중간에 빼앗을 수 있는지 말할 수 있는가.
지표 문제에서 최소화하려는 값이 waiting인지 response인지 turnaround인지 확인했는가.

상태 흐름

ready -> running -> waiting(I/O) -> ready
running -> ready(timer preemption)