实时系统的进程调度策略.docVIP

  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文档。上传文档
查看更多
实时系统的进程调度策略

实时系统的进程调度策略 摘要:本文说明实时系统的定义及分类。对各种实时系统进程调度策略进行了讨论,他们是基于优先级,基于比例共享,基于时间的进程调度算法,其中第一种是大多数实时系统采用的。再就四种实时操作系统采用的调度策略进行了分析比较,他们采用的策略是各种因素的折中。 1实时系统概述 1.1实时系统定义 POSIX标准对实时系统作了这样的定义:指系统能够在限定的响应时间内提供所需水平的服务。而一个更为大家接受的定义是:一个实时系统是指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。 1.2实时系统分类 实时系统根据其对于实时性要求的不同,可以分为软实时和硬实时两种类型。硬实时系统就是系统必须及时地对事件做出反应,绝对不能发生错过事件处理或超出截止期的情况。例如控制火箭发射的系统;而在软实时系统中,当系统负载较高时允许发生少数事件处理错过截止期的情况,像实时多媒体系统就是一种软实时系统。 目前世界上比较有影响力的实时操作系统主要有Lynx实时系统公司的LynxOS、QNX软件系统有限公司的QNX以及两种具有代表性的实时Linux--新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux。 2实时系统调度策略 一个计算机系统为了提供对于实时性的支持,它的操作系统必须对于 CPU 和其他资源进行有效的调度和管理。调度算法实际上就是系统所采取的调度策略。下面将先从分类的角度对各种实时任务调度算法进行讨论,再就以上提及的四种实时操作系统采用的调度策略分析比较。 各种实时操作系统的实时调度算法可以分为如下三种类别:基于优先级的调度算法(Priority-driven scheduling-PD)、基于CPU使用比例的共享式的调度算法(Share-driven scheduling-SD)、以及基于时间的进程调度算法(Time-driven scheduling-TD),其中第一种算法是大多数实时系统所采用的。下面对这三种调度算法逐一进行介绍。 2.1. 基于优先级的调度算法 基于优先级的调度算法给每个进程分配一个优先级,在每次进程调度时,调度器总是调度那个具有最高优先级的任务来执行。根据不同的优先级分配方法,基于优先级的调度算法可以分为如下两种类型: 静态优先级调度算法: 这种调度算法给那些系统中得到运行的所有进程都静态地分配一个优先级。它是在系统开始运行前进行调度的,严格的静态调度在系统运行时无法对任务进行重新调度.静态优先级的分配可以根据应用的属性来进行,比如任务的周期,用户优先级,或者其它的预先确定的策略。静态调度算法实现简单,调度的额外开销小,在系统超载时可预测性好. 但也具有很大的局限性,例如资源利用率低、受系统支持的优先级个数限制以及灵活性和自适应性差等. 下面介绍两种常见的静态调度算法. 速率单调调度 Rate Monotonic Scheduling RMS算法将最高优先级赋予最高执行频率的任务,以单调的顺序对剩余的任务分配优先级. 由于采用抢占式的调度方式,高优先级的任务就绪后立即抢占正在运行的任务. RMS 算法的优点是开销小,灵活性好,可调度性测试简单. 在任务的截至时间等于其周期的条件下,速率单调算法已被证明是静态最优的调度算法 . 截止时间单调调度 Deadline Monotonic Scheduling DMS算法是在速率单调调度的基础上发展起来的.不同的是任务的优先级按截止时间来分配. 截止时间短的任务优先级高,截止时间长的任务优先级低.截止时间调度具有与速率单调算法相同的优点. 但DMS 算法放松了对任务的周期必须等于其截止时间的限制. 在任务的截止时间小于或等于其周期的情况下,DMS 已被证明是静态最优的调度算法. 动态优先级调度算法: 这种调度算法根据任务的资源需求来动态地分配任务的优先级,其目的就是在资源分配和调度时有更大的灵活性。非实时系统中就有很多这种调度算法,比如短作业优先的调度算法。下面介绍两种常见的动态调度算法 最早截止时间优先算法 Earliest Deadline First 抢占式EDF 调度算法是一个动态优先级驱动的调度算法,其中分配给每个任务的优先级根据它们当前对最终期限的要求而定. 当前请求的最终期限最近的任务具有最高的优先级,而请求最终期限最远的任务被分配最低优先级. 这个算法能够保证在出现某个任务的最终期限不能满足之前,不存在处理器的空闲时间 . 抢占式EDF 调度算法最大的优势在于,对于任何给定的任务集,只要处理器的利用率不超过100 % ,就能够保证它的可调度性. EDF 算法在系统的负载相对较低时非常有 效. 但在系统负载较重时,系统性能急剧下降,引起大量任务错过

文档评论(0)

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

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

1亿VIP精品文档

相关文档