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

来源: OSCHINA
编辑: oschina
2020-06-01 08:44:00

最近两天科技界最重大的事件莫过于马斯克的 SpaceX 成功实现了猎鹰 9 号(Falcon 9)带着龙飞船(Crew Dragon)成功发射,并使飞船与国际空间站对接,将 NASA 两名宇航员送上了轨道前哨。

背后关于 Falcon 9 与 Crew Dragon 使用的计算机和软件等信息也引起了开发者的关注。多年前就存在的相关论坛提问帖也被翻了出来。

自称为 SpaceX 公司软件开发团队的网友表示 Falcon 9 火箭与 C#、MVC 都没有关系。Falcon、Dragon(此次载人的 Crew Dragon 前一代飞船)的应用主要使用 LabVIEW 进行编码,用于开发任务和发射控制的 GUI,供工程师和操作员监控车辆遥测并指挥火箭、航天器和护垫支持设备。

LabVIEWLaboratory Virtual Instrumentation Engineering Workbench,实验室虚拟仪器工程平台)是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于 C 和 BASIC 开发环境。LabVIEW 采用图形化编辑语言 G 编写程序,产生的程序是框图的形式。

该网友还表示 Dragon 和 Falcon 9 使用 Linux 操作系统,其他网友补充,在 GDC 2016 与 Dragon 团队交流后了解到,Falcon 采用“三重冗余”系统,简单来讲,Falcon 9 具有 3 个双核 x86 处理器,每个核上都运行 Linux 实例。飞行软件采用 C/C++ 编写。对于每个计算/决定,“飞行字符串”都会比较两个核的结果,如果存在不一致,则字符串是错误的,不发送任何命令。如果两个内核都返回相同的响应,则字符串将命令发送到火箭上的各种微控制器,这些微控制器控制诸如引擎之类的东西。

运行在 PowerPC 处理器上的微控制器从三个飞行字符串接收到三个命令,他们充当法官来选择正确的行动方案。如果所有三个字符串都一致,则微控制器将执行命令。

而 Crew Dragon 飞行界面上使用了 Chromium 与 JavaScript 开发,实际的飞行计算机仍基于 C++ 运行。

展开阅读全文
点击加入讨论🔥(17) 发布并加入讨论🔥
本篇精彩评论
C/C++永远是不可替代的王者
2020-06-01 10:50
11
举报
被触摸屏的控制台震撼到了
2020-06-01 09:11
10
举报
c++学习成本确实是高,超过市面上的绝大多数编程语言,很多新手遭遇入门即劝退的现象,而且新手写出来的代码惨不忍睹,这些都对很多中小企业招人造成了一定难度,除了那些实力雄厚的大公司,可以招揽高智商顶尖人才,现在中小企业里面c++越来越少了。不过在某些关键领域,你大爷还是你大爷!
2020-06-01 12:23
4
举报
作为LabVIEW的使用者,表示应该留个名
2020-06-13 16:57
1
举报
cpp学习成本还不高嘛
2020-06-01 19:32
1
举报
17 评论
19 收藏
分享
返回顶部
顶部