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

操作系统原理第三节.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Operating System * * 3.5.4 多个资源的银行家算法 把银行家算法推广到多个资源 A B C D E 3 0 1 1 0 0 1 1 1 0 1 1 0 0 1 0 0 1 0 0 A B C D E 1 0 3 0 2 1 1 1 0 1 0 0 1 2 0 0 1 0 1 0 进 程 磁 带 机 绘 图 仪 打 印 机 CD R OM 进 程 磁 带 机 绘 图 仪 打 印 机 CD R OM 已分配资源 仍需要的资源 图. 多个资源的银行家算法 E=(6 3 4 2) C=(5 3 2 2) A=(1 0 2 0) E=C+A Operating System * * 多个资源的银行家算法描述 查找第二个矩阵是否存在一行,其没有被满足的资源数均小于或者等于A.如果不存在这样的行,那么系统将会死锁.因为任何进程都无法运行结束. 若找到这样的行,那么可以假设它可以获得所需的资源并运行结束,并将其资源加到向量A上. 重复以上两步.直到所有的进程都标记终止,则其初始状态是安全的.或者,直到死锁发生,此刻的状态是不安全的. 分析 在步骤1中,若同时存在多个进程符合条件,无论选择哪个进程运行,都不会存在不安全因素,因为可用资源会增多或者不变. 图中若B再请求一台打印机,则可满足它(D可结束,然后是A或E结束,其余相继结束). 如果B申请了打印机,并且得到分配,如果E试图请求最后一台打印机,并且得到了满足,则引起死锁. Operating System * * 3.6 死锁预防 Havender, 1968. 破坏产生死锁的4个条件之一,则死锁不会产生. 破坏互斥条件 spooling技术 避免分配那些不是绝对必须的资源,使得尽可能少的进程真正访问起源 破坏占有和抢占条件 进程执行前先计算所需的资源,然后采用银行家算法避免死锁的产生; 当进程请求资源时,先暂时释放已占有的资源,然后再一次性申请所有需要使用的资源 Operating System * * 破坏不可抢占条件 改为抢占. 破坏循环等待条件 保证每个进程在任何时刻只能占用一个资源,如果需要申请另外一个资源,必须首先释放第一个资源. 对资源进行统一编号,按照如下规则进行资源请求:进程可以在任何时刻提出请求,但是所请求的资源必须按照资源编号的顺序提出. 条件 处理方式 一切都是用假脱机技术 在开始就请求所有资源 抢占资源 对资源按数值编号 互斥 占有和等待 不可抢占 循环等待 图. 死锁预防方法汇总 Operating System * * 3.7 其他问题 3.7.1 两阶段加锁 常用于数据库系统的更新 3.7.2 非资源死锁 一般指共享变量的互斥访问造成的死锁. 3.7.3 饥饿 不同的死锁避免机制可能导致一些进程长时间得不到执行,形成’饥饿’- 无限期被阻塞.通常采用FCFS方式解决,或者动态优先级方式解决. Operating System * * 3.8 相关研究及本章总结 相关热点研究 分布式系统的死锁检测方法 本章总结 Operating System Operating System *?2007 Operating System * 操作系统原理 蔡青松 caiqs@th.btbu.edu.cn 计算机学院 Operating System * * 第三章 死锁 计算机系统中,独占资源的访问往往由操作系统协调为排他性地访问,从而保护资源并协调多个进程的并发执行. 通过协调资源的排他使用和协调多个进程的并发执行(如前所述的避免竞争条件,进程并发互斥,IPC)并不能解决进程动态性所导致的另外一种相互等待的阻塞状态-死锁 通常情况下,全局性的资源共享与互斥使用、进程间通信和并发都可能导致相互等待的情况。 Operating System * * 第三章 死锁 3.1 资源 3.2 死锁概述 3.3 鸵鸟算法 3.4 死锁检测和恢复 3.5 死锁避免 3.6 死锁预防 3.7 相关的其它问题 小节 Operating System * * 3.1 资源 3.1.1 可抢占资源和不可抢占资源 资源可以划分为可抢占和不可抢占两类 可抢占资源 可以对拥有该资源的进程中抢占而不会产生任何副作用,这类资源称为可抢占资源。 不可抢占资源 指在不引起相关的计算或者处理失败的情况下,无法把它从占有的进程抢占的一类资源。 一般而言,进程间的死锁问题多由不可抢占资源的排他性使用引起。对于可抢占资源,若存在潜在的死锁,可以通过进程间的重新资源调配来解决. Operating System * * 进程使用资源(不可抢占)所需要的事件可以表述为 请求资源 使用资源 释放资源 不同许同的资源请求、使用及释放过程有所不同。 Operating System

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档