linux 嵌入式实时调度原理.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文档。上传文档
查看更多
实时调度 资料 摘自 《清华大学自动化系ARM培训教材》 实时系统逐渐成为人们研究的热点。而其中的操作系统或者更确切的说,操作系统中 的调度部分是实时系统的重中之重。小到实验室设备,大到航空航天,实时系统得到了广 泛的应用。 那么什么是实时系统呢?人们一般认为,实时的特征有两点,那就是系统不仅需要给 出合乎逻辑的计算结果,而且其处理时间还需要满足一定的要求,比如说不能超过某个截 止时间等等。 我们可以把实时系统分为两类,一类是硬实时(Hard Real-Time) ;另外一类 则是软实时(Soft Real-Time) 。 所谓硬实时是指如果系统对某个实时任务的处理未能在某 个截止时间开始或者结束的话,最终的结果将是灾难性的,这就意味着即便是处理结果合 乎逻辑但是仍然毫无意义; 而在软实时系统中,处理任务启动或者结束的截止时间只是一 个期望值,并不见得必须满足;即便是处理时间超过了截止时间,也是有意义的。 另外我们还可以按照处理任务的特点将实时系统划分为周期性(Periodic)和非周期性 (Aperiodic)两种。一个非周期性的任务启动或者结束有一个截止时间必须要满足;而周 期性任务则是指处理任务需要在某个时间周期里面完成处理。 z 实时操作系统特点 实时操作系统与普通操作系统的区别主要表现在五个方面, 这就是其任务处理的确定性、响应灵敏度、用户参与控制、可靠性以及故障保护措施上。 实时操作系统应当能够做到这一点:实时任务处理的开始时间和结束时间应当是确定 的、可预测的、这在实时处理上显得非常重要。从这方面来讲,在实时操作系统中,系统 的吞吐量和确定的任务处理相比,要次要的多,实时操作系统的任务处理具备一定的确定 性。 衡量系统的确定性有一个比较好的指标,就是系统从接到要求处理的中断和对应的处 理任务启动这两个事件发生的时间间隔。一般操作系统这个时间参数很大,而且可能会有 几个数量级的变动。而在实时操作系统中,它应当很小,并且比较稳定,有一个上限值。 和系统的确定性相关联的是系统的响应灵敏度,它可以定义为系统响应请求的时间。 它所关心的是,系统在确认任务请求之后,需要花费多长时间来处理完相关的计算任务。 不难看出,系统的确定性和系统的响应灵敏度共同构成了系统对外界时间的反应时间。 用户参与控制是实时操作系统不同于一般操作系统的又一重要特点。在一般操作系统 中,用户所能做的至多只能是希望系统如何如何,而最后系统完成的如何,那就看系统自 己的了。而实时操作系统就不同了:当用户发出控制指令后,系统应严格按照指令办事, 并且用户可以实现对系统尽可能多的控制,甚至于到系统的调度算法上。 实时操作系统为了完成一些对处理时间敏感的计算任务,必须要强调可靠性。对于一 般的系统而言,某个运行错误可能导致的系统重启或者处理能力下降等问题对系统本身影 响并不大。而在实时系统中,这样的错误可能是灾难性的。 计算机系统在运行过程中,难免会出现某些运行故障。由于这些突发故障可能会带来 灾难性后果,我们就更关心一旦故障发生之后,应该怎么办的问题。一般实时系统都有比 较完备的故障保护措施, 用于在系统发生运行故障之后, 尽可能多地保护系统的运行结果, 从而为系统的再恢复打下基础。另外,有些系统会有冗余设计,从而降低系统运行的故障 率。 z 实时调度(Real-Time Scheduling) 在考察实时调度算法时,我们可以从三个角度对各种各样的调度算法进行分类:首先 看系统是否做调度分析;如果有的话,然后就看是静态分析还是动态分析;最后看这个分 析结果是否直接影响到进程的实时分派。据此,我们可以将各种实时调度算法大体上分为 四类,即 ST类、SPP 类、DP 类、DBE类。 静态表驱动调度 ST(Static Table-driven)类调度算法就是根据相关信息做出一个切实可行的实时调度 计划表,并在系统实时运行时严格按照这个表来调度进程。这类方法比较适合周期性任务。 调度分析所需要的信息包括周期性到达时间、执行时间、周期性结束截止时间以及各个任 务的优先级等。 调度算法希望能够制定出一个进程调度计划表来满足所有周期任务的要求。 这个方法是确定性的,可以预测实际运行效果,但是却不灵活。并且如果某个任务的特征 有所改变的话,就需要整个调度计划表重新编制。 静态优先级驱动调度 SPP(Static Priority-driven Preemptive)类调度算法也是需要做出一个静态调度计划表 来,但是这么一个表只是在赋予各个任务优先级的时候提供参考,在系统实际运行时,按 赋予任务的优先级来进行抢占式调度。这类调度算法的典型代表就是后面要讲到的 RMS 调度算法。 动态规划调度

文档评论(0)

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

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

1亿VIP精品文档

相关文档