2016-07-11 LT
4.1 任务模型
- 任务具有较多的影响系统操作和代码长度的属性。
- OSEK/VDX操作系统不允许在相同优先级上的任务循环调度。
- 基本任务具有三种状态:阻塞、就绪和运行。
- 状态之间切换取决于四种事件:激活、启动、抢占和终止。
- 基本任务可被配置为自启动。
- 扩展任务四种状态:等待、阻塞、就绪和运行。
- 扩展任务切换取决于六种事件:wait、trigger、激活、启动、抢占和终止。
- 0是最低优先级。
- 规范定义所需优先级的最少级数为8。
- 多重激活允许一个任务终止后立即再执行。
- 任务可配置为抢占与非抢占性。
- 任务向上兼容。
- 一个OSEK/VDX操作系统实现为了能与OSEK/VDX标准兼容,他必须至少完全支持一个符合类。
4.2 任务激活与终止
- ActivateTask()激活任务。
- ChainTask()终止当前任务,激活一个新任务。
- TerminateTask()终止任务。
4.3 其他任务服务
- DeclareTask()声明一个外部定义的任务。
- GetTaskID()确定那个任务处在运行状态。
- GetTaskState()当服务被调用时所给任务的状态。
4.4 任务调度
- 非抢占任务调度,任务结尾有Schedule()
- 全抢占任务调度。
- 混合抢占任务调度。抢占模式按任务的需求确定。