开源中国|采用C++、Chromium与JS开发,猎鹰与龙飞船基于Linux

最近两天科技界最重大的事件莫过于马斯克的SpaceX成功实现了猎鹰9号(Falcon9)带着龙飞船(CrewDragon)成功发射 , 并使飞船与国际空间站对接 , 将NASA两名宇航员送上了轨道前哨 。
背后关于Falcon9与CrewDragon使用的计算机和软件等信息也引起了开发者的关注 。 多年前就存在的相关论坛提问帖也被翻了出来 。
开源中国|采用C++、Chromium与JS开发,猎鹰与龙飞船基于Linux
文章图片
自称为SpaceX公司软件开发团队的网友表示Falcon9火箭与C#、MVC都没有关系 。 Falcon、Dragon(此次载人的CrewDragon前一代飞船)的应用主要使用LabVIEW进行编码 , 用于开发任务和发射控制的GUI , 供工程师和操作员监控车辆遥测并指挥火箭、航天器和护垫支持设备 。
【开源中国|采用C++、Chromium与JS开发,猎鹰与龙飞船基于Linux】LabVIEW(LaboratoryVirtualInstrumentationEngineeringWorkbench , 实验室虚拟仪器工程平台)是一种程序开发环境 , 由美国国家仪器(NI)公司研制开发的 , 类似于C和BASIC开发环境 。 LabVIEW采用图形化编辑语言G编写程序 , 产生的程序是框图的形式 。
该网友还表示Dragon和Falcon9使用Linux操作系统 , 其他网友补充 , 在GDC2016与Dragon团队交流后了解到 , Falcon采用“三重冗余”系统 , 简单来讲 , Falcon9具有3个双核x86处理器 , 每个核上都运行Linux实例 。
飞行软件采用C/C++编写 。 对于每个计算/决定 , “飞行字符串”都会比较两个核的结果 , 如果存在不一致 , 则字符串是错误的 , 不发送任何命令 。 如果两个内核都返回相同的响应 , 则字符串将命令发送到火箭上的各种微控制器 , 这些微控制器控制诸如引擎之类的东西 。
运行在PowerPC处理器上的微控制器从三个飞行字符串接收到三个命令 , 他们充当法官来选择正确的行动方案 。 如果所有三个字符串都一致 , 则微控制器将执行命令 。
而CrewDragon飞行界面上使用了Chromium与Java开发 , 实际的飞行计算机仍基于C++运行 。


    推荐阅读