[理工] OS-Round-robin(RR)

看板Grad-ProbAsk作者 (zrae)時間11年前 (2012/11/18 19:18), 編輯推噓5(505)
留言10則, 2人參與, 最新討論串1/1
題目是 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

11/18 21:08, , 1F
24之後P3會先做才對 因為P3做完的時候P2還在I/O
11/18 21:08, 1F

11/18 21:10, , 2F
^9-14的
11/18 21:10, 2F

11/18 21:14, , 3F
還有洪兔友說I/O時間造理說是不能算在等待時間內的
11/18 21:14, 3F

11/18 21:14, , 4F
因為這段時間他還是有在做事(考試說明清楚就好)
11/18 21:14, 4F

11/18 21:48, , 5F
wake up時間不是18嗎?怎麼會24完就變成p3做呢?
11/18 21:48, 5F

11/18 21:50, , 6F
你要想像RR是有一個READY QUEUE
11/18 21:50, 6F

11/18 21:51, , 7F
做完的process就會進到READY QUEUE的尾端
11/18 21:51, 7F

11/18 21:52, , 8F
所以P3早在14的時候就進去了 P2 WAKE UP是18
11/18 21:52, 8F
所以想法是 一開始 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)

11/18 22:03, , 9F
恩 如果到達時間不同的話 就依序進入即可
11/18 22:03, 9F

11/18 22:05, , 10F
感恩^^
11/18 22:05, 10F
文章代碼(AID): #1GgCFqmy (Grad-ProbAsk)