死锁银行家算法.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
山东农业大学计算机系 2)避免死锁的算法过程(银行家算法) 当前资源分配状态如何?构建资源分配表 判断向下运行过程中,各进程对资源的需求是否安全。 在当前资源分配状态基础上,分析进程的实际请求Requesti【j】= k。表示进程Pi需要K个Rj类型的资源。 进程 MAX A B C Allocation A B C Need A B C Available A B C P0 7 5 3 2 3 2 5 2 1 4 3 2 P1 5 4 2 2 2 1 3 2 1 P2 2 1 1 1 0 0 1 1 1 资源情况 Request0(2,2,1) 第三十页,共四十六页。 山东农业大学计算机系 算法过程: 就是对各进程的Request向量及资源数量进行一系列判断及值操作。 进程Pi发出资源请求后,系统按下述步骤进行检查: 首先是两个基本判断: (1)IF Requesti[j]= Need[i,j] THEN 转向步骤2; ELSE 认为出错,所需资源数超过宣布的最大值(自我矛盾) (2)IF Requesti[j]= Available[j] THEN 转向步骤3; ELSE 表示尚无足够资源,Pi需等待(现实不满足) 第三十一页,共四十六页。 山东农业大学计算机系 如果上面两步判断都通过了,进入实质的资源分析 (3)系统试探着把资源分配给进程Pi ,并修改相应数据结构的值(假设性操作): Available【j】 = Allocation【i,j】= Need【i,j】= (4)系统执行安全性算法,判断新的资源分配状态是否是安全的。 即:找一个安全序列,使这些进程按顺序执行完)如果能够找到,则将假设操作真正实施完成资源分配。 Available【j】 - Requesti【j】; Allocation【i,j】+ Requesti【j】; Need【i,j】 - Requesti【j】; 请求前的资源分配状态 ? 新的资源分配状态 安全性算法 第三十二页,共四十六页。 山东农业大学计算机系 3)安全性算法 (1)需要一些记录信息的数据结构,设置两个向量: 工作向量work 算法开始时work=Available; 系统找安全序列的过程需要不断判断和修改当前资源数量,不能直接修改原始数据记录Aailable。 标志向量Finish 表示每个进程是否有足够的资源使之运行完成。开始时所以进程都设置初值Finish[i]:=false; 找安全序列的过程相当于使所有Finish[i]:=true。 第三十三页,共四十六页。 山东农业大学计算机系 (2)找安全序列的过程 从 Finish[i] = false 的进程集合中找一个进程 IF Need[i,j] = work[j] THEN 执行步骤 a; ELSE 执行步骤 b; a) 假设Pi获得资源顺利执行完,释放出分配给它的资源,修改相应的值: work【j】 = work【i】+ Allocation【i,j】; Finish【i】= true; goto step (2); //返回去继续找下一个进程。 b)当算法不再在(2)、a)步间循环找进程,到达本步时,若所有Finish[i]=true都满足,则表示所有进程都按某个顺序执行完了,系统处于安全状态;否则,系统当前所处的资源分配状态是不安全状态。 第三十四页,共四十六页。 山东农业大学计算机系 第3章 处理机调度与死锁 处理机调度相关基本概念 常用调度算法 实时调度 产生死锁的原因和必要条件 预防死锁的方法 死锁的检测与解除 第三十五页,共四十六页。 * * 山东农业大学计算机系 第3章 处理机调度与死锁 处理机调度相关基本概念 常用调度算法 实时调度 产生死锁的原因和必要条件 预防死锁的方法 死锁的检测与解除 第一页,共四十六页。 山东农业大学计算机系 关于死锁 多道程序系统借助并发执行改善资源利用率,提高系统吞吐量,但可能发生一种危险——死锁。 死锁(Deadlock):指多个进程在运行过程中,因争夺资源而造成的一种僵局。当进程处于这种状态时,若无外力作用,它们都将无法再向前推进。 第二页,共四十六页。 山东农业大学计算机系 找原因 分析形成条件 根据分析,找出处理死锁的方法 四、产生死锁的原因和必要条件 第三页,共四十六页。 山东农业大学计算机系 例:使用信号量造成死锁的典型 P1 P2 wait(D) wait(E) wait(E) wait(D) sign

文档评论(0)

虾虾教育 + 关注
官方认证
文档贡献者

有问题请私信!谢谢啦 资料均为网络收集与整理,收费仅为整理费用,如有侵权,请私信,立马删除

版权声明书
用户编号:8012026075000021
认证主体重庆皮皮猪科技有限公司
IP属地重庆
统一社会信用代码/组织机构代码
91500113MA61PRPQ02

1亿VIP精品文档

相关文档