处理机管理进程死锁.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
银行家算法资源分配情况 Process Allocation Need Available P0 0 0 3 2 0 0 1 2 1 6 2 2 1 6 5 4 P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 3 3 2 0 6 5 2 p4 0 0 1 4 0 6 5 6 安全序列:P0, 银行家算法资源分配情况 Process Allocation Need Available P0 0 0 3 2 0 0 1 2 1 6 2 2 1 6 5 4 1 9 8 6 P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 3 3 2 0 6 5 2 p4 0 0 1 4 0 6 5 6 安全序列:P0,P3, 银行家算法资源分配情况 Process Allocation Need Available P0 0 0 3 2 0 0 1 2 1 6 2 2 1 6 5 4 1 9 8 6 1 9 9 10 P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 3 3 2 0 6 5 2 p4 0 0 1 4 0 6 5 6 安全序列:P0,P3,P4, 银行家算法资源分配情况 Process Allocation Need Available P0 0 0 3 2 0 0 1 2 1 6 2 2 1 6 5 4 1 9 8 6 1 9 9 10 2 9 9 10 P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 3 3 2 0 6 5 2 p4 0 0 1 4 0 6 5 6 安全序列:P0,P3,P4,P1 银行家算法资源分配情况 Process Allocation Need Available P0 0 0 3 2 0 0 1 2 1 6 2 2 1 6 5 4 1 9 8 6 1 9 9 10 2 9 9 10 2 12 14 14 P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 3 3 2 0 6 5 2 p4 0 0 1 4 0 6 5 6 安全序列:P0,P3,P4,P1,P2;当前状态安全。 银行家算法资源分配情况 Process Allocation Need Available P0 0 0 3 2 0 0 1 2 1 6 2 2 P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 3 3 2 0 6 5 2 p4 0 0 1 4 0 6 5 6 P2提出请求(1,2,2,2) P2发出请求向量Request(1,2,2,2),系统按银行家算法进行检查: ① Request(1, 2, 2,2)≤Need(2,3,5,6) ② Request(1, 2, 2,2)≤Available(1,6,2, 2) ③ 系统先假定可为P2分配资源,并修改Available, Allocation和Need向量,由此形成的资源变化情况如下图  ④ 再利用安全性算法检查此时系统是否安全。 试分配后,资源分配情况 Process Allocation Need Available(work) P0 0 0 3 2 0 0 1 2 0 4 0 0 P1 1 0 0 0 1 7 5 0 P2 2 5 7 6 1 1 3 4 P3 0 3 3 2 0 6 5 2 p4 0 0 1 4 0 6 5 6 此时系统资源无法满足任何进程的需求,进入不安全状态。因此试分配作废,进程P2被阻塞。 4 死锁检测与解除死锁 死锁预防策略是非常保守的,它们通过限制访问资源和在进程上强加约束来解决死锁问题 死锁检测策略则完全相反,它不限制访问资源或约束进程行为。不论是否可能,被请求的资源都被授权给进程。周期性地,操作系统执行一个算法检测死锁是否发生。 一旦死锁发生则采取专门的措施,解除死锁并以最小的代价恢复操作系统运行。 死锁的检查可以非常频繁地在每个资源请求时都进行,也可以少一些,这取决于发生死锁的可能性 检测时机: 每个资源请求时 当进程等待时检测死锁 (其缺点是系统的开销大) 定时检测 系统资源利用率下降时检测死锁 死锁检测算法 算法的策略是查找一个进程,使得可用资源可以满足该进程的资源请求,然后假设同意这些资源,让进程运行直到完成,再释放它的所有资源,然后算法寻找另一个可以满足资源请求的进程 基于资源分配图和死锁定理的检测算法: 死锁检测算法 资源分配图 用有向图描述进程的死锁:

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档