最近新建了一个AUTOSAR微信群用于技术交流,有兴趣的小伙伴加文末微信拉群!
我们使用一种东西,如果出现两种方法的时候,总有争议,究竟哪种方法更好?“倚天剑与屠龙刀谁更强?”,在AUTOSAR OS中TASK也有这个争议,究竟是哪种TASK对我们设计调度更准确?
1.两种TASK的差异
BASIC TASK:
基本任务存在三种状态:准备(Ready)、运行(Running)、挂起(Suspend)。与扩展任务显著区别是不能进入阻塞状态,也就是不能等待OS的事件,并且在执行完成后会释放所占用的资源。基本过程为:Suspend-> Ready-> Running-> Suspend(循环)。相对于扩展任务,基本任务对于运行时上下文(RAM)的需求适度。
EXTENDED TASK:
扩展任务存在四种状态:准备(Ready)、运行(Running)、挂起(Suspend)、等待(Waiting)。与基础任务显著区别是可以进入阻塞状