Q95.
若有P1、P2、P3、P4 四個行程,每個行程的到達時間依序為第0 秒、第1 秒、第3 秒、第5 秒,而每個行程所需的時間依序為7 秒、5 秒、4秒、8 秒。若以最短工作先做排班法則(SJF)且是可搶先(Preemptive)的方式來排班,則其平均等待時間為何?
電腦軟體設計共同科目 · 乙級 · Q95
難易度分析
5 / 5
此題需要對作業系統排班邏輯有深入理解,且必須在多個時間點精確比較剩餘執行時間並處理搶先機制。由於涉及繁瑣的過程追蹤與數值計算,且容易在切換節點產生誤差,因此判定為較高難度。
正確答案:③5.75 秒
③ 5.75 秒:5.75 秒為正確答案。依搶先式最短工作先做 (SRTF) 排班:P1 先執行 1 秒 (剩 6),P2 到達後剩 5 秒較短故執行至完成 (等待 5),P1 繼續執行至第 6 秒時 P3 到達 (剩 4 秒),P3 剩 4 秒較短故優先執行 (等待 1),P1 再執行剩餘 4 秒 (等待 6),最後 P4 執行 (等待 11)。平均等待時間 = (6+5+1+11)/4 = 23/4 = 5.75 秒。
錯誤選項解析
- ① 5 秒:5 秒為錯誤答案。此數值可能來自簡化計算或誤用非搶先式 SJF 排班法則,未正確考量 P2 在第 6 秒搶先 P1 的關鍵時間點,導致等待時間計算偏低。
- ② 5.5 秒:5.5 秒為錯誤答案。此結果可能誤算了某個行程的完成時間,例如未正確計算 P4 的等待時間(P4 於第 5 秒到達,第 24 秒完成,等待時間為 11 秒),導致平均值偏差。
- ④ 6秒:6 秒為錯誤答案。此數值可能來自四捨五入或誤用 FCFS (先到先服務) 排班法則計算,未正確應用 SRTF 搶先機制 中比較剩餘執行時間的核心邏輯。
Learning Tip
"搶先式最短工作先做 (SRTF/Preemptive SJF) 的核心在於新行程到達時,需比較其所需時間與目前執行行程的剩餘時間,若新行程較短則立即搶先。常考陷阱為混淆非搶先式 SJF 與 SRTF 的差異:非搶先式需等目前行程執行完畢才重新排班,而搶先式會在中途切換。計算平均等待時間時,務必逐一繪製 Gantt 圖 確認各行程的到達、搶先、完成時間點,避免遺漏關鍵切換節點。"
學員答題分佈
①5 秒0%
②5.5 秒0%
③5.75 秒0%
④6秒0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!
相似類型題目
若有P1、P2、P3、P4 四個行程,每個行程的到達時間依序為第0 秒、第1 秒、第3 秒、第5 秒,而每個行程所需的時間依序為7 秒、5 秒、4秒、8 秒。若以最短工作先做排班法則(SJF)且是不可搶先(Nonpreemptive)的方式來排班,則其平均等待時間為何?
下列哪一種CPU 排班法會得到最短的平均等待時間?
有三個處理單元,X、Y 與Z,其進入預備佇列 (Ready Queue)之先後順序為X、Y、Z,其執行時間 (Burst Time)分別為20、5 與2 。經先來先服務 (First-Come-First-Serve)排班結果如下圖,則其平均等待時間 (Waiting Time)為下列那一項?
下列何種排程方法通常可使平均回應時間為最小?
下列CPU 排班程式(Scheduler),那一項是偏好等待時間長者?