处理机调度与死锁PPT课件.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文档。上传文档
查看更多
处理机调度与死锁PPT课件

第三章 处理机调度与死锁 不事先采取限制去破坏产生死锁的条件,而是在资源的动态分配过程中,用某种方法去防止系统进入不安全状态,从而避免死锁的发生。(如银行家算法) 避免死锁(deadlock avoidance) 事先只需要较弱的限制条件,可获得较高的资源利用率和系统吞吐量。 实现较难。 系统安全性和银行家算法 银行家算法的思路 系统安全状态 银行家算法 银行家算法的思路 【问题】一个银行家拥有一千万资金,有10家工厂筹建,且每家工厂需要200万方可建成。如何合理分配资金问题?? 银行家算法的思路 【分析】如果将一千万均分给10家,则每个工厂都无法建成,也不能还贷,也即这10家工厂将“死锁”。若给其中的三个工厂200万,另4家工厂100万,这样,虽然有3家工厂未开工,但有3家可以建成投产,这3家工厂获得的利润可以给银行还贷,银行家再利用还贷的资金继续给其它工厂投入,直至最终10家工厂都建成投产。 银行家算法的思路 银行家可以把一定数量的资金供多个用户使用,为保证资金的安全银行家规定四个条件: (1)当一个用户对资金的最大需求量不超过银行家现有资金时就可接纳该用户;(Request = Available ) (2)用户可以分期贷款,但贷款的总数不能超过最大需求量;(Request=Need) 银行家算法的思路 (3)当银行家现有的资金不能满足用户的尚需贷款数时,对用户的贷款可推迟支付,但总能在用户有限的时间里得到贷款; (不符合“安全性条件”暂时不给贷款) (4)当用户得到所需的全部资金后,一定能在有限的时间里归还所有的资金。 死锁避免定义 在系统运行过程中,对进程提出的每一个(系统能够满足的)资源申请进行动态检查(安全性检查),并根据检查结果决定是否分配资源,若分配后系统可能发生死锁,则不予分配,否则予以分配。 安全状态:存在某种资源调度顺序,保证所有进程正常运行完成,则称该状态为安全状态 不安全状态:不存在可满足所有进程正常运行的资源调度顺序,则称该状态为不安全状态 虽然并非所有不安全状态都是死锁状态,但当系统进入不安全状态后,便有可能进入死锁状态;反之只要系统处于安全状态,系统便可避免进入死锁状态。因此,避免死锁的实质是如何使系统不进入不安全状态。 安全与不安全都是对静态进行的评价 安全状态 例:假定系统有三个进程P1、P2、P3,共有12台磁带机。进程P1总共要求10台磁带机,P2和P3分别要求4台和九台。设在T0时刻,进程P1、P2和P3已经获得5台、2台和2台,还有3台空闲没有分配。 进程 最大需求 已分配 还需 可用 P1 10 5 5 3 P2 4 2 2 P3 9 2 7 在T0时刻,系统是安全的。因为存在一个安全序列P2, P1, P3 安全状态举例 如果不按安全序列分配资源,则系统可能会由安全状态进入不安全状态。 如在T0以后,P3要求1台磁带机,若系统分给它一台,则系统进入不安全状态。因为其余2台分给P2,P2完成后,只能释放4台,这既不能满足P1(5台),也不能满足P3(6台),将导致死锁。可见当P3申请资源时,尽管系统中有资源也不能分给它。 由安全状态向不安全状态的转换 系统进入不安全状态 进程 最大需求 已分配 还需 可用 P1 10 5 5 2 P2 4 2 2 P3 9 3 6 银行家算法于1965年发表,该算法由Dijkstra提出。 1、银行家算法中的数据结构 可利用资源向量Available。它是一个含有m个元素的数组,其中每个元素代表一类可利用资源的数目。 如: 利用银行家算法避免死锁 R1 R2 R3 5 2 3 SJF的特点 优点: 比FCFS改善平均周转时间和平均带权周转时间,缩短作业的等待时间; 提高系统的吞吐量; 缺点: 对长作业非常不利,可能长时间得不到执行; 未能依据作业的紧迫程度来划分执行的优先级; 难以准确估计作业(进程)的执行时间,从而影响调度性能。 作业名 提交时间 运行时间 P1 10.1时 0.3小时 P2 10.3时 0.5小时 P3 10.5时 0.4小时 P4 10.6时 0.3小时 P5 10.7时 0.2小时 设有5道作业,它们的提交时间和运行时间如表 例1 作业名 提交时间 运行时间 开始运行时间 完成时间 P1 10.1时 0.3小时 10.1小时 10.4小时 P2 10.3时 0.5小时 10.4小时 10.9小时 P3 10.5时 0.4小时 11.4小时 11.8小时 P4 10.6时 0.3小时 11.1小时 11.4小时 P5 10.7时 0.2小时 10.9小时 11.1小时 执行的顺序为:

文档评论(0)

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

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

1亿VIP精品文档

相关文档