RMS模块.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RMS模块

RMS 任务按单调速率优先级分配(RMPA)的调度算法,称为单调速率调度(RMS)。RMPA是指任务的优先级按任务周期T来分配。它根据任务的执行周期的长短来决定调度优先级,那些具有小的执行周期的任务具有较高的优先级,周期长的任务优先级低。RMS(Rate-Monotonic Scheduling)调度算法不考虑n=1的情况。RMS是单处理器下的最优静态调度算法。1973年Liu和Layland发表的这篇文章的前半部分首次提出了RM调度算法在静态调度中的最优性.它的一个特点是可通过对系统资源利用率的计算来进行任务可调度性分析,算法简单、有效,便于实现。不仅如此,他们还把系统的利用系数(utilization factor)和系统可调度性联系起来,推导出用RM调度所能达到的最小系统利用率公式. 同时,这篇论文中透露出来的证明思想和方法也被人们所效仿. 下面就让我们来看看这篇文章中关于RM调度算法的重要结论。任何一个结论都有一个模型假设,让我们先列出这里的假设: (A1) 所有的任务请求都是周期性的,必须在限定的时限内完成; (A2) 任务的作业必须在该任务的下一个作业发生之前完成,这样避免了考虑队列问题; 在这里,我们对任务和作业不作特别的区分,因为一个任务请求就是一个作业。 (A3) 任务之间都是独立的,每个任务的请求不依赖于其他任务请求的开始或完成; (A4) 每个任务的运行时间是不变的,这里任务的运行时间是指处理器在无中断情况下用于处理该任务的时间; (A5) 所有的非周期性任务都在特殊的情况下运行,比如系统初始化或系统非正常紧急处理程序。 (A6) 其它一些假设,比如,单处理器,可抢占调度,任务切换的时间忽略不计等等。 ⑴ 任务T i (P i,Ci,D i) 模型: 周期为P i,计算时间为Ci,时限D i 为周期终点。任务在周期起点释放,高优先级任务可抢占低优先级任务的执行。 优先级分配方法: 静态固定分配。优先级与周期成反比,周期越短优先级越高。 可调度性分析: 如果任务集满足下式,则该任务集可调度。 n个独立的周期任务可以被RMPA调度,如果U=n(2^(1/n)-1)。一个任务的响应时间(response time)是指一个任务请求,这个任务实际完成的时间跨度。在静态调度中,任务的临界时刻(critical instant)这个概念被首先提出来.它被定义为一个特定的时刻,如果在这个时刻有这个任务的请求,那么这个任务就会需要最大的响应时间。由此得出定理1:一个任务的临界时间就是比这个任务优先级高的所有任务同时发出请求的时刻。 证明: 由于一个任务的响应时间是它自己的负载时间加上被其它优先级高的任务所打断的时间。由于自己的负载时间是固定的,我们考虑在什么时候任一高优先级的任务会有最长的打断时间。显然,只有当这一高优先级的任务与该任务同时请求处理时,才能可能产生最大的打断时间。 定理1的价值在于它找到了一个证明一个调度算法能否调度任一任务集充分必要条件,那就是所有任务同时请求执行的时的情况下每个任务仍能满足各自的期限,那么这个任务集就可以被这个调度算法调度。 有了这个推论,我们就可以证明RM调度的最优性了。 如果一个任务集能够被静态调度,那么RMS算法就能够调度这个任务集. 从这个意义上说,RMS是最优的静态调度算法。这个定理的证明方法就是有名的交换法。证明思路如下: 假设一个任务集S采用其他静态优先级算法可以调度,那么总有这样两个优先级相邻的任务i和j,有TiTj,而Pi≤Pj.把Ti和Tj的优先级Pi和Pj互换,明显可以看出这时S仍然可以调度,因为在所有任务同时请求的情况下,交换这两个任务不会影响其它任务的完成时间,同时这两个任务都可以在各自期限内完成.按照这样的方法,其他任何静态优先级调度最终都可以转换成RM调度。 RMS已被证明是静态最优调度算法,开销小,灵活性好,是实时调度的基础性理论。即使系统瞬时过载,也完全可预测哪些任务丢失时限。缺点是处理机利用率较低,最坏的情况下,当n→∞时,不超过ln2(≈ 70%)。另外,RMS是充分但非必要条件。而在一般情况下,对于随机的任务集大约只有88%.70%或者88%的处理器利用率对于许多实时应用来说是一个严重的限制,动态调度算法如最早截止期最先(earliest deadline first,EDF)或者最少空闲时间最先(least laxity first,LLF)已经被证明是最优的,并且能够实现100%的处理器利用率。 具有资源同步约束的RMS调度当实时任务间共享资源时,可能出现低优先级任务不可预测地阻塞高优先级任务执行的情况,叫优先级倒置。这时RMS 算法不能保证任务集的调度,必须使用有关协议控制优先级的倒置时间。常用的协议有优先级顶级协议和堆资源协议,

您可能关注的文档

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档