[返回博论天下首页]·[所有跟帖]·[ 回复本帖 ] ·[热门原创] ·[繁體閱讀]·[版主管理]
这就是所谓打败美国的中国高科技,老师我的Window又挂了!
送交者: 中日一点洪[布衣] 于 2015-04-23 20:31 已读 516 次  

中日一点洪的个人频道

中国航天用的 SpaceOS 主要内容是仿造美国风河系统公司的 VxWorks653(653 是产品名,并非版本号)。 先解释为什么用这个系统不用 Linux: 航天器的内存和 CPU 都非常弱,弱到什么程度呢:天宫一号的 CPU 是 10MHz 的,内存是 2M,这种配置跑 Linux 比较费劲,虽然也并非不可能但要裁剪 Linux 内核确实太麻烦了。 而 Linux 的致命缺陷就是 Linux 不是一个硬实时操作系统。实时操作系统(RTOS)有一系列严格的定义:包括严格按照任务优先级抢占执行,快速的中断响应,对关中断的时间有非常严格的控制,Linux 是一个民用的操作系统,其内核设计并没有考虑到这些点,所以 Linux 不适用于航天领域。 实际上,Linux 的主要应用还是在通用计算机和服务器方面,在工业控制、自动化方面还有各种各样的操作系统:ucos,nuclues,threadX,greenhill,VxWorks 等等。 有人提到了 RT-Linux,这个说的简单点,就是底下是一层 RTOS,上面是 Linux,这种 Linux 复杂度太高,也不能裁剪的太小。 有人说到 SpaceX 公司用的是 Linux,这没错,是火箭用的,SpaceX 的龙号飞船用的是 VxWorks 系统。 另外,很多人听了可能会难过的就是中国的国防军工行业的自动化控制部分实际上也都是 VxWorks 称霸的,虽然号称自主知识产权,但实际上不是那么回事。 家用系统多数情况下要求系统的均衡运行,比如,你可以同时玩游戏,上网,听音乐,但实时系统都是重要任务先执行,不重要的任务往后放,设计理念是不一样的。 下面讨论一下这个系统的规模问题,8000 行应该说差不多正合适,一个内核、一个调度器、若干任务、中断处理,甚至可能不包含动态内存分配,不要觉得连动态内存分配都没有还算系统吗?算,有的系统就是这么设计的,要知道内存碎片对于只有几 M 内存的设备来说是很可怕的。甚至有的系统里是没有中断的,中断处理是通过轮询的方式实现,为的是系统状态可以实时追踪。 这么小的系统需要的是精确可靠,有人说自己一个月就能写 8K 行代码,你要这么说,我说我也可以写出来,操作系统不是写应用,需要考虑的设计细节非常多,而且一旦定型,修改又非常麻烦,而且需要大量的测试,NASA 那边是一个开发对应几十个甚至上百的测试的比例,对于航天工业来说,可靠性是最重要的。 最后想说的就是,Linux/Unix/Windows 这些都是通用操作系统,跟专用的操作系统差别很大,设计思路也完全不一样,不要从通用操作系统的角度去看待它们。 漏掉一点:为什么航天器的计算机配置都这么差: 因为太空辐射、极端温度的原因,计算机系统首先要求的是可靠性,高温 100 多度,低温零下 100 多度,这种温度下一般家用计算机早就挂了,所以为了对应这个极端环境,主要的硬件都被设计成很耐用的状态,这就使得计算机速度不是一个重要的指标。另外太空辐射会造成位翻转,频率越高越容易被干扰,所以低频是主流。

喜欢中日一点洪朋友的这个贴子的话, 请点这里投票,“赞”助支持!
[举报反馈]·[ 中日一点洪的个人频道 ]·[-->>参与评论回复]·[用户前期主贴]·[手机扫描浏览分享]·[返回博论天下首页]
帖子内容是网友自行贴上分享,如果您认为其中内容违规或者侵犯了您的权益,请与我们联系,我们核实后会第一时间删除。

所有跟帖:        ( 主贴楼主有权删除不文明回复,拉黑不受欢迎的用户 )


用户名:密码:[--注册ID--]

标 题:

粗体 斜体 下划线 居中 插入图片插入图片 插入Flash插入Flash动画


     图片上传  Youtube代码器  预览辅助

手机扫描进入,浏览分享更畅快!

楼主本栏目热帖推荐:

>>>>查看更多楼主社区动态...





[ 留园条例 ] [ 广告服务 ] [ 联系我们 ] [ 个人帐户 ] [ 版主申请 ] [ Contact us ]