더북(TheBook)

1.3.2 스케줄링의 단계 중요도 ★★★

스케줄링은 장기 스케줄링, 중기 스케줄링, 단기 스케줄링으로 나뉜다. 1.2.4 프로세스 상태도에서 스케줄링이 일어나는 시점을 보면 다음 그림과 같다.

장기 스케줄링(long-term scheduling): 준비 큐에 어떤 프로세스를 넣을지 결정해 메모리에 올라가는 프로세스 수를 조절한다. 잡 스케줄링(job scheduling) 또는 승인 스케줄링(admission scheduling)이라고도 한다. 현대 운영체제에서는 시분할 시스템을 사용하기 때문에 대부분 사용하지 않는다.

중기 스케줄링(mid-term scheduling): 메모리에 로드된 프로세스 수를 동적으로 조절한다. 메모리에 프로세스가 많이 로드되면 스왑 아웃(swap out)해서 일부 프로세스를 통째로 저장한다. 스왑 아웃된 프로세스는 중단 상태(suspended)가 된다. 중단 상태는 준비 상태에서 스왑 아웃된 ‘중단된 준비 상태’와 대기 상태에서 스왑 아웃된 ‘중단된 대기 상태’로 구분된다.

단기 스케줄링(short-term scheduling): 준비 큐에 있는 대기 상태 프로세스 중 어떤 프로세스를 다음으로 실행할지 스케줄링 알고리즘으로 결정한다. 즉, 어떤 프로세스를 디스패치할지 결정하는데, 이를 CPU 스케줄링이라고도 한다.

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