网站大量收购闲置独家精品文档,联系QQ:2885784924

3—C死锁案例.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 判定死锁准则: (1)如果RAG中未出现任何环,则此时系统内不存在死锁; (2)如果RAG中出现了环,且处于此环中的每类资源均只有一个个体,则有环就有死锁;此时环路是存在死锁的充分必要条件; (3)如果RAG中出现了环,但处于此环中的每类资源的个数不全为1,则环的存在只是产生死锁的必要条件而不是充分条件。此时是否有死锁,还要通过对RAG的化简而定。 P1 P2 P3 R1 R2 R3 R4 P1 P2 R1 R2 R3 * 判定死锁准则: (1)如果RAG中未出现任何环,则此时系统内不存在死锁; (2)如果RAG中出现了环,且处于此环中的每类资源均只有一个个体,则有环就就有死锁;此时环路是存在死锁的必要充分条件; (3)如果RAG中出现了环,但处于此环中的每类资源的个数不全为1,则环的存在只是产生死锁的必要条件而不是充分条件。此时是否有死锁,还要通过对RAG的化简而定。 P1 P2 P3 R1 R2 R3 R4 P4 P3 P2 P1 R1 R2 * 例题:化简如图所示的资源分配图,并说明有无进程处于死锁状态? P0 P1 P2 P3 P4 R0 R1 R2 R3 R4 R4 R3 P0 P1 P2 P3 P4 * 资源分配图中存在环路并不一定发生死锁,因为循环等待资源仅是死锁发生的必要条件,而不是充分条件.如: P1 P2 P3 R1 R2 R3 有环有死锁 P4 P3 P2 P1 R1 R2 有环无死锁 * 死锁的解除:是与检测死锁相配套的一种措施,用于将进程从死锁状态下解脱出来。 常用的方法有: 1、立即结束所有进程的执行,并重新启动操作系统. 2、撤消进程:最简单撤消进程的方法是使全部死锁的进程夭折掉;另一方法是按照某种顺序逐个地撤消进程,直至有足够的资源可用,死锁状态消除为止。 3、剥夺资源(挂起进程):使用挂起/激活机构挂起一些进程,剥夺它们的资源以解除死锁,待条件满足时,再激活进程。目前挂起法比较受到重视。 5 解除死锁 * 采用剥夺资源的方法解决死锁问题时应考虑三个问题: (1)抢夺哪些进程的哪些资源; (2)被抢夺者的恢复; (3)进程的饿死; * 系统中并发运行进程由于共享资源或相互通信,如果调度不当,可能导致系统死锁。解决死锁的方法有三种: (1) 预防死锁,它是通过破坏死锁的四个必要条件实现的。 (2) 避免死锁,它是在进程请求分配资源时,采用银行家算法等防止系统进入不安全状态。 (3) 检测和解除死锁,它是通过设置一个死锁检测机构进行死锁检测,一旦检测出来,通过逐一撤消进程使系统恢复。 小结: * 1)3个进程共享4个同种类型的资源,每个进程最大需要2个资源,请问该系统是否因为竞争该资源而死锁? 答:1)该系统不会因为竞争该资源而死锁。因为必有一个进程可获得2个资源,故能顺利完成,并释放其所占用的2个资源给其他进程使用,使它们也顺利完成。 * 2.一台计算机有8台磁带机。它们由N(N1)个进程竞争使用,每个进程可能需要3台磁带机。请问N为多少时,系统没有死锁危险,并说明其原因。 答:如果选择N=2,因每个进程需要3台磁带机,所以2个进程共需6台磁带机,必然不发生死锁。 如果N=3时,因3个进程竞争8台磁带机,无论如何都将满足其中2个进程的需求,而第3个进程虽暂时等待,但在另两个进程执行结束并释放资源后必然会得到所要的资源,这样3个进程都可运行到结束而不出现死锁。 (问:3个进程竞争7台磁带机时会发生死锁吗? ) 答:实际上也不发生死锁,因为至少有一个进程可以得到3台磁带机而运行结束,虽然另外2个进程暂时得不到足够的资源而等待,但在已运行结束的进程释放资源后必然会得到所需要的资源而都能运行结束,即也不会发生死锁。 * 3.设系统仅有一类数量为M的独占型资源,系统中N个进程竞争该类资源,其中各进程对该类资源的最大需求为W。当M、N、W分别取下列值时,试判断下列哪些情形会发生死锁? 1) M=2,N=2,W=1 2) M=3,N=2,W=2 3) M=3,N=2,W=3 4) M=5,N=3,W=2 5) M=6,N=3,W=3 * 解答:如果资源数为M,进程个数为N,则每个进程对该类资源的最大需求不超过下面公式的X值时,系统不会发生死锁: X= 由此得到: 1)X=1,X=W,即系统不会出现死锁。 2)X=2,X=W,即系统不会出现死锁。 3)X=2,XW,即系统可能出现死锁。 4)X=2,X=W,即系统不会出现死锁。 5)X=2,XW,即系统可能出现死锁。 1 当M=N时 1+ (M-1)/N 1+

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档