目录
1.任务与多任务
多任务环境允许实时应用程序由一系列独立的任务构成,这些任务拥有自己的执行与系统资源。
2.VxWorks系统任务
根据具体的配置,VxWorks在启动时将运行各种系统任务,其中有些任务会一直运行。
VxWorks基础任务如下:



可选组件任务如下:



3.任务拥有权与继承属性
根用户是所有任务和RTP的默认拥有者。可以使用如下函数了解任务拥有权与继承属性:
- getuid()
- getgid()
- setuid()
- setgid()
- taskShow()
- ps -l (用于RTP)
4.任务状态和转换
下表描述了在开发工具中课件的任务状态和状态符号。需要注意的是,任务状态是可以累加的,同一时刻一个任务可能处于多个状态下。

Shell命令行中的任务状态示例

基本的任务状态转换图示
下图展示了基本的任务状态转换关系。为了简化关系,图中没有展示上述的叠加状态,也没有展示STOP状态。
注意:taskSpawn()函数将创建一个任务,并使之进入Ready状态;taskCreate()函数将创建一个任务,并使之进入suspend状态。

本文全面介绍了VxWorks实时操作系统中的任务管理概念,包括多任务环境、任务状态转换、任务调度策略、任务创建与控制、任务栈管理、任务信息获取等核心内容。深入探讨了任务调度控制、任务删除保护、任务错误处理机制,以及如何实现任务栈保护和任务扩展。
最低0.47元/天 解锁文章
1801

被折叠的 条评论
为什么被折叠?



