新闻中心

EEPW首页>嵌入式系统>设计应用> 记录仪实时多任务调度策略的研究

记录仪实时多任务调度策略的研究

作者: 时间:2013-10-24 来源:网络 收藏


中断服务程序由中断消息(标志)处理程序和中断任务处理程序两部分组成,前者仅仅完成消息(标志)处理就退出中断,而中断真正要完成的操作,是在任务调度模块的协调下,由中断任务处理程序来完成。如按下显示,则按键中断消息处理程序只产生一个按键消息(标志)就退出中断,而调度模块依据按键消息,调用按键中断任务处理程序获取键值,并产生显示消息。调度模块依据显示消息,调用显示任务程序。

3 实时

多任务的系统,通常采用内核来管理各个任务,也就是通过内核为每个任务分配CPU时间,并负责任务之间的通信。根据任务的调度机制,可以分为非占先式内核和占先式内核。前者要求每个任务能够主动释放CPU等资源,后者则支持对当前任务的CPU使用权的剥夺,从而使更高优先级就绪任务得到CPU控制权进而执行。

嵌入式系统采用何种调度策略,通常要考虑三个因素:系统的处理能力,任务的数目,系统对响应时间和执行效率的要求。抢占式调度能改善高优先级任务的实时性,但系统开销较大;非抢占式调度恰好与抢占式相反。针对记录仪,提出抢占式和非抢占式的复合。记录仪的正常工作周期为1s,调度模块的工作周期亦为1s,并将1s分为三个时段:0s-0.5s,0.5-0.8s,0.8s-1s,实时时钟在0s, 0.5s, 0.8s各产生一次中断,将Time-flag分别设置为0,5,8,并将Attemper-flag置为0。任务调度程序框图如图2所示。
记录仪实时多任务调度策略的研究
在记录仪一个工作周期(1s)内,复合调度策略,允许高优先级任务三次抢占低优先级和后台任务,而低优先级任务具有两次抢占后台任务的权力。因此,高优先级任务的响应时间t≤0.5s,低优先级任务的响应时间t≤0.7s。由于抢占的次数有限,所以任务切换开销不大,有利于提高系统效率。

抢占式和非抢占式的复合已成功应用于某记录仪,达到了预期的目标。

首先,软件设计模块化,不同的功能模块编制成相应的任务,由调度模块按优先级别调用。而且兼顾了高优先级任务的实时性和系统运行的高效性。这样,大大降低了系统的故障率。低优先级任务发生阻塞时,高优先级任务的执行不受其影响。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭