1. 课程导入与航空电子实时系统概览
航空电子系统是飞机上所有电子设备与软件的总称,涵盖飞行控制、显示、通信、导航、监视、告警与维护等功能。随着综合模块化航空电子(IMA)架构的普及,多个功能不再各自独占一台计算机,而是共享同一套计算、网络与电源资源。资源共享带来了重量、功耗和成本的显著下降,但也引入了一个根本性矛盾:一个低关键等级的功能若发生故障,绝不能影响同一平台上高关键等级功能的正常运行。INTEGRITY 操作系统正是为解决这一矛盾而设计的实时操作系统,它通过时间与空间分区机制,把共享平台切分成彼此隔离的"虚拟独立计算机"。
要理解 INTEGRITY 的定位,需要先理解它所处的适航约束环境。民用航空软件的开发必须满足 DO-178C《机载系统和设备合格审定中的软件考虑》。该标准按软件失效对飞机安全的影响程度划分等级:A 级(灾难性)、B 级(危险性)、C 级(较大)、D 级(较小)、E 级(无影响)。等级越高,对需求追溯、结构覆盖分析、验证独立性和目标代码验证的要求越严格。DO-178C 本身不规定"必须使用某个操作系统",但它要求软件生命周期各阶段的目标可被证明达成。INTEGRITY 的价值在于:它作为已被多个 A 级项目审定过的平台,把分区隔离、健康监控、确定性调度等能力做成可复用的合格证据,使上层应用开发者不必从零证明"我的软件不会干扰别人"。
分区化实时系统的核心概念可以从三个维度理解。第一是空间分区:每个分区拥有独立的地址空间,内存访问由存储器管理单元(MMU)强制隔离,分区 A 的指针错误无法写入分区 B 的内存。第二是时间分区:CPU 时间被划分为固定长度的周期,每个分区在预分配的时隙内运行,调度表在系统配置阶段静态确定,运行时不依赖动态优先级抢占。第三是健康监控:当某分区超时、越界或触发异常时,健康监控模块按预定义策略处理,例如重启该分区、切换到备份分区或降级功能,而不影响其他分区。
下面这张图展示了 INTEGRITY 分区化实时系统的典型结构:底层是硬件与板级支持包,其上是 INTEGRITY 内核,内核之上并行运行多个分区,每个分区内部承载一个或多个应用任务,分区之间通过受控的进程间通信通道交换数据,健康监控模块横跨各分区进行监督。
从图中可以看到,分区层与内核层之间存在明确的职责边界:内核负责"隔离"和"调度",分区负责"功能实现"。健康监控模块横跨分区层与内核层,它既监视分区行为,也依赖内核提供的异常捕获机制。这种分层结构使得每个分区可以独立开发、独立验证,最终在集成阶段通过配置表组合到同一平台上。
本课程的整体路线图围绕"从标准到实现、从分区到集成"展开。前几章建立适航标准与分区概念的基础,随后进入 INTEGRITY 的开发环境与工程结构,学习如何创建分区、配置调度表、定义通信通道。中间部分深入时间分区与空间分区的配置细节,包括 MMU 页表设置、时隙分配计算、分区间通信的缓冲与同步机制。之后进入健康监控与故障处理,讨论超时阈值设定、故障注入测试与恢复策略验证。最后阶段聚焦多分区集成、DO-178C 证据链构建以及典型 IMA 平台的综合案例。
为了给后续章节建立可操作的参照,这里给出一个简化的分区配置示例。假设某航电平台采用 20 ms 主周期,包含三个分区:飞控分区(DAL A)需要 8 ms,显示分区(DAL B)需要 6 ms,维护分区(DAL C)需要 3 ms,剩余 3 ms 留给内核开销与健康监控。调度表按固定顺序排列:飞控 → 显示 → 维护 → 空闲。每个分区的时隙在配置文件中以微秒为单位声明,内核在启动时加载该表并锁定,运行期间不允许动态修改。
/* 示例:分区调度配置片段(教学用,非实测数据) */
partition fc_partition { dal = A; slot_us = 8000; order = 1; }
partition disp_partition { dal = B; slot_us = 6000; order = 2; }
partition maint_partition{ dal = C; slot_us = 3000; order = 3; }
major_frame_us = 20000;
/* 剩余 3000 us 用于内核与健康监控 */
这段配置的关键判断依据是:所有分区时隙之和加上内核开销不得超过主周期。若飞控分区实际执行时间接近 8 ms,则需要通过最坏执行时间(WCET)分析确认其不会超时;若超时,健康监控将触发分区重启或降级。后续章节会详细展开 WCET 分析方法、时隙余量计算以及超时阈值的设定原则。
需要强调的是,INTEGRITY 并不是唯一的分区化 RTOS,但它在航空电子领域的特殊地位来自其长期的适航审定历史与工具链配套。DO-178C 要求的需求追溯、结构覆盖、验证独立性等目标,在 INTEGRITY 平台上可以通过其配置工具、分区隔离证据和健康监控机制得到系统性支撑。理解这一点,才能理解为什么本课程把"标准—平台—分区—集成"作为主线,而不是孤立地讲某个 API 或某个配置项。