SpaceOS 和 VxWorks 653:关键任务实时操作系统

image

前几天无意看到有人在某问答平台上回答了中国航天使用的操作系统,有人提到了说是SpaceOS。大体看了一下,空间计算机是一种低性能、高可靠、多机热备份的系统,对这种计算机的要求是“不关机、不重启、不复位”(注:可能在军工领域,重启和复位是不一样的),需要在恶劣环境下不间断运行15年以上,CPU采用SPARC的系统,看上去没准和龙芯有关系,但是主频仅有10MHz,应该不是目前龙芯1号等产品。资料中说天宫1号采用了2机热备,而嫦娥3号采用了3机热备,从2到3是一个很大的变化,原理上可实现更多的热备份,剩下的就是制造和成本问题了。

资料说,早期的SpaceOS1只有8000多行代码,是一个精简的实时操作系统,这种规模的系统,用Model Checking检查一遍,工作量也可以接受。后续的SpaceOS2和3,在这种积累的基础上,估计验证工作量也会小一些。在SpaceOS出现之前,采用地面指令控制卫星,这种模式对于地面人员是个巨大的负担,卫星的一点点动作都要管理起来,太空计算机出现后,就可以解决很多例行的控制工作,也可以控制更多的外设,更为复杂的空间站、登月车就不得不引入操作系统,而不是以前的地面遥控了。资料说SpaceOS1仅支持5个并发任务,SpaceOS2开始支持几十个任务。

网上有人提到SpaceOS是不是使用了VxWorks653,这一点不得而知,但是2001年之前确实采用了国外操作系统,很可能就是VxWorks653,毕竟这是相对成熟,在飞机上使用的商用系统,波音、GE航空、Rockwell都使用。2006年随着计算机平台开发完成,开始使用国产操作系统。从我以前用VxWorks的经验看,VxWorks是可以交付源代码的,但是后续的开发,特别是引入新型外设,肯定还是要持续改进。目前VxWork653已经发展了好几代,已经支持多核多任务。不知道SpaceOS是否支持多核芯片。中国航天科技集团五院星载计算机首席专家华更新研究员说过“我国自主研发的空间计算机的操作系统SpaceOS,已经从引进、消化、吸收,逐步过渡到当前的自主可控。”

VxWorks 653为实现快速商用,支持了很多标准:Certifed conformance to the Future Airborne Capability Environment (FACE™) Technical Standard Operating System Segment (OSS) Safety Base Profle, supporting all ARINC 653 and POSIX® capabilities required by the FACE Conformance Test Suite。Separation based on RTCA DO-297 role-based development for platform supplier, application developers, and system integrator。True RTCA DO-297 role separation via DO-178- and DO-330-qualifed development and verifcation tools。简而言之,就是可以帮助航空和军方用户快速拿到各种认证。

目前使用VxWorks653的关键机型如下,都是重量级的飞机。

– Airbus MRTT(注:A330) and A400
– Boeing C-130 AMP, KC-767 Tanker, 787 Dreamliner, P-8A Multimission Maritime Aircraft

 

VxWorks 653的生态链,我们可以看到其对于认证的支持是非常强大的

image

 

【下文转自资料2】

image

神州九号太空计算(图片来源新浪博客)

不能在太空中关机、复位、初始化等是对航天飞船的计算机的最基本要求。航空飞船的控制系统出现问题,可能直接造成船毁人亡的后果。太空计算机的设计与我们常见的商用计算机有着很大的不同。以神州九号太空计算机为例,它的外形是一个坚固的经过特殊处理的金属盒子,有非常好的抗震和防辐射的能力,同时其还被牢固的与非常固定在一起。保证了在起飞和降落阶段能够承载瞬间巨大的“加速度”冲击和剧烈的震动而不会损坏。并且整个太空计算机总重量非常的轻,保证飞船的总体质量不能超标。即使是这样一个简朴的黑盒子,它的造价是我们常见的商用计算机的500倍以上。这就需要设计开发人员在工作中分外严格遵守操作流程。烧毁一个芯片,其代价也是非常昂贵的。

【下文转自资料3】

全封闭机箱可以承受火箭起飞加速带来的一瞬间几千公斤的冲力和巨大的震动,进入太空后,为了防辐射,方盒子5个面都涂上黑色, 计算机与天宫一号连接的一面非常光滑,保持金属本色,可以确保与天宫一号紧密结合,方便传导散热,(太空中没有空气,不能使用普通电脑的散热风伞)。输入 输出则通过数排特殊的插拨接口与天宫一号其他系统相连。控制计算机被安装在天宫一号轨道舱内,主要负责采集敏感器姿态与轨道状态,完成控制规律的计算,发出控制指令控制CMG、推力器工作,完成天宫一号单独飞行、以及天宫一号与神舟飞船对接后组合飞行体两种状态下的姿态、轨道控制。

“天宫一号”的大脑,准确说是“天宫一号”的控制计算机,初看就是一个黑色的方盒子,有十几公斤重,与地面上电脑的差别不是一星半点。“刚毕业来这里第一次见到太空用计算机,我也惊诧它与一般计算机的不同。”航天部502所电子中心设计部副主任刘波说,十几年来,它的外形一直没变过。“神舟九号飞船的控制计算机也是这样的外貌和结构,只是个头比天宫一号的略大一些。”温度要承受摄氏零下35度到70度的巨大变化,防辐射、防静电、机箱要求特别材质,抗冲击,抱着机器往地下砸,拿起来能正常运行,最主要一关是综合应力实验,一边震动、一边温度变化悬殊、同时多个条件加载,考验产品的极限性能。最终单故障要保证能正常运行,双故障要保证飞行器和宇航员安全

据介绍,整个计算机系统由三个冗余单机组成,分为主控器、备份控制器、两个故障包容区域。每个单机都使用一颗SPARC兼容格式的32位ERC32处理器,主频为10MHz,运算能力大致比386强。数据存储器为2MB的SRAM,存储芯片具有极强的抗辐射能力,所有程序都装在256KB的PROM中。控制计算机系统功耗仅为15W,非常节能。“每台星载计算机被送入太空后,绝对不能出现运行错误,它们的运行寿命是15年,从火箭发射前加电开始,就不能停机,直至飞行器的整个生命周期。”“不关机、不重启、不复位”是天宫一号控制计算机的基本要求。八千多行代码的操作系统-SpaceOS1,历时5年完成,从2006年已成功运行于通讯卫星上,截至2012年3月,使用SpaceOS的飞行器已发射了33颗星(船),全部轨道稳定运行,运行时间累计约40星年,未发生任何问题。

高能粒子“门锁效应”和“单粒子翻转效应”是两种典型的太空射线对计算机造成的损害,电子工程师最头疼这两大问题。“门锁效应”是因中子或质子冲入芯片造成短接从而损坏模块组件,若发生门锁效应,地面控制中心的工程技术人员即可察觉,相比之下,“单粒子翻转效应”是破坏存储芯片,但不是造成物理损坏,只是悄无声息地改变存储内容,隐密破坏不易发现。从天宫一号控制计算机地面遥测数据分析,天宫一号控制计算机今年已发生6次存储器单粒子翻转事件,其中有一次就发生在第二次交会对接前几小时。我们看到的结果是天宫一号控制计算机系统可以抵御单粒子翻转的危害,一直在轨工作稳定、表现优异。

探月工程将再显神威 “天宫一号控制计算机系统就是我们所设计、测试、生产的第二代控制计算机。”502所电子中心的杨桦书记告诉《电脑报》读者,事实上,我国的卫星、飞船上80%的电子控制产品都是502所提供。由著名的院士、专家引领的502所有56年的研发历史,电子中心133人是全所最大的团队,他们承担了敏感器、红外、成像、机电部件、一体化产品、电脑的结构设计,大部分都是35岁以下的年轻人,他们的专业最多的是软件、硬件、结构、可靠性分析。502所从1998年开始研制星载计算机,当时看到微软正在研发WINDOWS2000,电子中心内部给这台电脑取了一个代号“RISC2000”,到2001年,才改为型号命名。第一代控制计算机采用国外CPU和操作系统,2006年,自主研发的SpaceOS操作系统成功运行,第二代控制计算机问世。现在的神九和天宫一号都是第二代控制计算机。

航天五院星载计算机首席专家华更新研究员总结说,SpaceOS操作系统与国外航天操作系统相当,天宫一号的控制计算机与国际空间站俄罗斯段主计算机的系统规格、性能相当,与美国段主计算机电容错结构相同;支持完成的制导、导航、控制系统功能与性能,同国外产品无明显差异。

【下文转自资料1】

中国航天科技集团公司五院502所从2001年开始就研发了星载计算机特有的操作系统——SpaceOS,并于2006年首飞成功。此次嫦娥三号任务控制计算机使用的是经过升级和改进后的第二代星载计算机操作系统产品SpaceOS2。

尽管与普通计算机的操作系统设计原理相似,但“上天”的操作系统为了适应恶劣太空环境,对安全性、可靠性以及容错方面的要求要苛刻许多。如果卫星在轨运行十几年,就意味着计算机程序要同步运行十几年不停,且中间不能出现任何问题。

在星载计算机操作系统出来以前,中国的卫星通常都采用程序控制的方式来完成指令的执行,简单来说,就是编写一段程序代码,反复地运行。随着我国航天器在轨任务越来越复杂,如交会对接、深空探测、空间站建设等,复杂任务对计算机软件管理提出了更高的要求,研发中国自己的星载计算机操作系统势在必行。

2006年,SpaceOS1成功在轨运行,当时的操作系统功能非常简单。3年以后,嫦娥三号立项,巡视器要实现月面行走。对于这样的任务来说,控制非常复杂,绝不仅仅是计算一下轨道就可以的,此时功能简单的SpaceOS1已无法满足任务要求,科研人员开始着手进行第二代产品的攻关。

在任务调度和内存管理方面,SpaceOS2可以同时管理几十个任务,同原来5个任务相比,提高了一个量级,同时可以做到快速、有序存储。月球车在月面行走时,要携带一个大容量存储器,一边不停地拍摄月面环境,一边快速保存和处理这些信息。如果月球车在月球行走时突然遇到一个坑,操作系统就必须在最短的时间内作出判断并反应,否则就有可能掉进坑里。目前,研究人员设计的内存管理方法和调度方法从功能、效率上来讲,已经可以和国际上最先进的类似产品相媲美。

其中,最具有我国特色和竞争力的技术是三机容错。为了实现真正的无缝切换,嫦娥三号第一次实现了三机热备份。即三个计算机同时工作,处理同样的任务,有可能其中一台计算机给出的计算结果是错的,那么三机容错就要发现哪台计算机有错,并最终给出正确的结果。

目前,这个只有十几个人组成的年轻团队正在进行SpaceOS3的研发工作。

【下文转自资料2】

中国航天科技集团五院星载计算机首席专家华更新研究员总结说:“我国自主研发的空间计算机的操作系统SpaceOS,已经从引进、消化、吸收,逐步过渡到当前的自主可控。”

很多人质疑,SpaceOS主要内容是仿造美国风河系统公司的VxWorks653(653是产品名,并非版本号),那么事实是否如此呢?SpaceOS还是自主研发呢?之所以说系统是自主研制,这只是代表着这个系统的代码是我国自己从头开始写的,但是在代码编写的过程中借鉴了现有VxWorks653系统的代码。SpaceOS代码非常少,其编写起来也并不是很复杂,完全能够实现国产,SpaceOS与其说是说是操作系统,实际就是一套硬件管理程序而已。

 

相关信息:

  1. 嫦娥的秘密武器:国产操作系统SpaceOS显硬实力
  2. 神舟飞船用什么操作系统?是否是纯国货
  3. 独家揭秘神舟九号太空计算机(电脑报 2012年)
  4. https://www.windriver.com/announces/vxworks653-on-arm/
  5. 风河升级版VxWorks 653平台驱动未来创新
  6. VxWorks 653 飞机“灵魂”的缔造者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注