CPU 스케줄링은 실행 가능한 작업 중 어느 작업에 언제 CPU를 배정할지 정하는 운영체제 정책이다.
원리
처리량, 반환 시간, 응답 시간, 공정성 같은 목표가 서로 영향을 준다. 선점 여부와 시간 할당량 등에 따라 작업이 실행되는 순서가 달라진다.
예시
긴 계산 작업과 대화형 작업이 함께 있을 때 짧은 시간 단위로 실행 기회를 나누면 대화형 응답을 개선할 수 있다.
주의할 점
모든 지표를 동시에 최적화하는 단일 정책은 없다. 작업 길이를 미리 안다는 교재의 가정과 실제 부하를 구별하고 전환 비용과 기아 가능성도 고려한다.