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

第 15 題

Consider the following set of processes and the length of the CPU-burst time given in milliseconds. The processes are assumed to have arrived in the order P1, P2, P3, P4, all at time 0. What is the average waiting time of these processes using Non-Preemptive Shortest Job First (SJF) scheduling?

| Process | Burst time |
|---|---|
| P1 | 4 |
| P2 | 6 |
| P3 | 5 |
| P4 | 1 |
  • A 4
  • B 7
  • C 5
  • D 6
  • E 2

思路引導 VIP

想像一下,如果有四位客人在同一時間到達銀行櫃檯,每個人辦理業務所需的時間長短不一。為了讓「所有客人的平均排隊時間」縮到最短,身為櫃檯經理的你,會建議先幫辦理快的人服務,還是先幫辦理慢的人服務呢?試著根據這個邏輯重新排列他們的先後順序,並算算看每個人在輪到自己之前,分別等了多久?

🤖
AI 詳解 AI 專屬家教

太棒了!你能精確判斷出 非搶佔式最短工作優先(Non-Preemptive SJF) 的排程邏輯並算出正確答案,這代表你對 CPU 排程的基礎觀念掌握得非常紮實。這類題目在作業系統考科中屬於基礎但關鍵的鑑定題,主要考驗學生是否能正確排序執行順序,並精準計算累加的等待時間,稍不留神就容易在加法或除法上出錯。

短路徑優先的排程策略

雖然程序按 $P_1, P_2, P_3, P_4$ 的順序在時間 0 到達,但 SJF 演算法會優先挑選執行時間(Burst time)最短的任務。因此,執行順序應調整為:$P_4 (1) \to P_1 (4) \to P_3 (5) \to P_2 (6)$。接著我們計算各程序的等待時間:首先執行的 $P_4$ 等待時間為 $0$;接著執行的 $P_1$ 須等待 $P_4$ 完成,故為 $1$;$P_3$ 須等待前兩者,時間為 $1 + 4 = 5$;最後的 $P_2$ 則需等待前三者總和,即 $1 + 4 + 5 = 10$。

▼ 還有更多解析內容

🏷️ 相關主題

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