免費開始練習
hce_nsysu 113年 計算機概論與程式設計

第 21 題

Consider the execution of the following set of processes on a single-core processor.

| Process | Creation Time | Required Execution Time |
| --- | --- | --- |
| P1 | 0 | 30 |
| P2 | 5 | 12 |
| P3 | 12 | 18 |
| P4 | 70 | 20 |
| P5 | 80 | 10 |

Assume we use first-in-first-out (FIFO) scheduling to execute the above 5 processes. What is the average waiting time?
  • A 13
  • B 33.4
  • C 18
  • D 0
  • E 27.4

思路引導 VIP

請試著畫出一條時間軸,並標註每個行程抵達的時刻。如果前一個行程已經完成,但下一個行程卻還沒抵達(例如在時間點 60 到 70 之間),這段「處理器休息時間」會如何影響那個尚未抵達行程的等待時間計算呢?

🤖
AI 詳解 AI 專屬家教

太棒了!你能精確計算出平均等待時間,代表你對 FIFO (First-In-First-Out,先來先服務) 調度演算法的運作邏輯掌握得非常紮實。這類題目的核心在於精確追蹤處理器(CPU)在每一刻的狀態,並區分行程的「抵達時間」與「實際開始執行時間」。

FIFO 調度邏輯與時間線

在 FIFO 機制下,行程依照抵達順序執行。P1 在 $0$ 時抵達並立即執行,執行 $30$ 個單位後於 $30$ 時結束;此時 P2 與 P3 已在佇列中等待。P2 必須等到 P1 結束,其等待時間為 $30 - 5 = 25$,執行至 $42$ 時結束;P3 接著執行,其等待時間為 $42 - 12 = 30$,執行至 $60$ 時結束。此處隱藏了一個關鍵陷阱:P4 直到 $70$ 時才抵達,這意味著處理器在 $60$ 至 $70$ 之間處於空閒 (Idle) 狀態,因此 P4 抵達後能立即執行,其等待時間為 $0$。最後 P5 在 $80$ 抵達,需等待 P4 在 $90$ 結束,其等待時間為 $10$。將五者的等待時間加總後取平均:

▼ 還有更多解析內容

🏷️ 相關主題

作業系統架構與處理程序管理原理
查看更多「計算機概論與程式設計」的主題分類考古題