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