스케줄링은 다중 프로그래밍을 가능하게 하는 운영체제의 동작 기법이다.
운영체제는 프로세스들에게 CPU등의 자원 배정을 적절히 함으로써 시스템의 성능을 개선할 수 있다.
공정성 : 모든 프로세스에 공정하게 할당합니다.
처리율(량)증가 : 단위 시간당 프로세스를 처리하는 비율(양)을 증가시킵니다.
CPU 이용률 증가 : 프로세스 실행 과정에서 주 기억장치를 액세스한다든지, 입출력 명령실행 등의 원인에 의해 발생할 수 있는 CPU의 낭비 시간을 줄이고, CPU가 순수하게 프로세스를 실행하는데 사용되는 시간 비율을 증가시킵니다.
우선순위 제도 : 우선순위가 높은 프로세스를 먼저 실행합니다.
오버헤드 최소화 : 오버헤드를 최소화합니다.
응답시간 최소화 : 작업을 지시하고 반응하기 시작하는 시간을 최소화합니다.
반환시간 : 프로세스를 제출한 시간부터 실행이 완료되는 시간을 최소화합니다.
반환시간 최소화 : 프로세스를 제출한 시간부터 실행이 완료될떄까지 걸리는 시간을 최소화합니다.
대기시간 최소화 : 프로세스가 준비상태 큐에서 대기하는 시간을 최소화합니다.
균형있는 자원의 사용 : 메모리, 입출력장치 등의 자원을 균형있게 사용합니다.
무한 연기 회피 : 자원을 사용하기 위해 무한정 연기되는 상태를 회피합니다.