[理工] OS题库 deadlock问题

楼主: AAQ8 (不要就是要)   2018-12-11 15:48:36
https://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)矛盾了
作者: h12360110 (DaiDai)   2018-12-11 18:20:00
执行 safety algo时若只有1组sequence 且第一个process优先权最低但必须先给他resource才能执行其他process就会有d了吧
作者: nannnnn (nannnnn)   2018-12-11 19:59:00
那这时候使用优先权继承不行吗?感觉会产生优先权翻转是因为系统没有提供preemptive机制也没有提供优先权继承,而不是因为使用了avoidence的方法造成的后果,另外感谢楼上的想法之前都没想到
作者: sdfg014025xx (随便就好)   2018-12-11 21:24:00
优先权继承不就是优先权反转的解吗?
作者: nannnnn (nannnnn)   2018-12-11 23:10:00
对啊 题目没说用avoidence就不能用优先权继承,难道一个系统不能同时有优先权继承同时又有deadlock avoidence吗
作者: h12360110 (DaiDai)   2018-12-12 00:19:00
你可以想成sequence的第一个process一直拿不到cpu,因为他优先权最低且最高优先权的process必须等sequence的第一个process执行完才有resource可以使用,这就是优先权反转,再来就是用优先权继承让第一个process优先权提高解掉这个问题

Links booklink

Contact Us: admin [ a t ] ucptt.com