os_05处理机调度与死锁.pptVIP

  1. 1、本文档共52页,可阅读全部内容。
  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文档。上传文档
查看更多
os_05处理机调度与死锁,处理机调度与死锁,处理机调度算法,处理机调度可以分为,处理机调度算法的实现,死锁的四个必要条件,mysql死锁,oracle死锁,数据库死锁,线程死锁

调 度 资源管理器模型 阻塞进程 资源描述表 处理机调度(schedule) OS中的调度实质上是一种资源分配。概念上, CPU调度指为一组就绪的进程进行CPU分配的过程。 CPU调度程序是由用于上下文切换的机制和确定就绪进程分配CPU顺序的策略 [算法]构成的。 机制(mechanism)与策略(policy) 调度机制提供工具和环境来控制进程在不同的状态和队列间的转移;确定进程管理器如何时分复用CPU,进程如何被分配CPU和放弃CPU。 调度策略定义了调度程序该从就绪队列中选择哪一个进程来执行,以及什么时候进程被剥夺CPU。 处于运行态的进程放弃CPU的原因 进程执行结束。 进程请求资源,但资源管理器确定不能为进程分配资源。进程进入阻塞态并且进入资源管理器的等待队列。 中断产成后,CPU调度程序依据策略剥夺进程对CPU的使用,将其置入就绪队列。 调度机制 中断系统能够定期强制中断任何进程的执行。这种非自愿CPU共享技术的调度程序被称为剥夺式调度程序。这种技术可以由时钟和时钟驱动程序完成:时钟提供时间片单位,时钟设备处理程序调用调度程序完成重新调度。 调度机制 概念上,调度机制由几个不同部分组成:排队器、分派器和上下文切换器。 当一个进程变为就绪时,它的描述表会被更新来反映这种变化,排队器组件将描述表指针放入等候CPU的进程列表中。 当调度程序把CPU从一个正在执行的进程中切换到另一进程执行时,上下文切换器组件将保存所有CPU寄存器的内容,保存到正在被移出的进程的描述表中。 当应用程序进程被移出后,分派器被激活,从就绪队列中选择一个进程,而后完成从它选择的进程间的又一次上下文切换,从而分配CPU给选定的进程。 调度程序的实现 逻辑上说,调度程序由3个函数实现: 当一个进程变换到就绪态时,调度程序的排队器组件会被调用。 OS中通常包含了一个保存内部CPU状态的函数。这是上下文切换代码的关键部分,也是系统调用和中断处理程序的一个重要部分。 分派器是调度程序的主要部分,当为一个新进程分配CPU时,它会被调用。在中断驱动的系统中,分派器可以在中断/设备处理完中断之后被调用。 调度程序的实现 分派器运行时,CPU切换到核心模式,运行进程的CPU状态被保存,OS代码开始运行。CPU开始执行与系统调用或中断相关的特定的OS代码。当OS代码完成时,分派器被调用。分派器代码实现系统选择的策略,从就绪队列中选取一个进程运行。 算法与性能 调度程序的执行时间被视为系统开销,它的执行效率对整个系统的行为的影响也极为关键。调度算法必须为选择哪个进程来执行定义标准。在每种情况下,性能决定了算法的选择。 调度算法是根据系统的资源分配策略所规定的资源分配算法。 选择调度算法的若干准则 在一个操作系统的设计中,如何选择调度方式和调度算法,在很大程度上取决于操作系统的类型和目标。选择调度方式和算法的准则,有的是面向用户的,有的是面向系统的。 面向用户的准则 周转时间 相应时间 截止时间 优先权 面向系统的准则 系统吞吐量 处理机利用率 资源的平衡利用 进程调度模型 调度算法-FCFS 短进程优先[SPF] 高优先权优先调度算法 非抢占式优先权 抢占式优先权 优先权的设置 静态优先权- [进程类型、资源需求、用户要求] 动态优先权 优先权设置-高响应比优先 时间片轮转及多级反馈队列 死锁处理 5.4 死 锁 临界区的存在导致了死锁问题。在软件中,如果一个进程在请求资源时持有另一个资源时,就有可能产生死锁。 网格锁 死锁产生的主要原因 竞争资源。当系统中供多个进程所共享的资源,不足以同时满足它们的需要时,引起它们对资源的竞争而产生死锁; 进程推进的顺序不当 。进程在运行过程中,请求和释放资源的顺序不当,导致进程的死锁。 竞争资源 1 竞争非剥夺性资源: 2 竞争临时性资源 产生死锁的必要条件 互斥 请求和保持 不剥夺 环路等待 在一组合作进程间,只有以上四个条件同时成立时,死锁才可能发生。 处理死锁的主要方法 预防 避免 检测与恢复 人工死锁管理(特别的方法) 死锁的预防 针对死锁产生的四个必要的条件 互斥 请求和保持 不剥夺 环路等待 在一组合作进程间,只有以上四个条件同时成立时,死锁才可能发生。 死锁的避免 死锁的避免依赖于资源管理器预测满足各个分配请求的效果的能力。如果一个请求可能发生死锁的情形,死锁避免策略将拒绝该请求。由于死锁避免是一种预测行为,因而它依赖于有关运行进程发生的有关资源活动的信息。 死锁避免是一种保守的策略,如果有死锁的潜在可能性,那么拒绝分配资源。这种策略会使资源得不到充分利用,因而在现在操作系统中,该策略很少被采用。 使用银行家算法避免死锁 银行家算法是最有代表性的避免死锁算法,是Dijkstra

文档评论(0)

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

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档