航天器操作系统总结

从2015年以前发表的帖子来看,国内上天的卫星产品没有使用Linux系统的。

一、Linux系统

Linux作为一款抢占式多任务操作系统,上下文切换和中断在所难免。但可以给任务进程设置运行优先级(nice/renice)和进行CPU核心亲缘性绑定(taskset)。就算发生上下文切换,那也是微秒级别的耗时,还是很快的,只是相对没有那么“实时”而已,如果航天器相差万分之一秒会导致的严重的错误,这时就不适合使用Linux了。

二、航天器对计算机操作系统的要求

由于为了对抗高能粒子等原因,计算机的频率会很低(天宫一号的主机计算频率貌似在20MHz上下),制作尺寸也很大,空间小(VxWorks653内核能裁剪到很小(8000行代码),也能支持SPARC架构,据说天宫什么的用的就是这个,VxWorks653也能关闭动态内存申请),不能跑标准版的系统。军工航天口,实时操作系统一般都用风河公司的Vxworks。军工航天领域对计算机系统的要求是稳定、高可靠性、体积不要太大、实时性高。

1、稳定:就意味着内核代码不能经常改变,Linux版本变化太快,这一点就不符合要求。NASA用的代码是WindRiver十年前的代码。

2、高可靠性:就是这个系统运行很长时间不能有bug,据说连续运行时间最长的是一款Unix(不是很确定),而Windows最长连续运行时间才1年多(这个数据较早,可能是WIN2K的数据);

3、体积不要太大:因为要留出足够的内存给其它任务,比如探测器的数据保存等工作,内核体积要足够小,一个典型的Linux内核大概是几M,Windows的内核文件NTOSKRNL.EXE也是几M,这还只是镜像的体积,运行时的内存就占的更大了。而VxWorks最小内核可以小到几百K,运行内存也是几MB就足够了。有人会说DOS也可以这么小,但是DOS是16位系统,并且常见的只能在X86平台,VxWorks是跨平台(MIPS/PPC/X86/ARM...),并且是完整的32位系统。

4、实时性高:实时性主要是指对中断响应的速度,大多数应用操作系统对中断的响应速度是极慢的,具体表现就是关中断时间太长,如果有大量的中断发生,会出现丢中断的情况。VxWorks在这一点是最具有优势的,它处理中断采用的方式与其它OS不同,能保证关中断的时间非常短。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值