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),導致平均等待時間大幅增加。
▼ 還有更多解析內容