104清大計系第二題

作者: h9638512 (馬吉叫我辦的)   2016-11-15 22:29:18
想請教一下第二題在問什麼?
看不懂題目的意思
http://i.imgur.com/3SZy80N.jpg
作者: h9638512 (馬吉叫我辦的)   2016-11-20 10:47:00
非常感謝各位的回答
作者: ken52011219 (呱)   2016-11-16 00:01:00
這題應該是OS 恐龍本的習題A. 可以使該 Process 跑複數次B. 優勢: 不用變換Scheduler Algorithem 就可以保證
作者: kyuudonut (善良老百姓)   2016-11-16 00:05:00
可以讓它pritority較高的意味 獲得的時間會相對比較多
作者: ken52011219 (呱)   2016-11-16 00:06:00
藉由複數的pointer 來完成以下兩項事情1. 重要的Process可以藉由多次的running來完成2.避免Low-priority 的process被餓死劣勢: Context Switch 變更多C. 允許 quantum time 依情況不同而改變關於題目 它是指 Ready Queue 中 你可以把它想像成「Link list」別想像成 Array , 我在每個Process某個Process 旁邊接了複數個 Link 指向自己Dispatcher依照順序,Process 會持續重複的被select這個功用目的 優劣是為何context switch會增加 是因為每次 time quantum到了之後 time interrupt被觸發 dispatcher會先將原process的 資料傳回 在載入下一個PCB 不管前後process是否是一樣的
作者: windwaker112 (阿茄)   2016-11-16 10:47:00
他怎麼避免low-priority process 餓死,是指原本RR本身的功能嗎?
作者: ken52011219 (呱)   2016-11-16 10:52:00
我的理解是 因為 RR 是平均給予process time quantum
作者: aa06697 (todo se andarà)   2016-11-16 10:53:00
時間到就會換~大家一定都輪得到
作者: ken52011219 (呱)   2016-11-16 10:54:00
若要避免Low-priority process starvation 只要在該輪中給它加入pointer 就可避免
作者: windwaker112 (阿茄)   2016-11-16 11:16:00
我的誘惑是避免飢餓不是本身rr就有的特性嗎?這樣算是這個做法的"優點"嗎?這個做法會讓原本平衡的time sharing不公平不是有機會造成飢餓,反而是劣勢@@?
作者: ken52011219 (呱)   2016-11-16 11:46:00
RR算是FCFS 藉著time quantum 來preemptive 依然有可能starvation雖然照你說好像真的哪裡怪怪的 QQ剛剛看洪逸筆記真的如wind大所說的
作者: windwaker112 (阿茄)   2016-11-16 12:02:00
沒關係我們一起QQ,OS簡直天坑
作者: ken52011219 (呱)   2016-11-16 12:12:00
我是這麼猜想的 洪逸說的公平和避免飢餓是在Process完成時間並無限制的情況下,可以達到該效果而實際上各 Process 皆會有一個限制時間很難真得藉由RR達到實際情況的公平順便提供一下剛剛找的解答http://imgur.com/a/k2Q3h
作者: windwaker112 (阿茄)   2016-11-16 12:33:00
意思是說,我看誰比較餓,就讓他多跑幾次以達到公平這樣嗎?
作者: ken52011219 (呱)   2016-11-16 12:50:00
RR再加上multiple pointer 本身就是額外加priority給某process 就已經論不上公平了 這是優點 也感覺如你所說的是缺點這個缺點是違法RR Algorithms 的精神 但對於整個OS可以不用換scheduler algo就可以達到 若不需要這樣當然在該輪就不用加pointer就好話說我感覺我自己在繞圈圈了QQ
作者: windwaker112 (阿茄)   2016-11-16 13:15:00
所以解答的好處第二個拿去下面壞處第二個剛好是兩個這樣嗎XD,因為壞處第二個看不太懂
作者: ken52011219 (呱)   2016-11-16 13:30:00
討論過後我覺得壞處可以寫@@~壞處第二項我覺得是在講整個LINK變複雜了吧(?
作者: krusnoopy (push)   2016-11-16 13:41:00
我的想法是他的做法是一個process可能有兩個pointer幫他在queue排隊,壞處第二項就是因為一個process執行結束,也要結束掉queue裡面的另外一個pointer,所以要搜尋整個串列http://i.imgur.com/JtHdPM8.jpg這篇解答說會餓死是缺點
作者: windwaker112 (阿茄)   2016-11-16 14:06:00
我懂了,我把他看成pointer是連續放進去的才想說,做完只要把後面一樣的砍掉就好,那照這個邏輯來看是不會有飢餓產生,只是時間分配不均而已,只是有的process在一輪裡面跑的時間比較長而已
作者: krusnoopy (push)   2016-11-16 14:10:00
嗯嗯那我更正,只是低priority會分配較少但不會餓死
作者: windwaker112 (阿茄)   2016-11-16 14:47:00
yeah~終於有結論了,感謝各位大大

Links booklink

Contact Us: admin [ a t ] ucptt.com