抢占式动态优先级实时调度算法.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文档。上传文档
查看更多
抢占式动态优先级实时调度算法

抢占式动态优先级实时调度算法摘 要:在嵌入式系统中,任务调度器的好坏很大程度上决定了系统的性能。该文分析了实时系统中具有代表性的静态和动态调度算法,结合剩余时间和EDF算法以及中断时抢占策略,结合各自的优点,提出一种新的动态调度算法——抢占式剩余时间算法。 关键词:截止期限 EDF 周期任务 实时调度 一、基于优先级的实时调度算法 在实时任务调度中,大量研究都集中于对调度策略的应用。基于优先级的实时调度算法是一种常见的调度算法,这类算法主要包括速率单调算法(Rate.Monotonic,RM)、最早截止期优先算法(Earliest Deadline First,EDF)。 RM算法具有简单的实现机制和较低的调度开销,被广泛应用于实时调度领域。然而仅以任务的周期作为优先级的判定条件,忽视了某些对于用户来说比较重要而周期长的任务,对一些周期负载较重的情况是不合适的。 最早截止期限优先算法(EDF),是一种动态调度算法。该算法的优先级根据他们的截止期限(Deadline)确定,具有最近的截止期限的任务具有最高的优先级。 如参考文献[3]中提到了一种RM改进的动态调度剩余时间算法,在每一次任务调度前,计算每一个等待任务的剩余时间,并按照各任务的剩余时间的长短为每一个任务分配或重新分配一个优先级,剩余时间越短,优先级越高。 二、抢占式剩余时间算法 1.算法描述 该算法对剩余时间算法的剩余时间计算方式做出改进,按照改进后的剩余时间为每一个任务分配或重新分配优先级,根据新的优先级采用抢占式任务调度策略。其中剩余时间Ts=Td-Tw,Td为任务截止期限,Tw为任务等待时间。 该算法按以下几种情况讨论。 (1)按任务的剩余时间大小对任务的优先级进行设定,剩余时间越短优先级越高。 (2)如果当前优先级队列中优先级最高的任务的剩余时间大于该任务需要运行的时问,则该任务被调用执行,否则不予执行。 (3)在优先级队列中,如果优先级相同,则考虑截止时间,截止时间小的优先执行。 (4)采用中断式抢占方式,不必等待当前执行任务结束,每个任务有一个独立的任务堆栈。 2.算法流程 算法步骤如下,在这里,时间单位被看作是某个假定时间基的滴答(tick)数。 步骤一:初始化TCB,设置时钟的初始时间。 步骤二:任务等待时间初始化为0,计算剩余时间,设置任务静态优先级。 步骤三:更新计数器。 步骤四:每隔一定时钟周期更新一次剩余时间,根据剩余时间重新设置任务优先级。 步骤五:若优先级队列中当前最高优先级高于当前执行任务优先级或当前任务执行完毕。 步骤六:产生中断,但前执行任务执行参数压入相应任务对战,当前状态改为就绪状态。 步骤七:调度优先级最高的任务执行,判断该任务的剩余时间和它执行时需要运行的时间,如果剩余时间小于执行时间,则该任务不被执行。将其暂时从优先队列里删除。继续从优先队列里调度下一个任务来进行相同的判断。检查任务当前状态,若堆栈内有执行参数信息,则恢复参数信息继续执行。 步骤八:返回步骤三,在此调度。 3.算法假设条件 为了简化分析,对任务集特征做出如下假设: (1)所有的任务都是周期性的,并且具有已知的周期。 (2)各个任务彼此相互独立。 (3)所有系统开销、中断处理、调度和上下文切换的时间被忽略(即假设开销为零)。 (4)任务之间在任意位置都是可抢占的,不存在临界区。 (5)所有任务的调度都是在单处理器上进行。 三、结束语 通过对实时系统中的经典调度算法进行分析、比较,在周期性任务组成的实时系统中,结合静态算法具有较小运行开销和动态EDF算法具有较小调度开销的特点以及剩余时间算法的及时性,对任务调度算法进行了改进,是对嵌入式系统调度策略的一次有益探索。 参考文献: [1]董吉文,张阳.嵌入式实时操作系统任务调度算法的改进与应用[J].计算机应用,2009(29). [2]李孝杰等.不确定环境下的嵌入式实时系统EDF调度算法研究与分析[J].西南民族大学学报(自然科学版),2009(35). [3]宋杰等. 一种新型的实时调度算法[J]. 计算机技术与发展,2010(20). (作者单位:淄博市技师学院) 1

文档评论(0)

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

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

1亿VIP精品文档

相关文档