首页 > 编程知识 正文

m个进程共享n个资源不会出现死锁,死锁进程必然至少一个互斥资源

时间:2023-05-03 14:38:41 阅读:267425 作者:1174

某系统有同类资源m个供n个进程共享,如果每个进程最多申请x个资源(1<=x<=m),且各进程的最大需求量之和小于(m+n),试证明该系统不会发生死锁。

分析:当每个进程都申请x-1个资源,这个时候如果系统没有资源了,它们中任何一个进程,如果再提出申请1个资源的要求,就会死锁。如果系统还有1个资源,就满足了提出申请资源的某一个进程,它释放所持有的x-1个资源,死锁局面被打破。
所以如果系统死锁必有
n ( x − 1 ) + 1 > m n(x-1)+1>m n(x−1)+1>m
化简一下可以得到
n x > m + n − 1 nx>m+n-1 nx>m+n−1
进一步由不等式可以推出
n x > m + n nx>m+n nx>m+n
这和题目中的条件nx < (m+n)矛盾。

再来一道作业题:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。