说起微软的Windows,苹果的Mac OS以及谷歌的Android,相信大家都不会陌生,它们都是操作系统,即对计算机的各种资源进行管理的软件,是计算机能够运行的灵魂,美国的一些航天器 上用的就是VxWorks操作系统。但是,如果问起我国航天器上的计算机用的是什么操作系统,也许很少有人知道。
事实上,中国航天科技集团公司五院从2001年就开始研发星载计算机特有的操作系统——SpaceOS,并在2006年首飞成功。此次的嫦娥三号探月任务 控制计算机使用的是经过升级和改进后的第二代星载计算机操作系统SpaceOS2。该系统首次亮相应用,就吸引了众多关注的目光。
中国航天要有自己的操作系统
尽管与普通家用的操作系统设计原理相似,但“上天”的操作系统为了适应恶劣太空环境,对安全性、可靠性等要求要苛刻许多。
地面使用的计算机死机了可以重启,坏了还可以换新的,但飞行器上的计算机开机了通常就不会再关闭或重启。在轨运行时间较长的卫星寿命可达十几年,这也就意味着计算机程序要同步运行十几年不出现问题。
更重要的是,对于航天这样的事关国家安全的关键领域,“拿来主义”是很危险的。而要研发自己的操作系统,相关核心技术国外严密封锁,想要借用也没有可能。
在星载计算机操作系统投入使用以前,中国的卫星通常都采用程序控制的方式来完成指令。这种“傻瓜”式的运行模式非常简单,但也非常机械,它要求技术人员在 地面设计好卫星要进行的每一个动作,严格按照时序编写程序。形象地说,就是如果设定卫星的任务为“吃饭—喝水—睡觉”,卫星上天之后只能按照这个顺序重复 动作,想要先喝水后吃饭是做不到的。
由于卫星的运行轨道相对封闭和确定,程序控制虽然机械繁琐,也能够满足任务要求。但随着我国在轨任务越来越复杂,对计算机软件管理提出了越来越高的要求。
研发中国自己的星载计算机操作系统势在必行。没有借鉴,就从零开始慢慢摸索。独立自主创新,成为了摆在研发团队面前唯一道路。
两代SpaceOS的华丽蜕变
2006年,SpaceOS1成功在轨运行。那时的操作系统功能简单,只做到了多种资源的管理和任务调度,却没有任务间的通信和动态内存管理等更为复杂的功能。
3年以后,嫦娥三号立项,巡视器要实现月面行走。相比卫星轨道,月球是一个开放的空间,环境恶劣、不确定因素多、控制复杂。这种任务对航天器智能性和自主性的要求很高,而这恰恰是操作系统的绝佳用武之地。
此时功能简单的SpaceOS1已无法满足任务要求,科研人员开始着手进行第二代产品的攻关。经过2年研发,SpaceOS2正式推出,在很多方面都实现了质的飞跃,并成功应用到了嫦娥三号巡视器的中心控制计算机上。
在任务调度和内存管理方面,SpaceOS2可以同时管理几十个任务,与原来5个任务相比,提高了一个量级,同时可以做到快速、有序存储。月球车在月面行 走时,要一边不停地拍摄月面环境,一边快速保存和处理这些信息。如果此时突然遇到一个坑,操作系统必须在最短的时间内作出判断并反应,否则就有可能掉进坑 里。目前,研究人员设计的内存管理方法和调度方法,从功能、效率上来讲,已经可以和国际上最先进的类似产品相媲美。
而如果说到最具有我国特色和竞争力的技术,就不得不提到三机容错。一般卫星上会有两台计算机冷备份,一台工作时另一台不工作,如果工作的计算机出现了故障 或问题,就立刻切换到另一台。但切换的过程中,不可避免的会有一些因计算机启动等带来的秒级的时间差。为了实现真正的无缝切换,嫦娥三号上第一次实现了三 机热备份,即三个计算机同时工作,处理同样的任务,有可能其中一台计算机给出的计算结果是错的,那么三机容错就要发现哪台计算机有错,并最终给出正确的结 果。
从双机冷备份到三机热备份,看上去似乎只增加了一台计算机,但带来的难度和工作量却是呈指数级增长的。研发人员坦言,那种压力来自于知道应该实现什么目标,但对怎么实现毫无头绪。那时做梦都在思考这些问题,有些难关甚至是在梦里攻克的。
未来或可发展为民用
目前,这个只有十几个人组成的年轻团队正在进行SpaceOS3的研发工作,第三代产品的技术将更加先进和前沿。
例如研制高性能多核计算机,让运算速度和处理能力大幅度提升;还有目前操作系统领域最前沿的技术——形式化验证,即从建模和证明的角度来验证设计领域软硬 件的正确性,如果这一技术得以突破,将改变航天目前通过大量测试来验证设计正确性的方法,从根本上确保设计的无差错和高可靠。
SpaceOS操作系统能否发展民用?
当被问及这个问题时,研发人员表示,航天操作系统技术本身是可以转为民用的。但由于航天精品化和个性定制的特点,不够产品化和通用化,距推广成熟的民用产品还有一定距离。
目前,SpaceOS操作系统正在考虑航天系统内的推广应用,未来还将逐步拓展到其他领域。也许有一天,我们每个人的手机上,都可以使用到“中国航天”品牌的操作系统了。
说一个笑话:以前某记者报道一个军队的美女程序员,特别的牛,写程序不出错,别人一小时只能写几页,她一小时能写100多页,---结果办公桌上常常都堆满了写好的代码放不下后才只得停下。。。
靠,这是哪个星球的程序媛?
引用来自“独孤影”的评论
引用来自“高尤波”的评论
在牛逼也是用别人的计算机语言写的。 你可以再牛逼一点, 自己开发一套计算机语言。。。
引用来自“hanf”的评论
一大群屁都不懂的傻逼又喜欢发表白痴言论。航天级芯片和软件的严苛要求你们懂么,还windows98~这可是高科技,不是你们码农那种“高科技”。不懂就算了,评论还显得那么竭斯底里和非理性。恶心死我了。
引用来自“ueharaai”的评论
我记得以前看过一张图:windows98
引用来自“zjtxqjj”的评论
引用来自“高尤波”的评论
在牛逼也是用别人的计算机语言写的。 你可以再牛逼一点, 自己开发一套计算机语言。。。
再牛逼也需要依靠别人发明的直流发电技术,有本事自己弄套完全不同的技术出来 ╮(╯▽╰)╭
引用来自“高尤波”的评论
在牛逼也是用别人的计算机语言写的。 你可以再牛逼一点, 自己开发一套计算机语言。。。
有种毁灭身体重新改造一个样式,
可以自己发明一种主食比如或者不吃换一种方式生活
引用来自“jQer”的评论
引用来自“hanf”的评论
引用来自“jQer”的评论
引用来自“hanf”的评论
一大群屁都不懂的傻逼又喜欢发表白痴言论。航天级芯片和软件的严苛要求你们懂么,还windows98~这可是高科技,不是你们码农那种“高科技”。不懂就算了,评论还显得那么竭斯底里和非理性。恶心死我了。
你那一大堆破铜烂铁有个屁用。
另外,请教下什么是运算。
我仿佛看到了某个大神拿着通信线缆以光速从飞船的左边绕道右边连续对接几十个光口上千次。
引用来自“hanf”的评论
引用来自“jQer”的评论
引用来自“hanf”的评论
一大群屁都不懂的傻逼又喜欢发表白痴言论。航天级芯片和软件的严苛要求你们懂么,还windows98~这可是高科技,不是你们码农那种“高科技”。不懂就算了,评论还显得那么竭斯底里和非理性。恶心死我了。
你那一大堆破铜烂铁有个屁用。
另外,请教下什么是运算。
我仿佛看到了某个大神拿着通信线缆以光速从飞船的左边绕道右边连续对接几十个光口上千次。
引用来自“jQer”的评论
引用来自“hanf”的评论
一大群屁都不懂的傻逼又喜欢发表白痴言论。航天级芯片和软件的严苛要求你们懂么,还windows98~这可是高科技,不是你们码农那种“高科技”。不懂就算了,评论还显得那么竭斯底里和非理性。恶心死我了。
你那一大堆破铜烂铁有个屁用。
另外,请教下什么是运算。
引用来自“hanf”的评论
一大群屁都不懂的傻逼又喜欢发表白痴言论。航天级芯片和软件的严苛要求你们懂么,还windows98~这可是高科技,不是你们码农那种“高科技”。不懂就算了,评论还显得那么竭斯底里和非理性。恶心死我了。
你那一大堆破铜烂铁有个屁用。
引用来自“hanf”的评论
引用来自“我喜欢吴佳旻”的评论
我不相信没有参考任何开源OS的代码
引用来自“高尤波”的评论
在牛逼也是用别人的计算机语言写的。 你可以再牛逼一点, 自己开发一套计算机语言。。。
引用来自“jQer”的评论
从来没听说过中国投资开发底层操作系统, 没有底层系统支持, 直接开发航天操作系统, 不是扯淡么。
开发一套底层操作系统, 没有高投入,几十年高级精英的投入,可能吗? linux也是从unix开始的。
引用来自“jQer”的评论
里边必然是linux, 有什么好猜的
引用来自“我喜欢吴佳旻”的评论
我不相信没有参考任何开源OS的代码
引用来自“zjtxqjj”的评论
引用来自“高尤波”的评论
在牛逼也是用别人的计算机语言写的。 你可以再牛逼一点, 自己开发一套计算机语言。。。
再牛逼也需要依靠别人发明的直流发电技术,有本事自己弄套完全不同的技术出来 ╮(╯▽╰)╭
引用来自“zjtxqjj”的评论
引用来自“lxbzmy”的评论
我不相信这个系统里面没有linux 的痕迹。
引用来自“BaiYang”的评论
引用来自“树相马”的评论
引用来自“BaiYang”的评论
国外怎么封锁了?不说 Linux、FreeBSD 等,就是开源的成熟 RTOS 也一大把,比如 RTEMS、eCos、ucLinux 等等。
比如弹道控制系统,空间站的自动系统等等。。。。。就算(只是你估计)这些都运行在开源系统的基础上,关键的东西依旧会闭源。。。
引用来自“树相马”的评论
引用来自“BaiYang”的评论
国外怎么封锁了?不说 Linux、FreeBSD 等,就是开源的成熟 RTOS 也一大把,比如 RTEMS、eCos、ucLinux 等等。
引用来自“狄仁傑”的评论
引用来自“Nemesis_E”的评论
这明显是一个外行写的 文章
文笔很好 估计能达到忽悠人的目的
引用来自“py4nt”的评论
freebsd改的么...
引用来自“守护~”的评论
引用来自“紫电清霜”的评论
引用来自“守护~”的评论
为什么黑的人这么多,就不能抱着鼓励的态度嘛。。
引用来自“ChrisXY”的评论
不为人知 你是则么知道的?
引用来自“zjtxqjj”的评论
引用来自“zjtxqjj”的评论
引用来自“高尤波”的评论
在牛逼也是用别人的计算机语言写的。 你可以再牛逼一点, 自己开发一套计算机语言。。。
再牛逼也需要依靠别人发明的直流发电技术,有本事自己弄套完全不同的技术出来 ╮(╯▽╰)╭
引用来自“yifei”的评论
谁出的稿子?
引用来自“BaiYang”的评论
国外怎么封锁了?不说 Linux、FreeBSD 等,就是开源的成熟 RTOS 也一大把,比如 RTEMS、eCos、ucLinux 等等。
引用来自“紫电清霜”的评论
引用来自“守护~”的评论
为什么黑的人这么多,就不能抱着鼓励的态度嘛。。
引用来自“中山野鬼”的评论
引用来自“Fuz”的评论
引用来自“中山野鬼”的评论
不知道有多少人,真正在追求自由。哈。也不知道整天叫嚷绝对自由的人,是否真的从自由中获得了价值。。
引用来自“高尤波”的评论
在牛逼也是用别人的计算机语言写的。 你可以再牛逼一点, 自己开发一套计算机语言。。。
引用来自“袁国涛”的评论
引用来自“zjtxqjj”的评论
引用来自“高尤波”的评论
在牛逼也是用别人的计算机语言写的。 你可以再牛逼一点, 自己开发一套计算机语言。。。
再牛逼也需要依靠别人发明的直流发电技术,有本事自己弄套完全不同的技术出来 ╮(╯▽╰)╭
引用来自“守护~”的评论
为什么黑的人这么多,就不能抱着鼓励的态度嘛。。
引用来自“张亦俊”的评论
我看到了很多说Linux的,但是我个人觉得是不可能的。
虽然文章写的狗屁一样,但从文章透露出来的信息,SpaceOS1只能管理五个任务,连IPC都没有,这显然不是Linux的特征。
而且,航天器的芯片指令集应该不是我们这些主流架构的,因为这个会增加不必要的成本和风险。把Linux移植到一个全新平台的代价,估计和重新开发一个OS差不多。
第三,Linux其实根本就是不行的,这个可以参照老美,人家也不用Linux。根本原因还是Linux实时性不行。
Linux也不是没有RTOS的方案,比如RTLinux、 Xenomai、 RTAI。
其实我更想知道的是,RTOS的标准是什么?什么样的系统才能算是RTOS?
引用来自“Nemesis_E”的评论
这明显是一个外行写的 文章
文笔很好 估计能达到忽悠人的目的
引用来自“lxbzmy”的评论
我不相信这个系统里面没有linux 的痕迹。
引用来自“ueharaai”的评论
我记得以前看过一张图:windows98
引用来自“张亦俊”的评论
我看到了很多说Linux的,但是我个人觉得是不可能的。
虽然文章写的狗屁一样,但从文章透露出来的信息,SpaceOS1只能管理五个任务,连IPC都没有,这显然不是Linux的特征。
而且,航天器的芯片指令集应该不是我们这些主流架构的,因为这个会增加不必要的成本和风险。把Linux移植到一个全新平台的代价,估计和重新开发一个OS差不多。
第三,Linux其实根本就是不行的,这个可以参照老美,人家也不用Linux。根本原因还是Linux实时性不行。
引用来自“高尤波”的评论
在牛逼也是用别人的计算机语言写的。 你可以再牛逼一点, 自己开发一套计算机语言。。。
虽然文章写的狗屁一样,但从文章透露出来的信息,SpaceOS1只能管理五个任务,连IPC都没有,这显然不是Linux的特征。
而且,航天器的芯片指令集应该不是我们这些主流架构的,因为这个会增加不必要的成本和风险。把Linux移植到一个全新平台的代价,估计和重新开发一个OS差不多。
第三,Linux其实根本就是不行的,这个可以参照老美,人家也不用Linux。根本原因还是Linux实时性不行。
开发一套底层操作系统, 没有高投入,几十年高级精英的投入,可能吗? linux也是从unix开始的。
引用来自“孤单时会想你”的评论
引用来自“zjtxqjj”的评论
引用来自“zjtxqjj”的评论
引用来自“高尤波”的评论
在牛逼也是用别人的计算机语言写的。 你可以再牛逼一点, 自己开发一套计算机语言。。。
再牛逼也需要依靠别人发明的直流发电技术,有本事自己弄套完全不同的技术出来 ╮(╯▽╰)╭
引用来自“zjtxqjj”的评论
引用来自“zjtxqjj”的评论
引用来自“高尤波”的评论
在牛逼也是用别人的计算机语言写的。 你可以再牛逼一点, 自己开发一套计算机语言。。。
再牛逼也需要依靠别人发明的直流发电技术,有本事自己弄套完全不同的技术出来 ╮(╯▽╰)╭
文笔很好 估计能达到忽悠人的目的
引用来自“zjtxqjj”的评论
引用来自“高尤波”的评论
在牛逼也是用别人的计算机语言写的。 你可以再牛逼一点, 自己开发一套计算机语言。。。
再牛逼也需要依靠别人发明的直流发电技术,有本事自己弄套完全不同的技术出来 ╮(╯▽╰)╭
引用来自“lxbzmy”的评论
我不相信这个系统里面没有linux 的痕迹。
引用来自“高尤波”的评论
在牛逼也是用别人的计算机语言写的。 你可以再牛逼一点, 自己开发一套计算机语言。。。
再牛逼也需要依靠别人发明的直流发电技术,有本事自己弄套完全不同的技术出来 ╮(╯▽╰)╭