28 最短剩餘時間優先(Shortest Remaining Time First, SRTF)排程法是作業系統中一種安排程序執行順序的方 法。假設有 5 個程序 P1、P2、P3、P4、P5,分別於時間 0、1、1、2、3 到達工作佇列,其所需的 CPU 執 行時間(CPU Burst Time)分別為 4、2、1、2、1,若以 SRTF 法排程,這 5 個程序的等待時間總和為何?
(A) 10
(B) 11
(C) 12
(D) 13

答案:登入後查看
統計: A(94), B(159), C(106), D(73), E(0) #2823812

詳解 (共 4 筆)

#5422755

首先將題目整理成表格

  CPU 執行時間  到達時間
P1 4 0
P2 2 1
P3 1 1
P4 2 2
P5 1 3

最短剩餘時間優先的意思是 在執行該程序的時候,若有新的程序插進來
並且該程序的執行時間較少,將會優先執行,並且暫停目前的程序
首先先執行P1,因為它的到達時間是0
()內為目前結束的時間

P1(1)


這時候遇上了P2、P3的到達時間(可以理解為"輪到它們開始執行的時間")
但是因為P3的執行時間比P2短,所以由P3先執行,同時P2先排在後面,P1的程序執行先就此打住<4-1=3>

P1(1) P3(2)


P3執行完畢後,原本應該是輪到P2,但這時遇上了P4的到達時間
但是P2的執行時間<1>跟P4的執行時間<1>是一樣的,所以P4的程序可以先擱置

P1(1) P3(2) P2(3)


這時P2執行到一半遇上了P5的到達時間,而P5的執行時間<1>跟P2的剩餘執行時間<2-1=1>一樣
所以也可以先把P5擱置

P1(1) P3(2) P2(4)


P2執行完畢後 剩下 P1 P4 P5 尚未執行,剩餘的執行時間分別為 3 2 1
P5的剩餘時間最少,所以接著是執行P5

P1(1) P3(2) P2(4) P5(5)


執行完畢後,還剩下P1 P4,而P4的剩餘執行時間最少,所以接著是執行P4

P1(1) P3(2) P2(4) P5(5) P4(7)


這時候還剩下還沒執行完畢的P1,所以最後執行P1

P1(1) P3(2) P2(4) P5(5) P4(7) P1(10)


這樣甘特圖就完成
接下來要計算處理時間(Turnaround time)
公式為 處理時間=最後執行結束時間-抵達時間

  P1 P2 P3 P4 P5
處理時間 10-0=10 4-1=3 2-1=1 7-2=5 5-3=2


最後是計算等待時間
公式為 等待時間=最後執行結束時間-抵達時間-執行時間

  P1 P2 P3 P4 P5
等待時間 10-4=6 3-2=1 1-1=0 5-2=3 2-1=1


題目是等待時間總和,所以答案是6+1+0+3+1=11

19
1
#5301633
6+1+0+3+1=11

(共 14 字,隱藏中)
前往觀看
13
0
#5682458
3
3
#5449157
p1 p2 p3 p4 p5  4   ...
(共 199 字,隱藏中)
前往觀看
0
1

私人筆記 (共 3 筆)

私人筆記#3836722
未解鎖
6+1+0+3+1=11

(共 14 字,隱藏中)
前往觀看
4
0
私人筆記#4300923
未解鎖
程序剩餘時間 3 0 1 0 0 1 0...
(共 224 字,隱藏中)
前往觀看
3
0
私人筆記#4109687
未解鎖
p1 p2 p3 p4 p5  4   ...
(共 197 字,隱藏中)
前往觀看
1
0