太空链SpaceChain OS:针对航天器设计、优化的操作系统
太空链目前正在开发SpaceChain OS,一款针对航天器设计、优化的操作系统。
由于航天技术的不断发展以及航天任务复杂性的日益增加,航天器软硬件系统日趋复杂,传统的航天器软硬件设计方法,特别是软件的设计方法和开发手段已逐渐不适应这种要求,如何能够提高软件质量缩短研制周期,提高系统的稳定性、实时性和可靠性成为航天器软件设计中的重要问题。
在航天器软件的设计开发中,引入嵌入式实时操作系统(简称RTOS)能够支持多任务,把任务管理调度、任务间通信、内存管理等系统功能以函数调用的方式提供给用户,使用户能够将精力放在应用程序的开发上,有助于航天器软件通用化和模块化设计,缩短软件产品的研制周期,保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。这已逐渐成为航天器软件开发的一个发展方向。
[ 1 ]
航天器使用行业专用嵌入式实时操作系统的必要性
国外嵌入式操作系统已经从简单走向成熟,航天器一般都是基于现有的成熟的商用嵌入式实时操作系统进行航天器软件设计。美国NASA自20世纪80年代末以来,就一直在航天器中采用实时操作系统,从最早的“火星登陆者”到“勇气号”都采用了RTOS(VxWorks),事实也证明了这是非常成功的。中国嵌入式操作系统的起步较晚,国产的嵌入式操作系统在技术含量、兼容性等方面尚未成熟,航天器软件中嵌入式实时操作系统的使用也呈现出其独有的特点。
1.1 基于不开源的嵌入式实时操作系统
从上世纪80年代起,商业化的嵌入式操作系统开始得到蓬勃发展。目前商用成熟的嵌入式实时操作系统已经成功运用在包括航天在内的许多嵌入式领域,如:VxWors、QNX。成熟的商用操作系统提供良好的持续发展能力、高性能的内核以及友好的用户开发环境,用户可以不用关心操作系统内部如何实现多任务之间的协调工作等具体的技术细节,只需要按照提供的API调用系统服务即可。基于该类操作系统的设计用户能够充分利用成熟的技术,灵活方便地进行开发和调试,大大加快开发进度,快速开发航天器软件。该方式因操作系统本身以及开发环境都是专有的,价格一般都比较高,通常花费几十万元人民币才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税,一般不提供源代码,只提供二进制代码。由于它们都是专用操作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高,对于关乎国防安全的航天工业,因无法获取操作系统的源代码,用户不了解底层内核的运作方式,无法确定其安全性,操作系统中潜在的异常任务可能会导致系统的崩溃,是其致命弱点。尤其对于关乎国防安全的航天工业,安全工作更是重中之重,更不能受制于人。
1.2 基于开源的嵌入式实时操作系统
在成熟的嵌入式操作系统中,免费公开源代码的实时操作系统有:uC/OS-II、Nucleus、uClinux、RTEMS。这类操作系统因源代码开放有大量的资源可供利用,用户可深入地了解底层内核的运作方式,并可根据自己的特殊要求删减或改动系统软件,这对软件的规范化管理及系统软件的测试都有极大的帮助。用户完全可以控制内核,充分利用成熟的技术,快速开发航天器软件,有效地缩短开发周期,代码质量也得到保证;其中最有代表性的就是RTEMS。RTEMS由于具有开放源代码的优势,以及能与最优秀的商业RTOS相当的性能,使得它最适合应用到星载计算机中,RTEMS现在能支持包括ERC32(欧空局用于航天项目的CPU)在内的11种类型的CPU(包括Motrola MC68K系列、Cold-Fire、Hitachi SH、intel i386、i960、MIPS、PowerPC、SPARC、AMD、A29K、HP PA-RISC)。商用操作系统因其通用性,对硬件要求相对苛刻,例如:RTEMS是属于比较复杂的RTOS,至少需要60KB左右的内存空间才能使系统运转起来。而且航天器系统中的处理器型号多样,但不属于通用型处理器,现用的成熟操作系统并不支持,如国内在航天领域常用的1750ACP,RTEMS就不支持。主流实时操作系统有广泛的应用领域,功能多而全;而空间应用有自身的缺点,这就会造成共性与个性之间的矛盾,商用实时操作系统中一些功能对于空间应用来说多余,而空间应用中需要的功能却没有提供。当使用现有操作系统有一定的局限性,那么自行研制嵌入式实时操作系统将是更好的解决办法。
1.3 基于航天设计的嵌入式实时操作系统
航天器软件的开发经历了无操作系统的嵌入式算法阶段,到现在的以嵌入式CPU为基础、简单操作系统为核心的嵌入式系统。针对航天设计的嵌入式实时操作系统可以根据需要增减相关功能,有更大的灵活性,且系统开销小、效率高。由于该操作系统是为专门的实时应用开发的,所以它的应用性强、工作效率高,内核中几乎没有多余的代码,能够在内核的大小和内核的功能上达到一个较优的组合。而且设计人员了解操作系统内核机制,对于该系统的使用场合、时间分析都很清楚,这有助于后期的测试和修改,以及今后的维护、扩展、升级。从长远来看,嵌入式实时操作系统的开发应用,对航天器软件的开发设计有着深远的意义。为此,太空链基金会推出了开源的航天器操作系统SpaceChain OS,并希望以此来推动航天行业内共识的搭建。
SpaceChain OS源自于成熟的SylixOS。 SylixOS是一款成熟的大型实时操作系统。自2006面世以来,广泛应用于电力、轨道交通、航天、航空、工控、军工领域,其中,很多节点已经连续运行超过6万小时,可靠性、稳定性、实时性都得到了广泛的验证。
SylixOS支持6大硬件平台,包括ARM、DSP、SPARC、X86、MIPS、RISC-V。基本覆盖几乎所有能见到的处理器架构,其中包括目前航天使用较多的PowerPC以及SPARC、MIPS,同时,对于航天领域,尤其是低轨已经崭露头角的处理器ARM和极具潜力的RISC-V,SylixOS支持四套API,包括POSIX 1003.1b,VxWorksV6.8(90%),GJB7714-2012,Sylix API。
SpaceChain采用了成熟的SylixOS Kernel作为底层平台,并在此基础上,做了如下改进提升:
◇ 增加适用于航天的特性和功能。太空链基金会在SylixOS基础上提供了诸多适用于航天领域的中间件、代码包、库文件、硬件抽象层、驱动等。这些功能和模块的添加最大程度保证SpaceChain OS懂航天的需求,可以快速部署到航天设备,不再每个组织都重复造轮子。
◇ 区块链技术。SpaceChain OS集成了QTUM等区块链技术。基于QTUM的区块链应用可以直接运行在星务计算机等诸多嵌入式平台上,借此带来航天应用的更大想象力。
◇ 提高安全性。集成了区块链、安全沙盒、虚拟化等功能。
◇ 提高可靠性。对于每一代的SpaceChain OS,太空链基金会都会对其做在轨验证,为社区提供安全可靠的代码。
◇ 应用市场。在SpaceChain OS的平台上,通过区块链安全沙盒的搭载,任何开发者都可以在航天器上有一个安全的环境来开发他们的应用程序,就像现在在智能手机上所做的一样。
◇ 技术支持服务。对于初创企业,太空链基金会提供资金、技术、资源、人员等各方面的支持,同时,利用通证系统,促进其快速成长,更快速地提供贴近市场需求的服务和产品。
SpaceChain OS系统架构如下图:
[ 2 ]
SpaceChain OS为航天应用市场带来的革命性变革
航天器软件的发展趋势及嵌入式实时操作系统的特点,决定了在以后的航天器软件开发中会越来越多的使用嵌入式操作系统,引入RTOS将带来航天器软件开发的一次技术变革。SpaceChain OS极大地简化了开发的难度和流程,对卫星等航天资源可以开展充分的利用,提高了使用效率,并且还能有效地降低太空应用成本。类似Android一样,所有人使用同一个软件平台,带来的低成本高效率是显而易见的。开发一个Android应用程序,可以运行在全球几十亿部Android设备上,同样的场景,也会发生在航天领域。
2.1 SpaceChain OS实时操作系统提高了系统的可靠性
在控制系统中,出于安全方面的考虑,要求系统起码不能崩溃,而且还要有自愈能力。不仅要求在硬件设计方面提高系统的可靠性和抗干扰性,而且也应在软件设计方面提高系统的抗干扰性,尽可能地减少安全漏洞和不可靠的隐患。长期以来传统的软件设计在遇到强干扰时,使得运行的程序产生异常、出错、跑飞,甚至死循环,造成了系统的崩溃。而实时操作系统管理的系统,使系统的单任务设计转向多任务编程,不至于一个环节的失效就引起整个软件的失效。
2.2 SpaceChain OS实时操作系统提高了开发效率,缩短了开发周期
使用嵌入式实时操作系统后,使航天器软件的平台软件和功能软件分离,用户可以集中精力编写应用程序,提高开发效率。而且如果使用相同的RTOS,一些通用的模块或任务可以在不同型号集成和使用,提高软件的复用性。
2.3 SpaceChain OS实时操作系统充分发挥了32/64位CPU的多任务潜力
星载计算机处理器越来越复杂,功能越来越强大,从8位的8031到16位的1750A、8086,到32位的ERC32、80X86,由过去的8位处理器发展为16位,直到现在的32位,以及未来的64位。32位CPU比8、16位CPU快,是为运行多用户、多任务操作系统而设计的。如果还是采用以前的设计方法,则无法发挥32位CPU的优势。
太空链基金会也会建立OS的开源社区,为广大开发者提供优良便捷的OS及应用的开发环境。
太空链基金会不断升级SpaceChain OS并通过卫星等搭载方式实现其在轨验证工作。目前已经有多家航天公司希望在其航天器上使用SpaceChain OS,如低轨通信卫星、地球静止轨道通信卫星、商业空间站、运载火箭及其发动机等。
太空链基金也在基于SpaceChain OS研发和发射自己的卫星系统,系统将服务于太空链社群。2018年太空链将发射卫星完成SpaceChain OS及其硬件系统的在轨验证,以完成技术证明。后续将持续开展SpaceChain OS的更新迭代和在轨验证,保障SpaceChain OS的安全性和高效性。
总之,通过自主引领SpaceChain OS的迭代更新和在轨验证,并自主发射卫星提供基础应用平台,太空链不但提供操作系统和硬件标准,还起到了系统建设的引领和带头作用,同时在基于通证系统的确定的收益模式的激励下,可以鼓励已有的及新研的卫星资源不断加入太空链智能卫星系统,并最终为人类提供一个强大、高效、智能的太空应用开发和使用平台,给更多的人提供低成本的参与太空探索和应用的途径,让航天技术和太空探索活动的发展速度得到指数型的快速发展。
[ 3 ]
SpaceChain OS的开发进展
SpaceChain OS于2017年11月开始架构设计,并同期开始操作系统的开发工作。现已完成基于Qtum区块链技术的移植工作,已经实现了基本的区块链沙盒功能,并同时在开发EVM虚拟机。针对于航天器特别的外设,SpaceChain也正在持续优化操作系统的硬件抽象层设计:包括卫星的星敏,GPS,电源管理等硬件以及相关的系统服务。
后续计划:
2018年3月完成全部软件开发功能,并在GitHub开放源代码;
2018年4月完成基于Zynq硬件系统的操作系统的移植工作;
2018年9-12月完成运行SpaceChain OS的Zynq硬件的太空验证;
2018年11月完成基于RISC-V指令集自主研发的一代卫星芯片;
2019年3月完成第二代硬件系统及SpaceChain OS的研发和适配工作;
2019年5月完成第二代OS的在轨验证;
此后以一年2次、一年4次、一年多次的速度开展OS及硬件系统的迭代工作。
太空链建立人类走向太空的价值传输共识
太空链是基于人类共识的太空探索计划,期待在太空探索领域寻找一种共识机制,能有效地调动全人类的力量来自发地开启太空探索活动。
太空链基金会希望利用社区激励系统建立航天的生态链、生产链和分配链,让每一位参与者和贡献者都获得公平的回报,通过这种社会经济模型吸引更多的资源参与航天建设,参与人类太空探索,并无限拓展人类的认知边界。
未来,太空链将在三个维度上开展工作:
第一,打破空领域的合作壁垒,建立共识,整合资源,让太空更好地服务地球、服务人类;
第二,降低行业门槛和成本,发展教育,增加人才储备,更多的人参与太空探索;
第三,建立社会经济模型,发展可持续航天计划,不断探索,让人类认知边界不断拓展。
[ 太空链介绍篇目索引 ]
太空链Vol.1 | 引子:寻找太空探索共识机制
太空链Vol.2 | 干货:太空链任务及展望
太空链AMA (Ask Me Anything)
现场答疑活动
太空链将在本月17号(即 2018.1.17 )北京时间上午10点准时在telegram群开展 AMA (Ask Me Anything) 现场答疑活动。
SpaceChain will host the first AMA(Ask Me Anything) event on 2018-01-17 at 10AM Beijing Time sharp in the Telegram Group.
?Telegram: https://t.me/joinchat/G6bGlg-7qKCkQF7cMk2gbw
届时太空链的创始人 郑作 将会参与大家的线上交流。
Zheng Zuo, the founder of SpaceChain, will join the live discussion with participants.
为了使 AMA 能够顺利进行,请大家提前准备好自己的问题。
To facilitate the AMA session, we would like to urge any participants to prepare their questions before hand.
期待您的参与。
We look forward to your participation.
太空链团队
SpaceChain Team
官网: spacechain.com
微信群: 加群秘 chain_space 进群
微信公众号: 太空链SpaceChain
Facebook: https://goo.gl/uywmns
Twitter: https://twitter.com/Space__Chain
Linkedin: http://suo.im/coYSo
Medium: http://suo.im/24wI8M
Telegram: https://t.me/joinchat/G6bGlg-7qKCkQF7cMk2gbw
BeeChat: https://beechat.io/join?g=7a6859dabe364bd4bae48fd2f88021d3lang=zh
KaKao: https://open.kakao.com/o/g5NJmlE
LINE: http://t.cn/RVh1tC1
Slack: http://suo.im/2TUUPC
欲知更多详情请电邮 info@spacechain.com
Scan QR code with WeChat