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?
| 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$。將五者的等待時間加總後取平均:
▼ 還有更多解析內容