嵌入式技术论坛
直播中

麦克泰技术

7年用户 423经验值
擅长:嵌入式技术
私信 关注
[经验]

使用SAFECheckpoints验证任务调度性能

在基于任务优先级的抢占式调度机制中,会选择就绪的最高优先级任务执行,因此,需要仔细考虑分配给每个任务的优先级,它将直接影响任务何时被执行。任务调度还受中断影响,因为中断的优先级高于所有任务。过长或频繁的中断、更高优先级的任务都会导致较低优先级任务无规律的延迟或阻塞,称为时间破坏。
1 时间破坏
(Temporal Disruption)的例子
有时,运行在后台的低优先级的任务也有时间需求。例如,针对整个代码的CRC检查需要每小时执行一次。在图1中,CRC任务运行在较低优先级(Low Priority Task),经常会被高优先级任务(High Priority Task)抢占。在该系统中,还有一个中断触发的中等优先级任务(Medium Priority Task)。如果中断的频率太高,它将导致执行CRC检查的低优先级周期任务的启动和运行时间都不正常,可能下次检查周期开始时,上次周期处理还没有完成。
3.png 图1   时间破坏实例
2 避免时间问题
有许多已制定的方法处理调度过度执行的影响。减少时间干扰影响的方法包括:
  • 4.png

更多回帖

发帖
×
20
完善资料,
赚取积分