实时操作系统在星载计算机中的应用
关键词:实时操作系统 星载计算机 RTOS
随着我国航天技术的不断发展,越来越多的卫星应用在通讯、资源探测、遥感、气象、对地观察等领域。卫星的功能越来越强,对星务管理和有效载荷控制的星载计算机提出了更高的要求。星载计算机软硬件系统日趋复杂,传统的星载计算机软硬件设计方法,特别是软件的设计方法和开发手段已逐渐不适应这种要求。引入实时操作系统(RTOS)能够有效地解决这些问题。RTOS把任务管理调度、任务间通信、内存管理等系统功能以函数调用的方式提供给用户,使用户能够将精力放在应用程序的开发上,有助于星载软件通用化和模块化设计,缩短软件产品的研制周期,提高星载软件 可靠性。
RTOS已经成功运用在包括航天在内的许多嵌入式领域,如SJ-5小卫星就成功应用了pSOS操作系统。但这种无法获得源码的操作系统,无法确定其安全性。因此应该选用源码开放的RTOS或者自己独立设计一种适合自身系统的RTOS。本文将介绍一种适合于航天应用,特别是面向关键任务(Critical Oriented)的源码开放的RTOS——RTEMS;探索自己开发RTOS设计方法,并对两种方案进行比较。
1 星载计算机与星载操作系统的特点
星载计算机是RTOS运行的硬件环境,了解其特点对于RTOS的选用和设计将更有针对性。星载计算机主要用于卫星的星务管理、数据处理、姿态控制以及对有效载荷进行控制等。根据空间环境、可靠性、安全性、寿命、功耗、重量等方面的要求,星载计算机应具有如下特点:
·硬件资源有限,受功耗、尺寸的限制,星载计算机只有有限的内存空间;
·CPU型号多样,但不属于通用型CPU,配套的调试工具少。从8位的8031到16位的1750A、8086,到32位的ERC32、80X86,不同的型号任务,不同的研制单位采用不同的CPU型号;
·需要考虑空间抗辐射能力,必须考虑单粒子翻转(SEU)和单粒子锁定(SEL)对星载计算机的影响;
·对安全性与可靠性要求高;
·需要具有在轨可编程功能,对在地面考虑不周和出现意外情况时,能有所补救。
针对星载计算机的这些特点,星载操作系统也具有如下特征:
·微内核,由于硬件资源有限,因此星载RTOS必须做成微内核的操作系统;
*可裁减,能够根据不同的应用对操作系统进行不同的配置,做到量体裁衣,也能更充分地利用硬件资源,减少软件多余物;
·强实时性,星载系统都是强实时系统,对实现性要求很高;
·高稳定性与高可靠性;
·代码可固化,在现在的星载计算机中仍然采用PROM对代码进行固化,这就要求星载RTOS必须是代码可固化的。
(凹丫丫范文网fanwen.oyaya.net收集整理)
2 采用RTEMS作为星载实时操作系统
2.1 RTEMS实时操作系统
RTEMS(Real-Time Executive for Multiprocessor Systems)实时操作系统最初是美国军方为了实时导弹系统而开发的。当时RTEMS的全称是:Real-Time Executive for Missile Systems。随着该系统功能的逐步完善,应用范围也从Missile扩大到Military,再到Multiprocessor,而形成现在的RTEMS。RTEMS从1993年开始开发,并于1999年开始地外开放源代码,并由OAR公司进行维护和升级。现在最新版本为4.6.0,在OAR的网站(www.oarcorp.com)上可以下载到相关资源。RTEMS由于具有开放源代码的优势,以及能与最优秀的商业RTOS相的性能,使得它最适合应用到星载计算机中。RTEMS有如下特点:
·支持多处理器;
·支持事件驱动和基于优先级的多任务实时系统;
《实时操作系统在星载计算机中的应用》