推 connor70909:過年忙碌 感謝大家幫忙 02/02 16:24
昨天太晚睡所以沒講清楚 另外PO文XD 雖然我也沒補題庫班
不過這題應該算不難懂吧
假設那個P3做完P1又剛好做完I/O到 給P1做 甘特圖會很完美
前20ms甘特圖是這樣
|-P1-|-P2-|-P3-|-P3-|-P1-|-P3-|-P2-|-P3-|
1 2 3 4 5 6 7 8 9
總共8次context switch
1=(0,0.1) 2=(1,1.1) 3=(2,2.1) 4=6(P1和P2都在做I/O 繼續給P3)
5=(9.9,10) (爭議地方P1在9.9恰好做完I/O且P3恰好time quantum=3.9完畢,假設給P1)
6=(10.9,11) (P2在10.9做完I/O才抵達,但P3早就在ready queue等,所以給P3)
7=(14.9,15) 8=(15.9,16) 9=(19.9,20)
剛好在前20ms做完最後context switch再從P1開始
接著後面就變成超完美的甘特圖
規律"P1和P2一定再P3前0.1秒做完I/O,且P1做1次 P2做1次 P3做2次 循環"
假設從20ms開始好了 (39.1,40)也恰好做最後一次context switch 總共8次
甘特圖大概長這樣
|-P1-|-P3-|-P2-|-P3-|-P1-|-P3-|-P2-|-P3-|
1 2 3 4 5 6 7 8 9
1=(19.9,20) (P1在19.8恰好做完I/O)
2=(20.9,21) 3=(24.9,25) (P2在24.8恰好做完I/O)
4=(25.9,26) 5=(29.9,30) 6=(30.9,31)
7=(34.9,35) 8=(35.9,36) 9=(39.9,40) 繼續給P1類推
所以不算(19.9,20) 後面20ms (39.9,40)也恰好8次循環 超美的甘特圖
所以不管是19.2/20 還是38.4/40 都是96%
也就是說一開始P1進來P3時間到給P3繼續做 數字整個超醜 後面就不想畫了..
圖我是有畫 前20ms畫出來比較而已
如果按這規律 我猜前20ms有6次context switch 後面20ms會少於6次吧context switch
大概會變成P1做1次 P2做1次 P3做2次循環 但1個P3沒有context switch 直接做2次
且P2會很慢才進ready queue會一直被P3搶先做
看有沒有勇者畫出來看規律吧...
最後大家新年快樂@@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.231.27.121