目录
死锁的概念(☆)
死锁是指在多个进程由于互相等待所占用的资源而陷入无限等待的一种状态。
死锁产生的原因(☆)
(1)竞争不可抢占性资源;(2)竞争可消耗性资源;(3)进程间推进顺序不当。
银行家算法(☆☆)
是一种避免死锁的资源分配算法,可以用来判断系统是否处于安全状态。
书本 P76 例3-10
题目:
解答过程:
书本 P89 应用题例2
题目:
解答过程:
(1)利用银行家算法对此时刻的资源分配情况进行分析,可得到如下安全分析情况:
从以上情况分析可以看出,此时存在一个安全序列{p0,p3,p4,p1,p2},故该状态是安全的。
(2)P2提出请求Request2(1,2,2,2)。按银行家算法进行检查:
Request2(1,2,2,2)<=need(2,3,5,6)
Request2(1,2,2,2)<=available(1,6,2,2)
试分配并修改相应数据结构,资源分配情况如下表所示
再利用安全性检查算法检查系统是否安全,可用资源available(0,4,0,0)已不能满足任何进程的需要,此时系统不能将资源分配给P2。
其他习题(☆)
书本 P76 例3-11
题目:
解答过程: