- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 死锁
操作系统基础 * 第七章 死锁 操作系统基础 * 7.1 死锁问题的提出 定义:死锁是一种状态,在系统中,一组进程由于竞争系统资源或彼此通信而永远阻塞,称为死锁。下图:进程P1和进程P2进入死锁状态。 第7章 死锁 P1 P2 S1 S2 构成环 占有 占有 要求 要求 操作系统基础 * 死锁的边界条件:见:pp138图7.1,pp139图7.2 产生死锁的原因: 1、系统资源不足 2、进程推进的不合理性 第7章 死锁 7.1 死锁问题的提出 操作系统基础 * 第7章 死锁 7.1 死锁问题的提出 操作系统基础 * 7.1 死锁问题的提出 第7章 死锁 环状阻塞 操作系统基础 * 7.2.1 资源的概念 根据不同的出发点,可对系统内的资源进行分类: 按资源性质分: 1、可抢占:进程已占有时,可被其他进程抢占 2、不可抢占:进程一旦占有则直到其主动释放 按使用性质分: 1、共享:可为多个进程使用的资源 2、独享:只能为某个进程使用 7.2 死锁的必要条件 第7章 死锁 操作系统基础 * 按使用期限分:1、可再次使用的永久资源:可被进程反复使用。例如:各种硬资源、纯代码过程等。2、消耗性临时资源:仅可被进程临时使用的资源:例如:消息、信号等。资源的定义:一个逻辑资源,是指可以引起一个进程进入等待状态的事物。 7.2 死锁的必要条件 第7章 死锁 资源的不同使用性质引发死锁 操作系统基础 * 7.2.2 死锁的必要条件 对于可再使用的永久资源,死锁产生的必要条件为: 第7章 死锁 7.2 死锁的必要条件 1、互斥条件:一个资源一次只能被一个进程使用 2、不可抢占条件:一个资源仅能被占有它的进程 释放,不能被强行抢占 3、部分分配条件:一个进程占有了分配给它的资源, 但仍要求其他资源 4、循环等待条件:若干进程构成了环形请求 防止死锁需破坏上述必要条件,但仅3、4可人为破坏。 操作系统基础 * 通过破坏部分分配条件或循环条件实现。7.3.1 预先静态分配法1、作业预先提出所需求的全部资源2、仅当系统能满足其全部要求时才允许其进入内存运行3、将资源一次性分给作业 7.3 死锁的预防 第7章 死锁 目的:破坏部分分配条件,作业运行中再无资源要求。 缺点:1、资源浪费:作业最后使用的资源,开始时分配 2、某些作业可能由于资源不满足而永远无法运行 操作系统基础 * 7.3.2 有序资源使用法(针对破坏循环条件)为每个资源排定序号,每个进程必须按递增顺序请求资源。例如:设备排序:D1,D2,D3,D4,D5,D6 P1申请设备:D1,D3,D6 P2申请设备:D3,D4,D6,不产生死锁若:P1申请设备:D1,D3 P2申请设备:D3,D1,则产生死锁(满足循环条件) 该方法的优点:资源动态分配,提高设备的利用率 问题:1、设备扩充不方便 2、仍有资源的浪费 第7章 死锁 7.3 死锁的预防 操作系统基础 * 7.4.1单资源的银行家算法 操作系统───────银行家 各种资源───────借贷资金 进程的资源申请────借贷的客户 7.4 死锁的避免和银行家算法 第7章 死锁 算法思想:若每个客户的借贷总额不超过银行借贷资金 的总数,而且在给定的期间内银行可收回借 出的全部贷款,则可满足用户的借贷要求。 OS的资源分配:若每个进程所要求的资源总数不超过系统 所能提供的资源总数,而且进程可在有限 时间内释放自己所要求的全部资源,则系 统分给其所要求的资源,否则拒绝。 操作系统基础 * 2 2 已借 要求 第7章 死锁 7.4 死锁的避免和银行家算法 操作系统基础 * 检测死锁的原因: 防止死锁──降低了系统的利用率 为提高利用率──允许产生死锁的部分条件存在 所以:需动态检测是否可能死锁,即检查是否存在循环等待。 7.5 死锁检测与恢复 操作系统基础 * 1、资源分配图 用图论的方法研究死锁──资源分配有序图 申请 占有
文档评论(0)