作者:
AAQ8 (不要就是要)
2018-12-11 15:48:36https://i.imgur.com/2PrKmvw.jpg
想問例題48
我看洪逸筆記是說deadlock avoidance的壞處是利用度降低導致產出不高
所以選(c)我可以理解
但是為什麼(d)可以選
麻煩各位
感謝大家
作者:
DLHZ ( )
2018-12-11 16:07:00他在ready但可能reaource一直不夠過不了bankery algorithm?
作者:
q79236 (昕翔)
2018-12-11 16:15:00如果低優先權把持高優先權的memory不放 高優先權的process無法取得memory進行工作 而低優先權也沒辦法取得CPU進行工作 就是進入Deadlock了
作者:
AAQ8 (不要就是要)
2018-12-11 16:58:00可是deadlock avoidance不是保證死結不會發生嗎,這樣不就和(d)矛盾了
執行 safety algo時若只有1組sequence 且第一個process優先權最低但必須先給他resource才能執行其他process就會有d了吧
作者: nannnnn (nannnnn) 2018-12-11 19:59:00
那這時候使用優先權繼承不行嗎?感覺會產生優先權翻轉是因為系統沒有提供preemptive機制也沒有提供優先權繼承,而不是因為使用了avoidence的方法造成的後果,另外感謝樓上的想法之前都沒想到
作者: nannnnn (nannnnn) 2018-12-11 23:10:00
對啊 題目沒說用avoidence就不能用優先權繼承,難道一個系統不能同時有優先權繼承同時又有deadlock avoidence嗎
你可以想成sequence的第一個process一直拿不到cpu,因為他優先權最低且最高優先權的process必須等sequence的第一個process執行完才有resource可以使用,這就是優先權反轉,再來就是用優先權繼承讓第一個process優先權提高解掉這個問題