第5节死锁.ppt.pptVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5节死锁.ppt

第5节 死锁 什么是死锁 死锁的原因 如何解决死锁 举例 第2单元 进程与进程管理 问题:许多通用操作系统,如PC机上安装的Windows和Linux,都采用死锁忽略方法,对其原因,下面哪个说法不正确:( ) A. 死锁忽略的处理代价最小 B. 这种机器上出现死锁的概率比其他机器低 C. 死锁可以用重启来解决,PC重启造成的影响小 D. 死锁预防让编程变得困难 银行家算法是一种()算法。 A.死锁避免 B.死锁预防 C.死锁检测 D.死锁解除 资源静态分配法可以预防死锁的发生,它们使死锁四个必要条件中的( )不成立。 A.互斥条件 B.请求和保持条件 C.不可剥夺条件 D.环路等待条件 死锁以及死锁引起的原因 解决的办法:预防、避免、检测并解除、忽略 对于有安全要求的操作系统要解决死锁, 应用编程者也应该考虑死锁的问题 本节内容 * 假定系统有n个进程P1,P2,…,Pn和m种类型资源R1,R2,…,Rm建立资源分配表S和进程等待表W,分别如表3-1和表3-2所示,其中aij表示分配给进程Pi的资源Rj的数目,bij表示进程Pi请求资源Rj的数目。另外为每一个进程设置一个等待资源计数器C1,C2,…,Cn,它们表示引起相应进程被阻塞的资源数目,将未阻塞的进程组成一个表L(或队列)。 * 单击此处编辑母版标题样式 第5节 死锁 什么是死锁 死锁的原因 如何解决死锁 举例 第2单元 进程与进程管理 如果信号量这样使用 我们将这种多个进程由于互相等待对方持有的资源而造成的谁都无法执行的情况叫死锁 Consumer() { P(full); P(mutex); 从缓冲区取产品; V(mutex); V(empty); } Producer() { P(empty); P(mutex); 放产品入缓冲区; V(mutex); V(full); } mutex empty mutex full 问题:会出什么问题? 第5节 死锁 什么是死锁 死锁的原因 如何解决死锁 举例 第2单元 进程与进程管理 死锁的成因 资源互斥使用,一旦占有别人无法使用 进程占有了一些资源,又不释放,再去申请其他资源 各自占有的资源和互相申请的资源形成了环路等待 共享 死锁的四个必要条件 互斥 不剥夺 请求并保持 环路 系统资源不足 进程推进顺序非法 产生死锁的根本原因: 第5节 死锁 什么是死锁 死锁的原因 如何解决死锁 举例 第2单元 进程与进程管理 死锁处理方法概述 死锁预防 破坏死锁出现的必要条件 死锁避免 检测每个资源请求,如果可能造成死锁就拒绝 死锁检测+恢复 检测到死锁出现时,让一些进程回滚,让出资源 死锁忽略 系统不做处理,反馈给用户自行解决 预防死锁 破坏请求并保持必要条件 资源全部分配(静态分配) 在作业调度时为选中的作业分配它所需要的所有资源,当资源一旦分配给该作业后,在其整个运行期间这些资源为它独占。 破坏不剥夺必要条件 剥夺 破坏环路必要条件 资源的有序分配 系统中所有资源都给定一个唯一的编号,所有分配请求必须以上升的次序进行。当遵守上升次序的规则时,若资源可用,则予以分配;否则,请求者等待。 死锁处理方法概述 死锁预防 破坏死锁出现的必要条件 死锁避免 检测每个资源请求,如果可能造成死锁就拒绝 死锁检测+恢复 检测到死锁出现时,让一些进程回滚,让出资源 死锁忽略 系统不做处理,反馈给用户自行解决 避免死锁 银行家算法 允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次资源分配的安全性。若此次分配不会导致系统进入不安全状态,则将资源分配给进程;否则,令进程等待。 如果系统中的所有进程存在一个可完成的执行序列P1,…Pn,则称系统处于安全状态 都能执行完成当然就不死锁 安全序列 安全序列如何找? Allocation Need Available A B C A B C A B C P0 0 1 0 7 4 3 2 3 0 P1 3 0 2 0 2 0 P2 3 0 2 6 0 0 P3 2 1 1 0 1 0 P4 0 0 2 4 3 1 问题:下面哪个是安全序列( )? A. P1, P3, P2, P4, P0 B. P0, P1, P2, P3, P4 C. P3, P0, P1, P2, P4 D. P3, P4, P1, P2, P0     我们通过一个例子来说明安全性。假定系统中有三个进程P1、P2和P3,

文档评论(0)

daoqqzhuan2 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档