프로세스를 스케줄링 하기 위한 3가지 큐가 존재한다.
각 큐에 프로세스들을 넣고 빼주는 scheduler에도 3가지 종류가 존재한다.
: Long-term scheduler는 Job scheduler라고도 하며, 보조기억장치에 존재하는 프로세스 중 어떤 프로세스를 주 메모리로 적재할지 결정하는 역할을 한다. 즉, Secondary storage에 저장되어 있는 프로세스가 사용자에 의해 메모리에 적재되고 ready 상태로 된다.
: Short-term Scheduler는 CPU scheduler라고도 하며, ready queue에 존재하는 프로세스들 중에서 어떤 프로세스를 running state로 만들지 결정한다.
: Medium-term Scheduler는 Swapper라고도 하며, 여유 공간 마련을 위해 프로세스를 통째로 메모리에서 디스크로 쫓아내고, 차후에 다시 프로세스를 메모리로 불러와서 중단되었던 지점부터 실행을 재개하는 swapping 과정을 진행한다. 이를 통해 다중 프로그래밍의 정도를 완하하고, 현 시스템에서 메모리에 너무 많은 프로개름이 동시에 올라가는 것을 조절한다.