- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chapter3 处理机调度与死锁-2
回顾 (3) 分配矩阵Allocation (4) 需求矩阵Need (4) 系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。 总结 泰映汶滋 博学笃行 ① Request0(0, 2, 0)≤Need0(7, 4, 3); (4) P0请求资源:P0发出请求向量Requst0(0,2,0),系统按银行家算法进行检查: 0 1 1 2 1 1 P3 0 0 2 3 0 2 3 0 2 0 3 0 Allocation A B C 4 3 1 6 0 0 0 2 0 7 2 3 Need A B C P4 P2 P1 2 1 0 P0 Available A B C 资源情况 进程名 4. 银行家算法例题 ③系统暂时先假定可为P0分配资源,并修改有关数据,如下图所示。 ② Request0(0, 2, 0)≤Available(2, 3, 0); 结论:可用资源Available[2,1,0]已不能满足任何进程的需要,故系统进入不安全状态,此时系统不分配资源。 ① Request0(0, 1, 0)≤Need0(7, 4, 3); (5) P0请求资源:P0发出请求向量Requst0(0,1,0),系统按银行家算法进行检查: 0 1 1 2 1 1 P3 0 0 2 3 0 2 3 0 2 0 2 0 Allocation A B C 4 3 1 6 0 0 0 2 0 7 3 3 Need A B C P4 P2 P1 2 2 0 P0 Available A B C 资源情况 进程名 思考:如果在银行家算法中, P0提出的请求向量为Requst0(0,1,0),系统能否将资源分配给它? 4. 银行家算法例题 ③系统暂时先假定可为P0分配资源,并修改有关数据,如下图所示。 ② Request0(0, 1, 0)≤Available(2, 3, 0); 图 P0申请资源时的安全性检查 4. 银行家算法例题 10 5 7 10 3 7 7 3 5 7 3 3 5 2 2 Allocation+Work A B C true 3 0 2 6 0 0 7 3 5 P2 7 3 3 4 3 1 0 1 1 0 2 0 Need A B C 0 2 0 0 0 2 2 1 1 3 0 2 Allocation A B C true 10 3 7 P0 true 7 3 3 P4 true 5 2 2 P3 true 2 2 0 P1 Finish Work A B C 资源情况 进程名 结论:可以找到一个安全序列{P1, P3, P4, P2, P0}。因此系统是安全的,可以立即将P0所申请的资源分配给它。 ④ 利用安全性算法检查此时系统是否安全: 3.7 死锁的检测与解除 3.7.1 死锁的检测 1. 资源分配图(Resource Allocation Graph) 图 3-19 每类资源有多个时的情况 2. 死锁定理 图3-20 资源分配图的简化 3. 死锁检测中的数据结构 (1) 可利用资源向量Available,它表示了m类资源中每一类资源的可用数目。 ② 将它记入L表中。 ① 将其资源分配图简化,释放出资源,增加工作向量 Work∶=Work+Allocationi。 (3) 从进程集合中找到一个Requesti≤Work的进程,做如下处理: (2) 把不占用资源的进程(向量Allocation∶=0)记入L表中, 即Li∪L。 (4) 若不能把所有进程都记入L表中, 便表明系统状态S的资源分配图是不可完全简化的。 因此,该系统状态将发生死锁。 Work ∶=Available; L∶={Li|Allocationi=0∩Requesti=0} for all Li L do begin for all Requesti≤Work
文档评论(0)