第3章处理机调度与死锁.pptVIP

  1. 1、本文档共96页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 处理机调度与死锁 3.1.1 作业的概念 1.作业 3.2 分级调度 2.对换 3.进程调度 3.3 作业调度 3.3.1 作业调度的功能 3.3.2 调度算法的评价及准则 1.面向用户的准则 2.面向系统的准则 (2)响应时间快 2.面向系统的准则 3.4 进程调度 3.4.2 进程调度的时机 3.4.3 进程上下文的切换 3.4.4 Linux系统中进程调度发生的时机 3.5 调度算法 例1:现有4个作业,假设它们按顺序依次到达,但到达的前后时间忽略不计,要求运行时间分别为2秒、60秒、2秒、2秒,如表所示。假设作业提交时刻为0。若系统按FCFS算法进行作业调度,要求计算各作业的开始运行时间、运行结束时间、周转时间和带权周转时间。` 3.5.2 短作业(进程)优先调度算法 短作业调度算法(SJF)或短进程调度算法(SPF),是指对短作业或短进程优先调度的算法。 短作业优先调度算法对短作业带来明显的改善,同时降低了作业的平均周转时间,提高了整个系统的性能。 例2:仍然用例1中的4个作业,系统按SJF算法进行作业调度,要求计算各作业的开始运行时间、运行结束时间、周转时间和带权周转时间。 3.5.3 .高响应比优先调度算法 多道批处理系统的调度算法 1、基于先来先服务 2、基于优先级调度 3、分时与优先级相结合调度 4、综合考虑资源要求调度 3.5.4 优先级调度算法 解: (1)各作业进入时间和结束时间如下: 3.5.5 时间片轮转法 3.5.6 多级队列调度算法 3.5.7多级反馈队列调度算法 2.多级反馈队列调度算法的几点说明 3.6 Linux系统的调度算法 3.6.1 Linux系统的进程调度策略 3.6.2 Linux系统的优先级调度策略 3.6.3 实时进程的调度策略 3.7 死锁问题 3.7.2 产生死锁的原因及必要条件 (2)进程推进顺序不当 2.死锁产生的必要条件 (2)占有且申请条件 (4)环路条件 3.7.3 解决死锁问题的基本方法 3.死锁的检测 4.死锁的解除 3.8 死锁的预防 3.9 死锁的避免 3.9.1 系统的安全状态 3.9.2 由安全状态向不安全状态的转化 3.9.3 银行家算法 3.10 利用银行家算法避免死锁 3.10.2 银行家算法的实现 2.银行家算法的描述 3.安全性算法 安全算法的步骤: 3.10.3 银行家算法的应用 3.11 死锁的检测与解除 3.11.1 死锁检测的时机 3.11.2 死锁的检测 2.资源分配图的简化 4.死锁检测中的算法 3.11.3 死锁的解除 1.终止进程 2.抢占资源 本章小结 死锁的预防是排除死锁的静态策略。 死锁的避免,是一种排除死锁的动态策略,它不限制进程有关申请资源的命令,而是对进程所发出的每一个申请资源的活动加以动态地检查,并根据检查结果决定是否进行资源分配。即,在资源分配过程中预测是否会出现死锁,如不会死锁,则分配资源;若有发生死锁的可能,则加以避免。 第 3章 处理机调度与死锁 * 安全状态,是指系统中的所有进程能够按照某种次序得到资源,并且依次地运行完毕,这种进程序列{P1,P2,…,Pn}就是安全序列。 如果存在这样一个安全序列,则称此时系统处于安全状态。否则,如果系统不存在这样一个序列,则称系统是不安全的。 第 3章 处理机调度与死锁 * 例5:有三个客户C1,C2,C3,向银行家贷款。该银行家的资金总额为10个资金单位,其中C1客户要借9个资金单位,C2客户要借3个资金单位,C3客户要借8个资金单位,总计20个资金单位。这时,客户占用及还需资源的状态如下图所示,银行家该如何分配资金? 4 4 C3 1 2 C2 7 2 C1 还需申请资源 已分配资源 客户 第 3章 处理机调度与死锁 * 剩余的资源单位数是10-(2+2+4)=2。故,此时银行家只有将资金分配给C2,才能最终收回贷款。然后,再将资金依次分配给C3和C1,这样银行家能最终收回所有的贷款。这里就存在一个安全序列,即:{C2,C3,C1}。我们说此时系统是安全的。 第 3章 处理机调度与死锁 * 如果不按照安全序列的顺序分配资源,则系统可能由安全状态进入不安全状态。例如:若在T0时刻以后,C3又申请到2个资金单位,则系统进入不安全状态。因为,此时无法再找到一个安全序列,结果造成系统产生死锁。由此可见,当C3申请资源时,尽管当时系统中还有可用资源,但却不能分配给它,必须让它等待。按银行家的术语说,某客户若无偿还能力时,就不要贷款给它。 第 3章 处理机调度与死锁

文档评论(0)

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

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

1亿VIP精品文档

相关文档