RTOS实时操作系统
1、航天星载计算机
航天电子产品不但要耐火箭起飞时的冲击、振动等苛刻的力学环境,而且要承受宇宙空间的高温、低温、高真空、高辐射等极端条件;另外,由于在空间环境条件下,电子产品的可维护性非常差,而且一旦发生故障,其后果往往比较严重,甚至是致命的。因此相对于普通计算机,其可靠性要求更高。
(1)星载操作系统
卫星上面的操作系统崩溃(宕机)了该如何重启?
https://www.zhihu.com/question/20160612
星载的研究单位和方向
自主可控的片上系统、嵌入式系统全系统安全性、自主可控的嵌入式软件工具链等方向开展联合研究,为申请国家重点基础研究发展计划做准备。
http://sunwiseinfo.com/newsitem/278381996
1
星载计算机中应用实时操作系统的两种方式:使用一种源码开放的RTOS——RTEMS和自主开发RTOS. RTEMS从1993年开始开发,并于1999年开始地外开放源代码,并由OAR公司进行维护和升级。现在最新版本为4.6.0,在OAR的网站(www.oarcorp.com)上可以下载到相关资源.RTEMS支持C/Ada语言.
2
航天器用的系统是最重要的指标是实时性,而Windows和Linux都不是实时操作系统(RTOS)。
实时操作系统重要的指标包括:对中断响应速度(一般要求是ns级),Windows和Linux关中断的时间都太长了(都达到ms级的水平),不适合航天器使用。
实时操作系统调度策略都是抢占式的,Windows和Linux都不是抢占式的系统(补充:Windows是不完全抢占式系统,有防饥饿机制,Linux在2.4之前不是,2.6以后据说已经是抢占式的)。
跟SpaceOS同类的系统大多数人平时很难接触到,比如ucos,nucleus,threadX,以及VxWorks,这些系统一般用在工控的领域比较多。
工控方面主要是VxWorks和Linux,另有uCos/Nucleus/ThreadX等等,WINCE都不太主流。至于你提到的RMX,这个没有听过,查了一下历史很古老,衰落的原因应该是平台太少,毕竟x86平台做嵌入式的并不多,过去MIPS/PPC是主流,现在ARM是主流。
链接:https://www.zhihu.com/question/23749819/answer/25541615
VxWorks 风河公司,现在属于intel,工业、航天领域用得最多
QNX 汽车电子行业占有率最高
RtLinux/RTAI等 RtLinux有众多的不同分支,用得比较多的是RtLinux,但已经无人维护了,RTAI一直在更新,但接口的使用比较麻烦,开发者不友好
VIRT 国内最好的一个实时操作系统,北京并集科技(http://www.rtlimit.com) 研发,也是起源于RtLinux的一个分支,性能和特性都非常先进,国内的航天、军工、电力应用较多
其他还有一些用得比较多的比如:ucos, dos等,都是功能非常简单的操作系统,可扩展性太差,与上面这几个比较起来,算不上先进的操作系统,未来的发展潜力比较小
参考:
https://www.zhihu.com/question/23749819/answer/121590415
https://www.zhihu.com/question/22346689/answer/21087798
https://zhidao.baidu.com/question/80204483.html
https://www.zhihu.com/question/22346689
(2)处理器架构
在星载计算机系统中处理器性能的稳定与可靠,在整个系统的稳定与可靠性中占有重要地位,因此选择合适的处理器架构变得相当重要。目前,在世界范围内星载计算机系统中所使用的处理器架构只有两种,一种是由美国使用的POWERPC架构,另一种就是欧洲主导的SPARC架构。
如此看来,目前在嵌入式领域颇为火热的ARM、MIPS、X86等架构,并不能够应用于星载、计算中,或者说其不具备在这一领域应用的优势。
美国现在使用的最高端的星载计算机,采用的是基于POWERPC体系结构的。欧空局为了摆脱美国对其空间研发能力的制约而独立开发了基于SPARC V7机构的面向空间应用的微处理器:ERC32,其辐射加固版本已经成熟使用于航天环境中。06年5月22日,基于LEON SPARC V8的处理器也成功使用于航天工程。可以说SPARC体系结构的CPU在今后的航天计划中将发挥更大作用。
由于中国与美国的战略关系,因此中国的星载计算机不太可能使用POWERPC架构,因此SPARC架构目前正逐渐被国内相关星载处理器研制单位所采用,特别是因为SPARC架构的开源优势,可以替资本并不雄厚的本土IC设计企业省下一大笔开发经费。基于笔者的观察,目前国内研究与使用SPARC架构的机构有这么几家:西安微电子研究所、北京微电子研究所、国防科技大学、航天二院、哈尔滨工业大学、北京理工大学、北京航空航天大学、珠海欧比特控制工程股份有限公司等,其中欧比特控制工程股份有限公司是一家民营的国内创业板上市公司,虽然没有明显的“航空航天”血统,但是在SPARC产品的产业化与自主产权处理器与系统开发方面,欧比特走在了前列。
可以预见,虽然在中国的星载计算机处理器中,POWERPC架构也会占有一席之位,但是大部分份额显然会被SPARC架构所占领。
https://blog.csdn.net/makebuaa/article/details/6955263
https://www.zhihu.com/question/23749819
洞察”号火星测器上的计算机
RAD750单板计算机(SBC)
BAE系统
BAE系统公司的RAD750单板计算机(SBC)
BAE系统公司的RAD750单板计算机(SBC)为下一代航天器提供了所需的高性能机载处理能力,以支持从天气和行星探测到通信、监视和国家安全任务等空间任务。
CPU:RAD750TM抗辐射PowerPCTM微处理器
RAD750TM是PowerPC 750TM的一个完全专利授权的电路转译版本,
它为洛马公司等航空航天公司提供了最先进的商业性能特性,与当时业界领先的星载计算机产品AD6000TM相比,它的数据处理能力有了一个数量级的提高。
RAD750紧凑型PCI单板计算机,
可以支持由洛克希德马丁公司开发的JPL X2000程序运行环境,提供了模块化的标准产品,
使航天器开发人员在系统配置中具有极好的灵活性。
RAD750是一个超纯量架构的RISC处理器,
有6个执行单元和一个允许并行执行的调度/执行系统。两条指令和一条进程可以同步执行。RAD750包含了PowerPC 750的所有增强架构。其中包括一个集成的二级缓存控制器(带通道可选的1MB外部二级缓存端口)、带内存管理单元的双8路集关联的32KB一级缓存、用于改进任务切换性能的硬件表日志、用于动态进程预测的进程历史表和目标缓存以及双固定点执行单元。核心处理器的处理速度为系统I/O总线吞吐速度的2倍到8倍(增量为1/2),可基于引脚可编程设置。L2接口由延迟锁定环路控制,从全速到处理器核心处理速度的1/3以1/3的增量计时。
https://zhuanlan.zhihu.com/p/149257818
https://www.vipsmt.com/news/hydt/35922.html
(3)VxWorks【微内核】
实时系统实例
全球有无数产品搭载了实时操作系统,仅VxWorks就被超过20亿台设备使用。从汽车发动机到太空望远镜,从直升机制导系统到火星车,都搭载了运行实时操作系统的嵌入式系统。
商用实时操作系统与内部实时操作系统的优势和风险
一些公司尝试开发适合自己特定项目的实时操作系统,而不是购买商用现货操作系统。这样做有一定优势。操作系统是针对特定的应用案例而设计的,而且各公司了解各自内部的运作机制。但其弊端是成本高昂而且耗时,不适应的开发人员需要花费大量的时间来开发一个操作系统。商用系统使用起来更简便快捷,且配备经验丰富的技术团队,负责答疑解惑并提供技术支持。操作系统是一种工具,就好比一个锤子或钻头。量身定制一款操作系统无疑将会花费大量的时间,而且性能无法保证。
【这样看来,只有系统内为了安全,防止后门等需求,需要开发实时系统如SpaceOS,其他商业航天基本就上VxWorks了,少有定制开发OS的。】
为何使用实时操作系统?
在可靠性和可重复操作性要求高的应用程序中,实时操作系统比通用操作系统更受青睐。特别是在可靠性和速度至关重要的嵌入式或关键系统中,更需要实时操作系统。
不断演变的嵌入式实时操作系统
新方法
如今,人们的关注点已从嵌入式系统转移到其所搭载的操作系统上。实时操作系统必须跟上创新的步伐,拥抱现代化开发实践,以适应新一代嵌入式系统开发者所采用的框架、语言和方法,并确保信息安全性、功能安全性、高性能及可靠性。
支持旧版系统
系统的创新进步在优化性能和连接性、缩短设计周期的同时,加速了产品的更新迭代。随之而来的是如何处理旧版系统的问题。持续重新编码嵌入式应用程序成本高昂。另一方面,系统制造商希望尽可能使用现有的代码,特别是在已经投资认证软件的时候。
新硬件和虚拟化
随着多核硬件平台的进步,嵌入式系统和应用得到了整合。单个芯片能够包含2到64个CPU,有助于降低最终产品的成本、减小尺寸和重量。
虚拟化也加速了嵌入式系统的发展。如今,多个嵌入式系统可以通过硬件上的hypervisor实现虚拟化运行。这对于那些希望最大限度地利用现有IP投资、从传统应用向新平台过渡的制造商来说至关重要。
由上面知:嵌入式开发是主,RTOS是客!
RTOS是适配嵌入式开发框架的,而非嵌入式开发适配操作系统!!!
只要是嵌入式程序,好像上任何一个RTOS都可。
【风河官网】:http://www.windriver.com.cn/solutions/learning/rtos/
【这个官网有很多干货,关于嵌入式开发和实时操作系统的,也有课程,很值得学习浏览。】:
https://www.windriver.com/company/universities
https://learning.windriver.com/page/learning-subscription#products_vxworks
【风河在线研讨会,免费课程】:http://www.windriver.com.cn/solutions/learning/rtos/#collapse10
【找工作】:https://jobs.jobvite.com/windriver/jobs
【安全验证岗】:https://jobs.jobvite.com/windriver/job/ovepifwa
(4)esol【微内核】
https://www.esol.com/cn/embedded/lineup_rtos.html
2、14种主流的RTOS:
非国产:μClinux、μC/OS-II、eCos、FreeRTOS、mbed OS、RTX、Vxworks、QNX、NuttX,
国产:都江堰操作系统(djyos)、Alios Things、Huawei LiteOS、RT-Thread、SylixOS。
参考:
https://www.sohu.com/a/332985081_100281310