阿摩線上測驗 登入

申論題資訊

試卷:110年 - 110 民航特種考試_三等_飛航諮詢:資料處理#101068
科目:資料處理
年份:110年
排序:0

申論題內容

一、先到先服務演算法(First-Come First-Served, FCFS)、依序循環演算法 (Round Robin, RR)和最短作業優先演算法(Shortest Job First, SJF)為 三個常見的 CPU 排程演算法,請說明此三種排程演算法及其優缺點。 (25 分)

詳解 (共 1 筆)

詳解 提供者:hchungw

先到達的作業先被分配到 CPU,直到完成為止。

優點:

  • 簡單易懂且易於實現。
  • 不會出現饑餓問題,因為每個作業都會被處理。

缺點:

  • 可能導致長時間的等待,特別是當長作業在短作業之前到達時(稱為「車隊效應」)。
  • 平均等待時間可能較長,因為等待時間取決於先前作業的執行時間。

2. 依序循環演算法(Round Robin, RR)

說明: RR 演算法給每個作業分配一個固定的時間片(time slice),並按循環順序輪流分配 CPU 給每個作業。當一個作業的時間片用完時,若作業未完成,則將其放回隊列尾部,等待下一輪的 CPU 分配。

優點:

  • 平均等待時間較短,特別是在短作業較多的情況下。
  • 每個作業都會定期獲得 CPU 資源,避免了饑餓問題。

缺點:

  • 上下文切換的開銷較大,特別是當時間片設置較短時。
  • 如果時間片設置過長,RR 可能會退化為 FCFS。

3. 最短作業優先演算法(Shortest Job First, SJF)

說明: SJF 演算法選擇處理最短的作業,即預計執行時間最短的作業先被分配到 CPU。這可以是非搶佔式(Non-preemptive)或搶佔式(Preemptive),搶佔式版本稱為最短剩餘時間優先(Shortest Remaining Time First, SRTF)。

優點:

  • 平均等待時間最短,因為短作業優先處理減少了後續作業的等待時間。
  • 效率高,特別適合短作業多於長作業的情況。

缺點:

  • 需要預知每個作業的執行時間,這在現實中通常是不可能的。
  • 可能導致長作業的饑餓問題,特別是當短作業不斷到達時。

這三種排程演算法各有其適用的場景和特點,選擇合適的演算法需要根據系統的具體需求和作業負載特性來決定。