软件集成过程中,调度优先级是一个很重要的因素。成熟的优先级设置理念有Rate Monotonic Scheduling(RMS)、Criticality Aware Priority Assignment (CAPA)等方法。其中,RMS方法的设计理念是:周期越短,优先级越高;CAPA方法的设计理念是:安全等级越高,优先级越高。然而,单独利用任何一种方法,都不能达到满意的调度效果。使用RMS方法设置优先级,则所有任务的运行都能满足其截止期限(deadline)的要求,但是不能保证“freedom from interference”;使用CAPA方法可以保证低安全等级的任务不影响高安全等级的任务,但CPU资源利用效率低,资源浪费严重。
Autosar时序保护机制提升设计空间
时序保护机制是Autosar的一项系统服务,它对运行中的控制器上的一个(或几个)任务的执行时间进行监控。如果有任务的实际运行时间超过了预设的最大执行时间,系统将会判定为错误并且对该错误进行相应的处置。虽然这种方式不能完全消除严重等级反转(criticality inversions)的问题,但使问题出现的可能性得到了有效的控制。该时序保护机制可以使系统满足ISO26262的相关安全要求,特别是“absence of error propagation”这一点。一般说来,时序保护机制需要根据应用的最高ASIL等级来设计。为了合理的对时序保护机制进行配置(尤其是最大执行时间的设置),对最差情况下的任务调度(WCRT&WCET)进行分析和预测是必须的。如图2所示,在综合利用时序保护机制和周期转化(所谓周期转化即指将周期长的任务分割为执行时间较短的多个子任务,且此多个子任务仍能够在原任务周期内完成)两种设计理念的条件下,所有安全和实时性相关的需求均得到了满足。即,不存在低安全等级对高安全等级任务的干扰,且所有任务均在其周期时间内执行完成。