第六讲死锁与其处理.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文档。上传文档
查看更多
第六讲死锁与其处理

第六讲 死锁及其处理 中国科学技术大学计算机系 陈香兰 xlanchen@ustc.edu.cn 2013Fall 内容提要 死锁的定义和产生死锁的原因 产生死锁的必要条件 处理死锁的基本方法 死锁的预防 死锁的避免 死锁的检测与解除 Reading 计算机操作系统,汤子瀛,4.6、4.7、4.8节 Operating System Concepts,7Th edition,ch7 内容提要 死锁的定义和产生死锁的原因 产生死锁的必要条件 处理死锁的基本方法 死锁的预防 死锁的避免 死锁的检测与解除 死锁的定义 Deadlock 死锁 所谓死锁,是指多个进程因竞争资源而造成的一种僵局(Deadly-Embrace),若无外力作用,这些进程将永远不能再向前推进。 产生死锁的原因 归结为两点 竞争资源 进程推进顺序非法 为便于讨论,首先给出资源分配图的概念 资源分配图(Resource allocation Graph) 死锁可用资源分配图来描述 资源分配图是由一组结点N和一组边E所组成的一个有向图G=(N, E) N=P∪R P是一组进程结点,P={P1,P2,…,P3} R是一组资源结点,R={R1,R2,…,R3} e={Pi,Rj},或Pi?Rj,资源请求边 e={Rj,Pi},或Rj?Pi,资源分配边 资源分配图的图形表示 使用小圆卷表示一个进程 使用方框表示一个资源类型 使用一个点表示一个资源实例 请求边由进程指向方框; 分配边必须始于方框中的某个点 资源分配图举例 发生死锁的资源分配图 一、竞争资源引起死锁 可剥夺和非剥夺性资源 可剥夺资源,如CPU,内存 不可剥夺资源,如磁带机,打印机 竞争非剥夺资源 Example: System has 2 tape drives P1 and P2 each hold one and each needs another one 竞争临时性资源 临时性资源 vs. 永久性资源 二、进程推进顺序不当引起死锁 基于进程的异步特性。 进程推进顺序合法 vs. 非法 举例:P1和P2竞争R1和R2 内容提要 死锁的定义和产生死锁的原因 产生死锁的必要条件 处理死锁的基本方法 死锁的预防 死锁的避免 死锁的检测与解除 产生死锁的必要条件Necessary Conditions 当下列4个必要条件同时具备时,就会产生死锁 互斥条件(Mutual exclusion) 请求和保持条件(Hold and wait) 不剥夺条件(No Preemptive) 环路等待(Circular wait) 1、互斥条件 指进程对所分配到的资源进行排它性使用。 对于这样的资源,不妨标记为R: 在一段时间内R只能有一个进程占有,例如P1 若此时还有其他进程(例如P2)要请求资源R,则P2只能被阻塞,直到P1用完后释放资源R 2、请求和保持条件 有一个进程(例如P1)已经获得了至少一个资源,但又提出了新的资源要求,而该资源又已经被其他进程所占有,此时P1被阻塞,但P1对已经获得的其他资源保持不放 3、不剥夺条件 对进程已经占有的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放 4、环路等待条件 发生死锁时,必然存在一个进程-资源的环形链 即存在进程集合 {P0,P1,P2,…,Pn} 其中,P0正在等待P1占用的资源;P1正在等待P2占用的资源;……;Pn正在等待P0占用的资源 发生死锁的资源分配图 关于环和死锁 If graph contains no cycles ? no deadlock If graph contains a cycle ? if only one instance per resource type, then deadlock if several instances per resource type, possibility of deadlock 存在环,但没有发生死锁的资源分配图 内容提要 死锁的定义和产生死锁的原因 产生死锁的必要条件 处理死锁的基本方法 死锁的预防 死锁的避免 死锁的检测与解除 处理死锁的基本方法 Ensure that the system will never enter a deadlock state Deadlock prevention,死锁的预防 Breaks at least one of the necessary conditions Deadlock avoidance,死锁的避免 For each request, OS decides whether or not the process should wait Allow the system to enter

文档评论(0)

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

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

1亿VIP精品文档

相关文档