스케줄링
식당의 비유
- 식당에서는, 주방에서는 홀의 상황을 알기 어려움
- 이런 홀의 상황은 식당 관리자가 관리하고, 실제 요리는 요리사가 하도록 구분 되어 있음
- CPU 스케줄러가 이 식당 관리자의 역할을 맡아 줌
- 식당 관리자의 역할
- 예약 손님이 온다면, 다른 손님보다 먼저 들이기도 함
- 예약한 손님이 오지 않으면, 다른 손님을 앉히기도 함
- 주문을 받기도 함
- 손님이 아직 다 드시지 않았다면, 다른 손님 거 부터 주문을 받기도 함
- 손님의 개별적인 요구에도 응함
- 컴퓨터에서 발생하는 상황에 대입 해보면, 프로세스가 손님 역할이고 CPU가 요리사 역할, 위 역할들을 CPU 스케줄러가 한다고 생각하면 됨
- 크게 보면, 식당 관리자는 좌석 관리, 조리 순서 관리를 진행 함
스케쥴링
고수준 스케줄링
- 가장 큰 틀에서 이루어지는 CPU 스케줄링
- 손님을 무조건 많이 받으면, CPU 과부하가 걸리는데, 이를 방지하기 위해 시스템 내의 전체 작업 수를 조절하는 작업
- 작업 = 여러개의 프로세스 or 한개의 프로세스
- 어떤 작업을 시스템이 받아 들일지, 거부 할 지 정한다
- 전체 프로세스의 수 → 멀티 프로그래밍 정도
- 전체 손님의 수를 조절하는 작업
- 승인 스케줄링 이라고도 칭함
저수준 스케줄링
- 가장 작은 틀에서 이루어지는 CPU 스케줄링
- 어떤 프로세스에 CPU를 할당 할 지, 어떤 프로세스를 대기 상태로 보내는 지 등을 결정하는 스케줄링