8.3.1 操作系统简史
操作系统是管理和控制计算机硬件和软件资源的计算机程序,是为应用程序提供支持,直接运行在“裸机”上的最基本的系统软件。操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统硬件、软件及数据资源,控制程序运行,改善人机界面,为其他应用软件提供支持等。操作系统能够使计算机系统资源最大限度地充分发挥。
操作系统种类众多,从简单到复杂,可分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统及分布式操作系统。从应用领域划分主要有三种:桌面操作系统、服务器操作系统及嵌入式操作系统。其中嵌入式操作系统是指运行在嵌入式设备上的操作系统,可裁剪,适应系统对功能、可靠性、成本、功耗严格的要求。
1)国外星载嵌入式操作系统的发展
美国ISI(Integrated Systems Inc.)公司研发的pSOS,应用程序完全与硬件无关,中断和异常处理更快、确定性更高。加拿大QNX软件系统有限公司开发的实时操作系统QNX,建立在微内核和完全地址空间保护基础之上,具有实时、稳定、可靠、模块化程度高、剪裁自如和易于扩展等特点。德国宇航中心(DLR)已经在双向红外光谱探测(BIRD)小卫星上成功使用的实时操作系统BOSS,功能简单、实现高效,容易进行形式化的功能确认。OAR(On-Line Applications Research)公司为美国军方开发高质量的实时操作系统RTEMS,提供了强大的系统配置能力及对多处理器支持。美国国家航空航天局(NASA)对Linux的实时改造而形成的Flight Linux,采用大容量的RAM以实现文件系统,因此对硬件资源的要求较高。欧洲航天局组织的一个面向空间应用开发的开放源码的实时操作系统GNAT/ORK,使用Ada95语言编写,提供了Ada语言与C语言的两套调用接口,已在2003年发射的“猎兔犬-Ⅱ型”火星探测器上得到初步应用。
2)国内星载嵌入式操作系统的发展
中国航天科技集团公司五院研制的星载嵌入式操作系统SpaceOS,实时性高,可靠性强,能够做到快速、有序存储。目前,研究人员设计的内存管理方法和调度方法,从功能、效率上来讲,已经可以和国际上最先进的类似产品相媲美。中国电子科技集团第三十二研究所(华东计算技术研究所)自主研制的嵌入式实时操作系统ReWorks,提供与VxWorks兼容的接口,在应用层实现源代码级兼容,在驱动层实现目标代码级兼容,便于现有应用系统的移植和二次开发,并可充分利用原有的应用系统,减少用户改用ReWorks操作系统的工作量。
上海航天电子技术研究所研制开发的风云翼辉自主操作系统,为源于全自主内核开发、支持SMP的一款大型实时嵌入式操作系统,其开发环境集设计、开发、调试、部署、仿真、测试于一体,使用非常便捷,同时支持POSIX标准接口的92%,符合《军用嵌入式实时操作系统应用编程接口》(GJB 7714—2012),同时也兼容80%左右的VxWorks应用程序接口。该系统作为基于嵌入式操作系统的宇航软件,有利于嵌入式软件的产品化,有利于软件模块的可移植性,有利于使用现有的、丰富的技术资源支持。
国外航天领域已经普遍使用像VxWorks这样的大型实时操作系统,而国内航天领域操作系统的使用仍在起步阶段,只有少数系统使用像SpaceOS、ReWorks这样只提供简单调度功能的操作系统。目前,风云翼辉(AIC-OS)嵌入式操作是卫星系统上唯一相互兼容的基于统一内核的自主大型实时操作系统。几种操作系统对比见表8- 1。
表8-1 几种操作系统对比
续 表