作業系統設計/程序排程/FCFS
外觀
< 作業系統設計
先到先服務 (通常稱為 FIFO ‒ 先進先出) 程序排程演算法是最簡單的程序排程演算法。它很少在現代作業系統中使用,但有時用於其他排程系統內部。
FIFO 的行為類似於任何正常的佇列,無論是電影院的排隊、商店的收銀臺排隊,還是售票亭的排隊。第一個到達的人或程序 (先進) 是第一個得到處理的人 (先出)。如果一個人穿過隊伍然後決定忘記了一些東西,那麼他們必須重新穿過隊伍。
這正是使用這種設計的作業系統讓程式執行其業務的方式。一次一個人 (又名:程序)。
要實現這一點,您可以建立一個佇列,一種抽象資料型別 (ADT),可以由連結串列資料結構構建。系統可以從佇列前端出隊下一個程序,執行該程序直至完成 (或在更復雜的方案中將該程序入隊到佇列尾部),然後將該程序入隊到佇列尾部,允許下一個程序使用 CPU。
優點
- 簡單
- 易於使用和理解
- 先到先服務
缺點
- 這種排程方法是非搶佔式的,也就是說,程序將一直執行到完成。
- 由於這種非搶佔式排程,位於佇列尾部的短程序必須等待位於前端的長程序完成。
- 吞吐量效率不高。
- 它僅用於 I/O 效率不太重要的小型系統中。