当系统当中所有的资源都无法完成当前的任务(可能也占用了资源),同时都在等待资源的分配时会产生死锁。
这一题的答案为13
假如不同进程所需的资源不一样,就需要计算每一个进程所需的资源数 - 1,再依次相加后+1得出不产生死锁所需要的资源数。
死锁产出的四大条件:互斥,保持与等待,不剥夺,环路等待;
死锁的避免:银行家算法
算法的思路:将系统的资源分配给进程时系统会考虑该进程能否执行完成,也就是能过回收资源,否则就不会分配资源给该进程。
分析:参考银行加算法的思路,首先计算出系统剩余的资源为R1(2),R2(1),R3(0)(通过可用资源数 - 已分配资源数得到)
只有先执行P2进程,才能执行完成并回收P2占用的资源,这样系统剩余的资源为R1(4),R2(3),R3(1)
接着再执行P4进程,回收P4占用的资源,这样系统剩余的资源为R1(5), R2(5), R3(2)
得出B选项是正确的