文档介绍:V x W o r k s 6 5 3 运 行 时 系 统 运行时层
一个 vxworks653 模块由下面四层组成:
core OS —必需
partition —至少需要一个 (vThreads或COIL-based),每个都在一个分区的操作系统之中
APEX shared library—ARINC 653 应用所需
POSIX shared library—POSIX 应用所需
Core OS 层
核心操作系统提供服务给分区。
缺省的,核心操作系统使用 ARINC653规范中的时间抢占的调度(TPS来调度分区。Vxworks653的核心操
作系统还可以采用 APPS调度策略在TPS调度的空闲时间内调度优先级抢占调度( PPS使能的分区。
核心操作系统提供给每个 VThreads分区操作系统的服务包括:
分区系统资源
调度分区
代表分区的操作系统执行 trap 异常
定义和强制分区边界
装载分区
使用端口和通道在分区间传递消息
处理 I/O
代表应用完成系统调用
支持分区的调试 监控分区和系统的健康
vThreads 层
vThreads分区操作系统在核心操作系统分配给该分区的时间内调度 vThreads中的线程。
vThreads 不直接与设备交互,而是通过核心操作系统的系统调用。
APEX 层
构建在vThreads之上,遵循 ARINC653规范,并且提供相应功能和 API。
POSIX层
构建在vThreads之上,遵循用于实时扩展的 POSIX标准()。
装载和启动 当目标板加电时,按照下面的步骤进行装载和启动
初始的启动码装载核心操作系统,分区操作系统,共享库,以及应用 核心操作系统初始化自身,启动它自己的子系统
核心操作系统创建分区 核心操作系统启动分区调度器,并且让应用初始化自身
核心操作系统可以在初始化完成之后下载在线装载的应用程序到分区。应用可以在分区运行之时装载到分 区。
运行时模型
核心操作系统处理来自每个分区的系统调用,并且在运行系统调用前校验每个系统调用的语句。使用
vThreads分区操作系统的应用拥有完全的 vThreads任务间通信机制。
APEX库提供了遵循ARINC653规范的分区管理,进程管理以及时间管理;为分区间通信提供了消息,通道, 端口;为分区内通信提供缓冲区,黑板,信号量以及事件。
端口映射允许在 VxWorks653 模块之外通信。
开发APEX应用
APEX是位于应用程序和支持 ARINC653规范的操作系统之间的 AP。对于VxWorks653,操作系统是vThreads
分区操作系统和核心操作系统。 APEX给vThreads分区提供了时间、进程管理以及管理周期性和非周期性
进程的能力。
APEX提供如下服务:
管理分区
管理进程
管理时间
与其他分区通信(使用消息,端口和通道) 分区内的通信(使用缓冲区,黑板,信号量以及事件) 监控健康
分区管理
分区的管理包含分配分区内存以及依据 ARINC653规范初始化分区。
分配分区内存
每个分区的资源分配都定义在基于 XML 的配置和编译过程中, 根据指定在该规范中的分区需求, 为每个分 区分配唯一的物理内存。通过禁止对超过该分区的