毫無疑問,最簡單的 CPU 排程演算法是
先來先服務(FCFS)排程箅法。釆用這種方案,先請求 CPU 的進程首先分配到 CPU。
FCFS 策略可以通過 FIFO 佇列容易地實現。當一個進程進入就緒佇列時,它的 PCB 會被連結到佇列尾部。當 CPU 空閒時,它會分配給位於佇列頭部的進程,並且這個執行進程從佇列中移去。FCFS 排程程式碼編寫簡單並且理解容易。
FCFS 策略的缺點是,平均等待時間往往很長。假設有如下一組進程,它們在時間 0 到達,CPU 執行長度按 ms 計:
如果進程按 P
1、P
2、P
3 的順序到達,並且按 FCFS 順序處理,那麼得到如下 Gantt 圖所示的結果(這種 Gantt 圖為條形圖,用於顯示排程情況,包括每個進程的開始與結束時間):