跳至內容

作業系統設計/程序排程/FCFS

來自華夏公益教科書

先到先服務 (通常稱為 FIFO ‒ 先進先出) 程序排程演算法是最簡單的程序排程演算法。它很少在現代作業系統中使用,但有時用於其他排程系統內部。

FIFO 的行為類似於任何正常的佇列,無論是電影院的排隊、商店的收銀臺排隊,還是售票亭的排隊。第一個到達的人或程序 (先進) 是第一個得到處理的人 (先出)。如果一個人穿過隊伍然後決定忘記了一些東西,那麼他們必須重新穿過隊伍。

這正是使用這種設計的作業系統讓程式執行其業務的方式。一次一個人 (又名:程序)。

要實現這一點,您可以建立一個佇列,一種抽象資料型別 (ADT),可以由連結串列資料結構構建。系統可以從佇列前端出隊下一個程序,執行該程序直至完成 (或在更復雜的方案中將該程序入隊到佇列尾部),然後將該程序入隊到佇列尾部,允許下一個程序使用 CPU。

優點和缺點

[編輯 | 編輯原始碼]

優點

  • 簡單
  • 易於使用和理解
  • 先到先服務


缺點

  • 這種排程方法是非搶佔式的,也就是說,程序將一直執行到完成。
  • 由於這種非搶佔式排程,位於佇列尾部的短程序必須等待位於前端的長程序完成。
  • 吞吐量效率不高。
  • 它僅用於 I/O 效率不太重要的小型系統中。
華夏公益教科書