[理工] os 100交大資聯

作者: joeboy (揪立)   2016-12-01 15:59:13
http://i.imgur.com/uBRSmCF.jpg
小弟想問看看為什麼a是錯的
如果用Banker得到一個unsafe state
Grant resources request的話
不是會直接進入deadlock 嗎?
還是我哪裡有搞錯banker演算法呢?
作者: hopward (hopward)   2016-12-01 16:23:00
unsafe state未必會引發deadlock阿
作者: ken52011219 (呱)   2016-12-01 17:42:00
既然已經藉由banker algo偵測到為unsafe state它就不會再授權使該Process再要求resurce了Banker algo 就是防止該process在unsafe state中若真的如題目所說 授權給Process 那也不一定會為死結
作者: joeboy (揪立)   2016-12-01 19:17:00
我就是在思考說如果判斷出unsafe的話,還同意process request會不會進入deadlock ,但是似乎找不到什麼範例證明不會進入deadlock
作者: ken52011219 (呱)   2016-12-01 19:46:00
會產生死結有四個要素 只要使其中一個條件不滿足就不會產生Deadlock , 但若同時有其他的要素 就會落在 unsafe 區,但並不代表會產生死結同理 若判斷出unsafe 代表被detect的proceess 擁有四要素的可能 但不是一定會同時擁有四個要素這是Safe code 所做的判斷 , 若process進入主要codeAllocation and release , code也會自行選擇可行的方法 , 這時這個階段也可能不會產生Dealock
作者: joeboy (揪立)   2016-12-01 20:05:00
http://i.imgur.com/aDBTysK.jpg剛剛看到這個題目發現解決我的困擾了
作者: newpuma (還很新)   2016-12-02 02:21:00
unsafe不代表一定會deadlock吧。簡單來說就是你在unsafe的時候仍然配置出去,也許下一秒有另一個握有很多資源的程式結束把那些資源還回來,之後依然不會死結@@

Links booklink

Contact Us: admin [ a t ] ucptt.com