CPU 스케줄러는 프로세서 스케줄러 라고도 함
- 스케줄링
여러 프로세스의 상황을 고려하여 CPU 와 시스템 자원을 어떻게 배정할 지 결정하는 일
- 스케줄링의 단계
관리의 범주를 나누어 스케눌링
- 고수준 스케줄링
가장 큰 틀에서 이루어지는 CPU 스케줄링
시스템 내의 전체 작업 수를 조절하며 실행 가능한 프로세스의 총 개수가 정해짐
어떤 작업을 시스템이 받을 지 말지 결정하므로 승인 스케줄링 이라고도 함
- 중간 수준 스케줄링
시스템의 부하를 조절하는 스케줄링
시스템 과부하로 프로세스 수 조절 시 이미 활성화된 프로세스 중 일부를 보류 상태로 보냄
- 저수준 스케줄링
실제 작업이 이루어지는 스케줄링
프로세스를 관리함
준비 상태에 있는 프로세스 선택, 기준에 따른 타임 슬라이스에 따라 시스템 성능에 많은 영향 끼침
- 스케줄링의 목적
시스템의 안전성과 효율성을 높이기 위해 우선 순위 프로세스를 처리하므로 일정 부분 공형성 희생
- 공평성
모든 프로세스가 자원을 공평하게 배정받아야 함
- 효율성
시스템 자원이 유휴 시간 없이 사용되도록 해야 하며 유휴 자원 사용하려는 프로세스에 우선권 줘야 함
- 안정성
우선 순위를 중요 프로세스가 먼저 배정받아서 프로세스를 보호해야 함
- 확장성
프로세스가 증가해도 시스템이 안정적으로 작동하도록 조치해야 함
시스템 자원이 늘어나는 경우 혜택이 시스템에 반영되게 해야 함
- 반응 시간 보장
적절한 시간 안에 프로세스의 요구에 반응하여 사용자에게 응답해야 함
- 무한 연기 방지
특정 프로세스의 작업이 무한히 연기되면 안 됨