手机、平板等移动设备的快速发展,促使人们开始越来越多关注各种操作系统。何为操作系统呢?简单来说,操作系统就相当于我们的人类的大脑,控制着计算机硬件与软件资源的协同运作,如果非要说有啥区别,那么就是现如今的操作系统不会思考。但会思考的操作系统也并非离我们太遥远,不久的将来很可能就会出现。
谈到操作系统,人们可能了解最多的就是微软的Windows, 苹果 的Mac OS以及谷歌的安卓。当然如果你够资深,可能还会了解Linux、Windows Server 等操作系统。这些系统可以说是计算机的灵魂,直接影响到硬件的操控情况。
近日,两条有关航天航天系统的消息吸引了我的关注,一个消息就是中国高分八号卫星在太原成功发射成功。
另一条信息是美国“猎鹰9”火箭发生升空后发生剧烈爆炸并解体。
两条都是关于航天卫星的信息。笔者就想了,计算机系统在航天发生对操控的影响有多重要呢?中国与美国的航天计算机的操作系统有何区别呢?他们都用的什么操作系统呢?带着这些疑问,笔者查找了很多资料,在这里将我的一些思考结合起来跟大家说一下。希望能够让大家对航天飞船的操作系统有些了解。
据了解,中国航天科技集团公司五院从2001年就开始研发星载计算机特有的操作系统——SpaceOS,并在2006年首飞成功。那么SpaceOS为何许人也呢?
航天器上的计算机将面临来自太空的环境的巨大挑战。在太空中,航天器的计算机将会遭到子、中子、重离子、电子的轰炸。同时“总剂量效应”和“单粒子效应”是两种典型的太空射线对空间计算机造成的损害,也是星载计算机同其它地面计算机的最大挑战。
并且,控制计算机要承受摄氏零下35度到70度的巨大变化,同时还要具有抗辐射、抗静电、抗震动等能力。在考核试验综合应力时,一面震动、一面温度急剧变化、同时多个条件加载,考验产品的极限性能都要满足。
不能关机、不能复位、不能初始化是航天器控制计算机的基本要求,地面上的通用计算机不可能做到一直运行,总有开机、关机的时候,如果出错,换个零件、升级一下软件都很容易实现,但是太空计算机如果出错,不可能更换故障元器件,只能通过及时的故障诊断、故障隔离和系统恢复解决问题。1998年欧洲阿里亚娜5号运载火箭失败,2011年国外航天器失败,都是由计算机系统错误导致的。
神州九号太空计算(图片来源新浪博客)
太空计算机的外观与常见的商用计算机有着很大的不同。以神州九号太空计算机为例,它的外形是一个坚固的经过特殊处理的金属盒子,通过外露的接口与宇宙飞船各种设备相连接。这样坚固的构造保证了在起飞和降落阶段能够承载瞬间巨大的“加速度”冲击和剧烈的震动而不会损坏。并且整个太空计算机总重量的指标是十分苛求的——不能太重,大约是十几千克吧。
但是,即使是这样一个简朴的黑盒子,它的造价是我们常见的商用计算机的500倍以上。这就需要设计开发人员在工作中分外严格遵守操作流程。甚至有人开玩笑说,如果不小心烧毁一个芯片,那么一辆奥迪车就没了。
航天计算机的硬件造价非常高,但是其硬件配置在我们看来却非常的低。据了解,502所从1998年开始研制星载计算机,从2006年,自主研发的SpaceOS操作系统成功运行,现在的神舟九号和天宫一号使用的都是用的这个操作系统。
那么接下来我们来解答上面的各种疑问。为何航天系统不采用Windows 或者Linux这些操作系统呢?
Windows 10
家用系统多数情况下要求系统的均衡运行,能够满足我们日常的生活工作需求。比如,网友可以同时玩游戏,上网,听音乐,但实时系统都是重要任务先执行,不重要的任务往后放,这种设计理念与航天器的计算机是不一样的。
Linux/Unix/Windows这些都是通用操作系统,由于兼顾的功能太多,所以其更复杂。航天器的计算机并不需要满足这么多功能,只要能够完成所需的操作就可以了。这也减少了系统出现故障的几率。
而且,航天器的内存和CPU都非常弱,据称,天宫一号的CPU是10MHz的,内存是2M,这种配置跑Windows和Linux比较费劲,虽然采用Linux也并非不可能但要裁剪Linux内核确实太麻烦了。但那么大量的裁剪,谁来保证裁剪后的系统的稳定性?
更致命的是,Linux不是一个硬实时操作系统。航天器对计算机的要求必须是实时的控制。对快速中断响应,对关中断的时间有非常严格的控制。Linux和Windows他们是民用的操作系统,其内核设计并没有考虑到这些点,所以Linux不适用于航天领域。
据介绍,我国自主研发,具有自主知识产权的实时多任务空间操作系统SpaceOS1,历时5年完成研制,从2006年已成功运行于通信卫星上,截至2012年3月,使用SpaceOS的飞行器已经发射了33颗星(船),并且这些飞行棋全部稳定运行,未发生任何在轨问题。
中国航天科技集团五院星载计算机首席专家华更新研究员总结说:“我国自主研发的空间计算机的操作系统SpaceOS,已经从引进、消化、吸收,逐步过渡到当前的自主可控。”
VxWorks
提到系统的自主研发,肯定有人会说,中国航天用的SpaceOS主要内容是仿造美国风河系统公司的VxWorks653(653是产品名,并非版本号),那么是否还是自主研发呢?
之所以说系统是自主研制,这代表着这个系统是我国自己从头开始写的,但借鉴了现有VxWorks653系统的代码。SpaceOS代码非常少,与其说是说是操作系统,实际就是一套硬件管理程序。
那么中国人能不能写出自己的桌面通用操作系统呢?完全可以自己开发,但写一个操作系统容易,中国并不缺技术人员,大可去挖 intel 和AMD的墙角。但是相应的配套服务(比如开发软件支持等)如果跟不上,那自己写出桌面操作系统也是没用的。
所以,无论是哪个行业,其实看似简单的基础对一个产业的未来发展有着巨大的作用。我国错过了计算机基础理论发展的黄金阶段,这就需要我们在后面几十年去填补这个苦果。这个并不是在很短的时间能够弥补的,但我们却不能视而不见,需要对计算机产业的基础重视起来。
转自 http://server.zol.com.cn/528/5288600.html