查看更多
当前 - 选择题 - 死锁问题
简单
单选题
2022年5月第38题
#操作系统
#死锁问题
#第二版教材
#凯恩建议必须掌握

某系统中有5个并发进程竞争资源R。假设每个进程都需要3个R,那么最少需要有(__)个R,才能保证系统不会发生死锁。

问题(1)
正确答案B
凯恩解析

本题考察的是死锁避免的资源分配条件
根据死锁产生的四个必要条件(互斥、不可抢占、占有且等待、循环等待),我们通过破坏循环等待条件来保证系统不会发生死锁。
若每个进程最多需要3个资源,则在最糟糕的情况下,所有进程都可能已经占有2个资源,并各自再等待1个资源才能继续执行。此时:

  • 已占用的资源数 = 进程数 × (最大需求数 - 1) = 5 × (3 - 1) = 10
  • 为了避免循环等待,必须至少再有1个额外资源可分配,打破等待环。

因此系统总资源数至少需要:10 + 1 = 11。
A选项10:若系统只有10个资源,可能出现每个进程各占2个资源的情况,此时所有进程都等待最后一个资源,形成死锁,错误。
B选项11:可保证至少有一个进程能够拿到第3个资源继续执行并释放资源,从而避免死锁,正确。
C选项12:资源数充足,当然不会死锁,但不是最少数量,因此错误。
D选项13:同理,资源数更富余,但题问的是最少资源数,因此错误。
所以答案是 B. 11

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有