基于vxworks 的抢占式周期任务调度改进算法

基于vxworks 的抢占式周期任务调度改进算法

ID:24069070

大小:52.00 KB

页数:4页

时间:2018-11-12

基于vxworks 的抢占式周期任务调度改进算法 _第1页
基于vxworks 的抢占式周期任务调度改进算法 _第2页
基于vxworks 的抢占式周期任务调度改进算法 _第3页
基于vxworks 的抢占式周期任务调度改进算法 _第4页
资源描述:

《基于vxworks 的抢占式周期任务调度改进算法 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于VxWorks的抢占式周期任务调度改进算法唐甜,徐杰,张蕾(中航工业西安航空计算技术研究所):对传统的周期任务调度算法进行了改进,通过辅助时钟对周期任务进行定时,在固有的周期任务调度算法的基础上引入了错峰机制,使得不同的周期任务能够以从高到低的顺序错峰执行,改善了周期任务的执行时机,有效的提高了应用系统的性能。关键词:VxARGIN:0cm14pt0pt;mso-layout-grid-align:none"class=MsoNormal>:TP312:BImprovedpriority-basePreemptiveSchedulingArithmeticsbasedonVxARGIN

2、:0cm0cm2pt;mso-layout-grid-align:none"class=MsoNormalalign=center>TangTian,XuJie,ZhagLei(AVICputingTechniqueResearchInstitute)Abstract:Improvedtraditionalpriority-basePreemptiveSchedulingArithmeticsandtimingcycletaskbytheauxiliaryclock.Peakmechanismisintroducedbasedontheinherenttaskschedulingalgor

3、ithm,akedifferentcycletaskinorderfromhightoloprovedcycletaskexecutiontimeandimprovetheperformanceeffectivelyoftheapplicationsystem.KeyptiveSchedulingArithmetics0引言ARGIN:4pt0cm;mso-layout-grid-align:none"class=MsoNormal>1周期任务调度不同的功能模块执行在不同的周期中,这个不同的周期称之为周期任务,而调度这些周期任务的功能模块则称之为周期任务调度。VxARGIN:0cm0cm0

4、pt;mso-layout-grid-align:none"class=MsoNormal>基于优先级的抢占式调度算法,是为系统中的任务分配一个介于0到255之间的优先级号,任意时刻,内核把CPU分配给处于就绪态的优先级最高的任务,若系统内核发现更改优先级的任务处于就绪态,则立刻保存当前任务的上下文并将其状态转变为阻塞态,同时开始执行高优先级任务的上下文,待高优先级任务执行完毕才开始自行低优先级任务。基于时间片轮转调度算法,适用于相同优先级的多个任务之间,是让这些任务中处于就绪态的任务公平分享CPU,内核让该组任务依次轮流执行已经确定好的时间片,当一个任务到达时,将被排在对尾,待分配给自己

5、的时间片到来时执行,如果时间片内未执行完毕,则继续等待下一次时间片,直到任务执行完毕。2抢占式周期任务调度改进算法和传统的使用中断来创建嵌入式周期任务调度方法不同,本文介绍的抢占式周期任务调度改进算法,是通过辅助时钟进行基础定时,进而在不同的时间周期内释放不同周期任务的信号量来对周期任务的定时周期进行设置。同时,本文提及的算法还修改了传统周期任务的执行时机,使得相同时机触发的周期任务能够错峰执行,有效的改善了传统周期任务调度的性能。以辅助时钟的时钟周期为1ms,创建2ms、4ms和10ms三个周期任务为例,本文拟通过创建初始任务、周期任务调度和周期任务执行三个方面描述本算法。2.1创建初始

6、任务首先应创建辅助时钟的定时周期为1ms,并在此基础上创建周期任务调度任务、2ms周期任务、4ms周期任务以及10ms周期任务,任务创建完毕后,根据周期任务的时间设置每个周期任务的优先级、挂接函数等内容。本算法设置的任务优先级由高到低依次为周期任务调度任务、2ms周期任务、4ms周期任务以及10ms周期任务。2.2周期任务调度初始任务创建完毕后,则应开始设置周期任务调度的具体算法,周期任务调度函数的定时周期应选取各个周期任务的公约数,本算法选取1(单位ms)作为本算法周期任务调度的定时周期。传统的周期任务调度算法就是根据定时器进行周期控制,周期时间到时,根据周期任务的优先级决定首先执行的是

7、哪个周期任务,其缺点在于当达到几个周期任务的最小公倍数时,不同时间的周期任务在同一时刻触发,而高优先级抢占了低优先级任务的内存空间,导致低优先级的任务被高优先级多次打断,若在高优先级任务列表内,包含低优先级任务的相关数据信息,这样的调度方式则破坏了低优先级数据的一致性,为了改变这种弊端,本文提及的周期任务调度图,分别在次低优先级任务和低优先级任务上添加了相对于高优先级周期任务1ms和2ms的延时操作,使不同的周期任务能够

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。