關務人員考試關務四等-資訊處理(選試英文)科別計算機概要114 年第 25 題單選題
那一種 CPU 排程演算法(CPU scheduling)可以對一組程序(process)產生最短的平均等待時間(waiting time)?
A最短工作先做(shortest-job-first)排程演算法正確答案
B優先權(priority)排程演算法
C先到先服務(first-come, first-served)排程演算法
D依序循環排程(round-robin)演算法
A正確答案
SJF(最短工作先做)理論上可得到最短的平均等待時間,是 OS 經典定理。
為什麼答案是 A
SJF 每次挑執行時間最短的 process 先做,數學上可證明能得到最小的平均等待時間,是最佳化(optimal)排程。但缺點是需預知執行時間,且長工作可能飢餓(starvation)。
載入中…
完整詳解
Pro · 無限重點 SJF(最短工作先做)理論上可得到最短的平均等待時間,是 OS 經典定理。
看到『最短平均等待時間』直接選 SJF,這是作業系統課本鐵律。
逐選項分析
A✓ 正確
SJF 每次挑執行時間最短的 process 先做,數學上可證明能得到最小的平均等待時間,是最佳化(optimal)排程。但缺點是需預知執行時間,且長工作可能飢餓(starvation)。
B✕
優先權排程依 priority 高低決定執行順序,與工作長短無關,平均等待時間不一定最短,且低優先權 process 易飢餓。
C✕ 陷阱
FCFS 按到達順序執行,若長工作先到會造成『護航效應』(convoy effect),短工作卡在後面,平均等待時間通常很長。
D✕
Round-Robin 以時間配額(time quantum)輪流執行,著重公平性與回應時間(response time),不保證平均等待時間最短。
CPU 排程演算法比較
| 演算法 | 原則 | 平均等待時間 | 主要缺點 |
|---|
| FCFS | 先到先服務 | 較長 | 護航效應 |
| SJF | 最短工作先做 | 最短(最佳) | 需預知時間、飢餓 |
| Priority | 優先權高先做 | 不一定 | 低優先權飢餓 |
| Round-Robin | 時間配額輪流 | 中等 | quantum 難調 |
考生常把『平均等待時間最短』與『回應時間最短』混淆。SJF 贏在等待時間,RR 贏在回應時間與公平性。另外要記得 SJF 是『理論最佳』但實務難實作,因為無法精準預知執行長度。