查看更多
当前 - 选择题 - 进程管理
简单
单选题
2025年5月第22题
#必须掌握

假设系统中有5个进程,每个进程最多需要2个资源。为了保证系统不发生死锁,系统中至少应提供(6)个资源。

问题(1)
浓缩知识点

死锁避免中,保证系统无死锁的最小资源量可按核心逻辑推导:当系统为每个进程分配其最大资源需求数减1的资源后,只要额外再持有1个资源,就必然能让至少一个进程获取足够资源完成执行,该进程释放资源后,其余进程可依次获取所需资源推进,从根本上打破死锁形成的条件。通用计算方式为:若各进程最大资源需求相同,最小资源量等于进程总数乘以单个进程最大资源需求减1的差,再加上1;若各进程最大资源需求不同,则将每个进程的(最大需求-1)求和后再加1即可。该方法基于安全状态判定逻辑,通过预留关键资源确保系统始终存在可推进的进程,适用于多数资源分配类的死锁规避场景。

正确答案
B

本题考察的是死锁避免的必要条件与资源分配理论
根据银行家算法或者安全状态的分析,为了保证系统无死锁,我们可以使用如下推理:
如果每个进程最多需要2个资源,总共有5个进程,假设每个进程都已经分配了1个资源,并且都还需要1个资源才能完成,那么此时总共分配了5个资源,系统中至少还要有1个资源,才能让其中一个进程得到其所需的资源、执行完毕并释放资源。然后其他进程可以依次获得资源、执行完毕,最终系统不会死锁。
因此,最少需要的资源数为: (进程数) × (每个进程最大需求 - 1) + 1 = 5 × (2 - 1) + 1 = 6
这正是安全分配的最小资源数。

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