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