品牌
其他厂商性质
所在地
翼辉信息依托在嵌入式操作系统领域十几年的技术积累,结合安全关键领域(Safety-Critical)对操作系统在容错安全和信息安全方面的需求,正式推出全新的 Matrix653 操作系统产品。Matrix653 是符合 ARINC653 标准的微内核操作系统。用户使用 Matrix653 操作系统可以快速搭建出符合航电系统 SWaP(Size Weight and Power)设计约束,适合于行业标准的稳定、高效、可移植的软件系统。
Matrix653 实现了分区之间的空间隔离和时间隔离,达到容错和简化验证的目的,有效保证了各个分区间代码和数据的独立安全性。分区之间互不干扰,每个分区有独立的时间窗口,地址空间,从根本上解决传统嵌入式领域安全性问题,防止错误扩散到其它分区和操作系统内核。
空间隔离:必须保证一个分区的软件不能篡改其他分区内的软件或者私有数据,也不能访问其他分区内的私有设备或者作动器;
Matrix653 的分区隔离机制,保证在一个分区内运行的程序的缺陷所导致的故障,不会影响到其他分区中程序的运行。如下图所示:
Matrix653 空间隔离
时间隔离:必须保证一个分区的软件从共享资源所获得的服务不能受其他分区软件的影响,如相关资源的性能、速率、延迟、偏差、以及访问时长等。
Matrix653 的调度策略保证每个分区都能在确定的时间窗口中运行。如下图所示:
Matrix653 调度
上图中横轴表示时间,纵轴表示任务。在个时间窗口内,运行分区1,分区1内的任务(P1-A,P1-B,P1-C)得到运行;之后进入下个时间窗口,运行分区2,分区2内任务(P2-A,P2-B)得到运行;依次类推,直到周期内的所有时间窗口全部得到运行,进入下一周期。时间窗口在开发阶段配置,运行过程中不可更改。
Matrix653 采用微内核架构。微内核是一种重要的操作系统设计思想,微内核一方面降低了模块的变化带来的影响范围;另一方面也使得模块更内聚、结构更简单、可裁剪性更强、以及便于理解。与之对应的是宏内核,以 Linux、VxWorks 为例,其内核态运行了任务管理、同步通信、内存管理,文件系统,网络协议栈等功能,这些功能往往和各种各样的设备驱动内聚在一起,任何一个模块的错误都将导致系统崩溃。究其原因,传统嵌入式操作系统内核功能模块间耦合度太高,导致其可靠性降低。因此采用微内核的思想,拆分各个功能模块,重新组织嵌入式操作系统结构使其独立开来,可增强可靠性。
Matrix653 仅有很少量的关键性代码运行在 CPU 的特权状态下,这些代码经过严格验证和测试,大限度的保证操作系统内核的安全性。其次,由于内核代码的精简,也让操作系统内核的形式化验证成为可能。
Matrix653 分区严格按照预设时间窗口运行,某个时间点一定运行某个分区;其次,所有资源在开发阶段预分配,避免运行时申请资源引发的不确定性开销;再次,O(1)级的调度算法保证在任务量任意多,满负荷的系统上,优先级任务的响应时间仍然是一个常值;从而保证系统的可预测性(Predictability)。
Matrix653 采用两级调度模型,级是分区调度,分区按照预配置的时间窗口轮转调度,保证分时特性;第二级是进程调度,在确定当前时间窗口对应的分区后,再使用分区内调度算法调度其内部进程。Matrix653 的分区内进程调度算法可配置,目前支持 RMS(单调速率算法),EDF(截止时间优先算法),LLF(最短空闲时间优先算转算法)等调度算法。
为了利用硬件多核的运算能力,Matrix653 提供对多核的支持。在大限度的利用硬件功能的同时,也保证分时分区特性,以及系统运行的可预测性。其技术方案架构图如下所示:
上图中横轴表示时间,纵轴表示 CPU 核心。每一个核心上面绑定一个分区列表。它们之间是一一对应的,即一个核心对应一个分区列表,对应关系在开发阶段进行配置,每个核心的分区数目可以根据用户的需要自定义。分区配置信息包括像时间窗口、分区内进程数量以及分区运行的核心 ID 等参数。在系统运行过程中,分区配置信息一旦初始化,便不可更改。由于分区有独立的地址空间,这保证了分区之间的内存是不能互相访问的。同时也保证某个核心上发生错误不会影响其他核心正常运转,这也体现了分时分区机制的容错安全。
由航空无线电公司(Aeronautical Radio, Inc.)提出的 ARINC653 标准是航空电子行业的规范,其为 IMA(Integrated Modular Avionics)综合化航空电子各个组件定义了相应的功能需求及接口标准。ARINC653 APEX(APplication/EXecutive)定义了应用与系统服务之间的接口规范以及调度机制。使用这个标准能够使航空电子设备供应商和系统集成商在同一个硬件平台上部署多个航电应用模块,同时保持系统符合严格的航空电子安全标准,如 RTCA DO-178C。
Matrix653 提供完整的 ARINC653-1 标准系统服务,满足航空软件的可移植性需求,APEX 接口库包括以下几个部分:
同时,配套 IDE 提供 ARINC653 可视化配置界面,自动完成配置数据的生成和验证,缩短航电公司开发周期。
ARINC653 调度策略保证了系统运行的确定性,但对一些非确定事件(可能出现在分区时间窗口之外的事件),响应不够及时。例如 Shell 任务的用户输入,网络数据的接收等随机发生的事件。Matrix653 在 ARINC653 调度的基础上,对其进行优化,在保证分时分区的同时,增加背景分区。当某个分区被配置为背景分区,那么在任何时间窗口内,背景分区内的就绪进程都有得到调度的资格。我们可以将处理随机事件的任务所在的分区配置为背景分区,从而保证对随机事件的快速响应能力。
航空电子系统:在联航式(Federated Architecture)时代,飞行器上的每个数字化功能模块被部署到独立的硬件平台,各平台之间基于总线方式(如1553B)相互连接,从而形成一个功能完善的航空电子系统。联航式系统本质上属于分布式架构,在该架构下,数据基于消息方式在模块之间传递。系统监控数据传输过程,并能及时处理传输错误。各模块之间耦合度较低,系统具有天然的故障包容能力,一个模块上发生的错误不会蔓延到另一个模块,模块之间鲜有数据结构的共享。2000年以后,基于硬件平台共享机制的综合化航空电子(IMA)技术开始崭露头角,与联航式架构方案类似,综合化航空电子也采用分布式架构理念,各功能模块被部署在不同的逻辑分区,而这些逻辑分区之间共享同一硬件平台。与联航式架构相比,IMA 的优势在于资源的整合及其优化配置。在联航式架构中,每个航电模块配备独立的软硬件资源环境,随着硬件性能的增强,系统资源(如处理能力、存储空间、网络带宽都能)变得越来越富余,但是富余的资源并不能被有效利用,一定程度上造成了浪费。此外,为了提升系统可靠性,每个模块还配备了独立的冗余备份,进一步加大了资源的浪费,增加系统重量。鉴于此,IMA 方案将这些独立的模块集中部署于同一硬件平台,之前各模块专属硬件平台的富余资源可以用于其他功能模块,系统软硬件资源得以有效利用。同时,多个功能模块还可以共用冗余备份资源,进一步节省了硬件资源。
IMA 方案中,资源的共享在带来利用率的提升的同时,也引起了故障率的提升。这时使用具有分区隔离机制的 Matrix653 操作系统就显得尤为必要,将不同的系统运行在不同的分区,保证安全隔离的同时也能减轻机身重量。
综合航空电子系统软件架构示意图
全权限数字式发动机控制系统(FADEC):传统上航空发动机采用液压机械式控制器对其进行控制,随着航空发动机的发展,各种控制参数越来越多,外围控制回路不断增加,传统的液压控制技术已不能满足发动机技术日益发展的需求。目前航空发动机控制正处于从传统的液压机械式控制向数字电子控制的转变阶段,全权限数字发动机控制系统(Full Authority Digital Engine Control,FADEC)以其能够提高发动机性能、降低燃油消耗、减轻飞行员的工作负荷、增加可靠性、改进维修性等优点,越来越多地被一些新型航空发动机所采用。可以预测,无论在机上,还是在民用机、直升机乃至航机陆用装置上,将越来越多地采用全权限数字电子控制系统,使航空发动机控制技术达到更新、更高的水平。
由于发动机控制系统复杂度的攀升,特别是加入故障检测和健康管理等复杂信息处理功能后,控制系统的可靠性设计变得越来越重要,为了应对这种挑战,在软件层面可采用 Matrix653 作为操作系统平台,利用分区容错安全构建高可靠的 FADEC 系统。
FADEC 系统软件架构示意图
x86,PowerPC,ARM,MIPS,SPARC……
未来,我们将加大对国产芯片的支持,从 CPU,操作系统到行业应用,完成航空电子领域自主可控的全国产化方案。另外,我们会在分区层面增加网络协议栈,文件系统等组件,提供附加服务(ARINC653-P2)。同时也将完善 POSIX 接口支持,为客户应用程序的移植提供便利。
Matrix653 操作系统不仅可以满足航空高安全可靠领域对操作系统的需求,同时也满足高铁、核电、汽车等安全关键领域对操作系统的需求,相关行业认证取证工作将会在近期开展。Matrix653 操作系统版本(ARINC653-P1)已经正式发布!
“坚若磐石,”是翼辉始终如一的追求,感谢广大合作伙伴选择翼辉操作系统产品。