看板 Grad-ProbAsk 關於我們 聯絡資訊
題目是 p1:cpu burst(11 times) p2:cpu burst(4times) -> I/O(9times) ->CPU burst(3times) p3:cpu burst(8times) p4:cpu burst(6times) please draw the Gantt chart and calculate the average waiting time when system applies round-robin algorithm(time quantum=5) 我的解答是 ans: --------------------------------------------------------------> p1 | p2 | p3 | p4 | p1 | p2 | p3 | p4 | p1 | --------------------------------------------------------------> 0 5 9 14 19 24 27 30 31 32 p1: 11 -> 6 ->1 ->0 p2: 4 -> 0 , 在18秒時wake up p3: 8 -> 3 -> 0 p4: 6 -> 1 -> 0 average wating time = ( (19-5)+ (31-24) + (5-0)+(24-9) + (9-0)+(27-14) + (14-0)+(30-19) ) /4 = 22 我比較不確定的是 在p2的部分 我知道在18秒wake up但應該也是不能插隊吧?就是趕在p1之前就出來.. 不知道對不對也沒有答案 所以請教各位大大惹.. 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.177.194
Bearcome:24之後P3會先做才對 因為P3做完的時候P2還在I/O 11/18 21:08
Bearcome: ^9-14的 11/18 21:10
Bearcome:還有洪兔友說I/O時間造理說是不能算在等待時間內的 11/18 21:14
Bearcome:因為這段時間他還是有在做事(考試說明清楚就好) 11/18 21:14
keke0421:wake up時間不是18嗎?怎麼會24完就變成p3做呢? 11/18 21:48
Bearcome:你要想像RR是有一個READY QUEUE 11/18 21:50
Bearcome:做完的process就會進到READY QUEUE的尾端 11/18 21:51
Bearcome:所以P3早在14的時候就進去了 P2 WAKE UP是18 11/18 21:52
所以想法是 一開始 P1 P2 P3 P4 之後P1執行完後-5,新的QUEUE變成 P2 P3 P4 P1 之後P2 -4 跑去做IO 不再ready queue 所以queue變成 P3 P4 P1 之後P3再扣-5,所以QUEUE變成 P4 P1 P3 直到WAKE UP,此時QUEUE才會在加回來P2,P2才可以開始搶CPU? 這樣的想法對嗎 ※ 編輯: keke0421 來自: 114.37.177.194 (11/18 21:58)
Bearcome:恩 如果到達時間不同的話 就依序進入即可 11/18 22:03
keke0421:感恩^^ 11/18 22:05