基于VxWorks的抢占式周期任务调度改进算法
2016-09-05中航工业西安航空计算技术研究所
电子测试 2016年10期
唐 甜,徐 杰,张 蕾(中航工业西安航空计算技术研究所)
基于VxWorks的抢占式周期任务调度改进算法
唐 甜,徐 杰,张 蕾
(中航工业西安航空计算技术研究所)
对传统的周期任务调度算法进行了改进,通过辅助时钟对周期任务进行定时,在固有的周期任务调度算法的基础上引入了错峰机制,使得不同的周期任务能够以从高到低的顺序错峰执行,改善了周期任务的执行时机,有效的提高了应用系统的性能。
VxWorks;抢占式周期任务调度
0 引言
WindRiver公司开发的实时操作系统VxWorks,以其良好的可靠性和卓越的实时性被广泛的应用于通信、航空、航天等领域,周期任务作为实时性的基本环节被广泛的应用于各种计算机控制系统中。
1 周期任务调度
不同的功能模块执行在不同的周期中,这个不同的周期称之为周期任务,而调度这些周期任务的功能模块则称之为周期任务调度。
VxWorks内核采用基于优先级抢占式(priority-base preemptive)调度算法和基于时间片轮转式(round-robin)调度算法。
基于优先级的抢占式调度算法,是为系统中的任务分配一个介于0到255之间的优先级号,任意时刻,内核把CPU分配给处于就绪态的优先级最高的任务,若系统内核发现更改优先级的任务处于就绪态,则立刻保存当前任务的上下文并将其状态转变为阻塞态,同时开始执行高优先级任务的上下文,待高优先级任务执行完毕才开始自行低优先级任务。
基于时间片轮转调度算法,适用于相同优先级的多个任务之……
登录APP查看全文
