目录
原理
任务与中断
任务
任务调度
RTA OS根据任务固定的优先级来执行任务切换,一般任务优先级的确定原则包括:
根据截止时间: 超时时间短的任务优先级高
根据执行频率: 执行频率快的任务优先级高
Autosar OS支持三种调度策略:
打断式调度 Preemptive Scheduling
始终执行当前ready任务中优先级最高的。一个任务运行时,当更高优先级任务处于就绪状态,则中断当前任务执行高级任务,高级任务完成后恢复原任务。
非打断式调度 Non-Preemptive Scheduling
按优先级高低执行当前ready的任务,但是当一个任务运行时,就算更高优先级任务就绪,也继续执行完当前任务。(非打断式调度中任务仍然会被中断打断)
混合式调度 Cooperative Scheduling(配置不支持)
任务默认按非打断式处理,但是任务执行过程中,可以通过调用Schedule API的方式自行决定可以在何时被打断。如果当执行API时有高级任务处于ready状态,则执行高级任务。
打断式任务具有最高的效率,