楼主:
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优先权提高解掉这个问题