卫一芃,李运喜
(中航工业西安计算技术研究所 陕西 西安 710068)
随着微电子、容错、软件技术的发展,航空电子系统已逐步从原有的体系结构向综合化模块化航空电子系统(IMA)发展,以提高未来飞机的作战能力[1]。上世纪末,美国就已经开始研制新一代飞机,并制定了满足新一代飞机综合化要求的技术标准ARINC。其中,ARINC 653是美国航电委员会针对数据综合化的要求提出的应用程序接口标准[2-3]。新一代飞机的航电系统将是高度模块化、综合化的,其操作系统需采用专用的航电实时操作系统,在满足综合化要求以及保证实时性的前提下,对安全性要求非常高。在高安全性的实时操作系统中支持两种运行形态:系统态和用户态。用户态的程序在运行过程中可能需要使用系统态的功能,由于跨两态,用户态的应用不能直接调用系统态下的服务,因此需要使用系统调用机制为用户态的应用访问系统态的服务提供解决途径。
笔者详细讨论了某嵌入式实时操作系统中系统调用的机制以及实现方法。
某嵌入式实时操作系统是满足ARINC 653标准要求的嵌入式实时操作系统,其软件结构如图1所示。

图1 某嵌入式实时操作系统软件结构图Fig.1 Software structure diagram of an embedded real-time operating system
ARINC 653为保证IMA系统中运行的多个航电应用程序执行时不相互影响,提出分区的概念。分区是IMA系统中的一组功能相关的应用软件,这些软件在配置和执行时作为一个单一的软件来对待[4]。相当于通用操作系统中的进程,包含自己的存储器,上下文以及配置属性。……