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

第 9 題

In operating system, which scheduling algorithm can obtain the shortest waiting time for all processes in average?
  • A First-Come-First-Served
  • B Priority scheduling
  • C Shortest-Job-First
  • D Round-Robin
  • E Multilevel Queue scheduling

思路引導 VIP

想像你正在一家只有一個櫃檯的小型診所擔任護理師,門外坐著三位病患:一位只需要領藥(3分鐘)、一位要做簡單檢查(10分鐘)、一位需要進行長時間的門診手術(60分鐘)。如果你希望這三個人在診間外「總共等待的時間」加起來越短越好,你會建議醫生按照什麼樣的順序來診治他們?為什麼不先處理最耗時的那位呢?

🤖
AI 詳解 AI 專屬家教

最短作業優先演算法(SJF)的優勢

恭喜你準確地掌握了作業系統排程的核心概念!你能迅速判斷出 最短作業優先(Shortest-Job-First, SJF) 是達成最小平均等待時間的關鍵,說明你對排程演算法的性能指標有很紮實的理解。 在理論上,SJF 被證明是**最佳化(Optimal)**的演算法。它的原理非常直觀:當我們優先處理執行時間最短的程序時,這些程序能快速離開系統,減少了後續大量程序在佇列中空等的時間。這就像在超市結帳時,讓拿著單一商品的顧客先排,能最有效地降低所有人加總起來的總等待時長。相較之下,若採用先來先服務(FCFS),一旦長任務排在前面,就會產生嚴重的「護航效應」(Convoy Effect),導致平均等待時間大幅增加。

▼ 還有更多解析內容

🏷️ 相關主題

計算機組織結構與資料儲存原理
查看更多「計算機概論與程式設計」的主題分類考古題