國家安全情報人員考試五等考試-資訊組資料處理大意104 年第 19 題單選題
作業系統中,下列那個排程演算法,能在理論上得到最短的平均等待時間?
A先到先處理(FCFS)
B最短工作先處理(SJF)正確答案
C優先排班權(Priority)
D依序循環排班(RR)
B正確答案
SJF(最短工作先處理)理論上可得到最短平均等待時間,是排程演算法的最佳解。
為什麼答案是 B
SJF 優先執行 CPU 執行時間最短的工作,數學上可證明能得到「最小平均等待時間」,為理論最佳排程。但實務上難以預知工作長度,且長工作可能飢餓。
載入中…
完整詳解
Pro · 無限重點 SJF(最短工作先處理)理論上可得到最短平均等待時間,是排程演算法的最佳解。
看到「最短平均等待時間」直接選 SJF,這是作業系統的經典定理。
逐選項分析
A✕
FCFS 依到達順序處理,若先到的是長工作會造成「護衛效應」(Convoy Effect),後面短工作被迫等待,平均等待時間通常較長。
B✓ 正確
SJF 優先執行 CPU 執行時間最短的工作,數學上可證明能得到「最小平均等待時間」,為理論最佳排程。但實務上難以預知工作長度,且長工作可能飢餓。
C✕ 陷阱
Priority 依優先權排程,低優先權工作可能飢餓 (Starvation)。平均等待時間取決於優先權設定,不保證最短。SJF 其實是 Priority 的特例(以執行時間為優先權)。
D✕
RR 採時間配額輪流執行,公平性佳、反應時間短,適合分時系統。但因頻繁切換 context,平均等待時間通常比 SJF 長。
四大排程演算法比較
| 演算法 | 策略 | 平均等待時間 | 缺點 |
|---|
| FCFS | 先到先做 | 較長 | 護衛效應 |
| SJF | 短工作優先 | ★理論最短 | 長工作飢餓、難預測 |
| Priority | 依優先權 | 視設定而定 | 飢餓問題 |
| RR | 時間配額輪流 | 中等 | 切換成本高 |
考生常誤以為 RR「公平」就等於「等待時間短」,其實 RR 優化的是「反應時間」而非「平均等待時間」。記住:SJF 才是平均等待時間的理論最佳解。