1. INTEGRITY系统集成与配置管理导论

INTEGRITY 是一款面向安全关键与高可靠性场景的实时操作系统(RTOS),由 Green Hills Software 开发,广泛用于航空电子、轨道交通、工业控制、医疗设备与汽车电子等领域。本课程的目标不是泛泛介绍一款操作系统,而是围绕一个真实工程问题展开:如何把 INTEGRITY 内核、板级支持包、中间件与应用组件集成为一个可运行、可验证、可追溯、可复现的系统,并通过配置管理保证它在整个生命周期内保持一致。学完本课程,你应当能够读懂 INTEGRITY 的启动与分区结构,能规划集成顺序,能编写并管理配置文件,能定位集成阶段的典型故障,并能用配置基线支撑版本发布与审计。

一、INTEGRITY 的核心特性

理解 INTEGRITY 的集成方式,必须先理解它的几个结构性特征。第一是分离内核(Separation Kernel):内核只提供地址空间隔离、时间分区调度和受控通信,把驱动、协议栈、文件系统等尽量放到用户态组件中,从而缩小可信计算基(TCB)。第二是分区(Partition)与地址空间:每个分区拥有独立的虚拟地址空间,分区之间不能直接访问彼此内存,必须通过内核提供的通道通信。第三是时间分区调度:CPU 时间被划分为固定周期内的多个时间窗口,每个分区在自己的窗口内运行,窗口长度与周期在配置中静态定义,因此最坏执行时间可分析。第四是受控通信:分区之间通过 Connection、Queue、Buffer、Semaphore 等对象交互,这些对象在配置阶段声明,运行时由内核仲裁。第五是静态配置与资源预分配:内存、通道、任务优先级等大多在构建期确定,运行期不做动态分配,这既提高了确定性,也把大量工作前移到集成与配置阶段。

这些特性直接决定了集成工作的形态:集成不是“把程序拷进去跑起来”,而是先定义资源与通信关系,再按依赖顺序装载组件,最后验证时间与空间约束。配置管理也因此不是附属文档工作,而是系统能否正确构建的前提。

INTEGRITY 系统集成结构:从内核到应用的分层与通信 应用层 任务 / 线程 中间件组件 文件系统 / 协议栈 设备驱动 分区层(地址空间隔离) 分区 A 独立虚拟地址空间 分区 B 独立虚拟地址空间 分区 C 独立虚拟地址空间 受控通信对象(配置期声明) Connection Queue Buffer Semaphore 分离内核(TCB) 时间分区调度 地址空间隔离 通信仲裁 集成顺序:内核与 BSP → 分区与通信配置 → 中间件 → 应用组件 → 时间与空间约束验证

二、系统集成与配置管理的基本概念

系统集成是把经过单独验证的软硬件组件,按既定接口与依赖关系组合成完整系统,并证明组合后的系统满足需求的过程。在 INTEGRITY 语境下,集成至少包含四类工作:内核与板级支持包(BSP)的适配、分区与通信对象的配置、中间件与驱动的装载、应用组件的部署与启动顺序编排。集成的结果不是“能启动”,而是“在指定时间窗口内、在指定内存边界内、按指定通信路径正确运行”。

配置管理则是对上述所有可识别、可版本化的项进行标识、控制、状态记录与审计。它回答四个问题:当前系统由哪些版本组成?谁在什么时间改了什么?改动是否经过评审与验证?能否从基线完整重建出同一系统?在安全关键领域,配置管理还是适航或安全认证的证据来源,例如 DO-178C 对软件生命周期数据的要求,就依赖配置管理提供可追溯性。

两者关系可以概括为:集成产生系统,配置管理保证系统可复现、可追溯、可回退。没有配置管理的集成,一次成功的构建往往无法再次复现;没有集成验证的配置管理,只是版本仓库里的静态文件。

三、典型应用场景

INTEGRITY 常见于以下场景,它们对集成与配置管理的要求各有侧重:

  • 航空电子:多个功能分区共享同一处理器,需满足 DO-178C 与 ARINC 653 分区调度要求,配置基线必须与适航审定数据一致。
  • 轨道交通:强调安全完整性等级(SIL)与长期维护,配置项需支持多年后的备件替换与再验证。
  • 工业控制:实时周期通常在毫秒级,时间分区窗口与通信延迟直接影响控制品质。
  • 医疗设备:需满足 IEC 62304,软件版本与配置变更必须可追溯到风险管理记录。
  • 汽车电子:多核分区与功能安全(ISO 26262)并行,集成顺序与核间通信配置尤为关键。

这些场景的共同点是:系统寿命长、变更代价高、失效后果严重,因此集成与配置管理必须工程化、可审计。

四、学习路径与本节实践示例

建议按“先结构、再配置、后验证”的顺序推进:先掌握内核、分区、通信对象与启动流程;再学习配置文件的结构与语法,能独立编写分区与通道声明;然后进入集成实操,按依赖顺序装载组件;最后学习时间与空间约束的验证方法,以及配置基线的建立与变更控制。

下面给出一个可直接参考的集成检查表示例,用于每个集成轮次开始前确认前置条件。表中参数为教学示例,实际项目应按自身需求裁剪。

检查项 示例内容 判断依据
内核与 BSP 版本 INTEGRITY 内核 vX.Y + 目标板 BSP vX.Y 版本号与配置基线一致
分区声明 分区 A/B/C,各自地址空间与入口 配置文件可编译通过,无地址重叠
通信对象 Connection A→B,Queue B→C 两端声明一致,方向与容量匹配
时间窗口 周期 10 ms,A 占 3 ms,B 占 4 ms,C 占 3 ms 窗口之和不超过周期,留有余量
启动顺序 内核 → BSP → 分区 A → 分区 B → 分区 C 依赖关系满足,无循环等待
配置基线 基线号 BL-001,含内核、BSP、配置、应用 所有配置项已入库并打标签
提示:集成轮次开始时先核对本表,可显著减少“能编译但跑不起来”的返工。表中时间窗口之和为 10 ms,恰好等于周期,实际工程中通常保留 10%~20% 余量以应对抖动与测量误差。