AUTOSAR OS TASK
什么是TASK?
我们在裸机中跑代码,程序永远只能单活动流水执行,当程序需要等待的时候,CPU就一直在waiting状态,无法高效的利用CPU,这个时候就引入了并发运行需求。一个系统能同时执行多个不同活动的系统叫做并发系统。其中这个系统中的每个并发执行的活动都由TASK(任务)表示,大多数应用程序都运行在TASK中。
什么是schedule?
在实时操作系统中,当我们由许多任务必须同时进行时,系统就必须提供一种允许并发运行的方法,一般来说一个处理器只能同时处理一个任务,单多处理器的硬件过于安徽,为了成本效益结合,操作系统提供了一种单核并发运行的机制,让多个TASK看起来在同时执行。这就是我们使用的实时系统任务schedule调度机制。
OS TASK!
在AUTOSAR OS中,我们引入了两种TASK机制:
-
BASIC TASK
-
EXTENDED TASK
BASIC TASK:
基本任务存在三种状态:准备(Ready)、运行(Running)、挂起(Suspend)。与扩展任务显著区别是不能进入阻塞状态,也就是不能等待OS的事件,并且在执行完成后会释放所占用的资源。基本过程为:Suspend-> Ready-> Running-> Suspend(循环)。相对于扩展任务,基本任务对于运行时上下文(RAM)的需求适度。
EXTENDED TASK:
扩展任务存在四种状态:准备(Ready&#