作為進程調度的準備,進程管理模塊必須將系統中各進程的執行情況和狀態特征記錄在各進程的PCB表中。根據各進程的狀態特征和資源需求等、進程管理模塊還將各進程的PCB表排成相應的隊列并進行動態隊列轉接。進程調度模塊通過PCB變化來掌握系統中存在的所有進程的執行情況和狀態特征,并在適當的時機從就緒隊列中選擇出一個進程占據處理機。
無論是在批處理系統還是分時系統中,用戶進程數一般都多于處理機數、這將導致它們互相爭奪處理機。另外,系統進程也同樣需要使用處理機。這就要求進程調度程序按一定的策略,動態地把處理機分配給處于就緒隊列中的某一個進程,以使之執行。
高級、中級和低級調度作業從提交開始直到完成,經歷三級調度:
高級調度:又稱作業調度,它決定把后備作業調入內存運行;
低級調度:又稱進程調度,它決定把就緒隊列的某進程獲得CPU;
中級調度:又稱在虛擬存儲器中引入,在內、外存對換區進行進程對換。