Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 9 submissions in the queue.

Submission Preview

Link to Story

From Earth to orbit with Linux and SpaceX

Accepted submission by DannyB at 2020-06-05 15:05:08 from the powered-by-systemd dept.
Hardware

From Earth to orbit with Linux and SpaceX [zdnet.com]

SpaceX's workhouse Falcon 9 rocket, which flew NASA astronauts Bob Behnken and Doug Hurley to the International Space Station, is powered by liquid oxygen, rocket-grade kerosene, and Linux.

Like supercomputers, Internet of Things (IoT) devices, and many mission-critical devices, the Falcon 9 flies with Linux. SpaceX's software engineers explained several years ago how the Falcon 9 programming works. [reddit.com]

"The Flight Software team is about 35 people. We write all the code for Falcon 9, Grasshopper [The Falcon 9 test rocket], and Dragon applications; and do the core platform work, also on those vehicles; we also write simulation software; test the flight code; write the communications and analysis software, deployed in our ground stations. We also work in Mission Control to support active missions."

The Falcon 9's onboard operating system is a stripped-down Linux running on three ordinary dual-core x86 processors. The flight software itself runs separately on each processor and is written in C/C++.

[ . . . . ] For ordinary day-in and day-out work, astronauts use HP ZBook 15s [awin1.com] running Debian Linux, [debian.org] Scientific Linux, [scientificlinux.org] and Windows 10. The Linux systems act as remote terminals to C&C MDM, while the Windows systems are used for email, the web, and fun.

Usually, though, chips that go into space aren't ordinary chips. CPUs that stay in space must be radiation-hardened. Otherwise, they tend to fail due to the effects of ionizing radiation and cosmic rays. These customized processors undergo years of design work and then more years of testing before they are certified for spaceflight. For instance, NASA expects its next-generation, general-purpose processor, an ARM A53 [nasa.gov] variant you may know from the Raspberry Pi 3, to be ready to run in 2021. Because the first stage of the Falcon 9 lands itself, its chips don't need to be radiation hardened.

[ . . . ] as explained on StackExchange Space Exploration, [stackexchange.com] SpaceX uses an Actor-Judge [brianstorti.com] system to provide safety through redundancy. [stackexchange.com] In this system, every time a decision is made, it's compared to the results from the other cores. If there's any disagreement, the decision is thrown out and the process is restarted. It's only when every processor comes up with the same answer that a command is sent to the PowerPC microcontrollers.

[ . . . . ] The point of this triple "tell-me three times" redundancy is to give the fault tolerance it needs without having to pay for expensive space-specific chips. Modern planes, like the newer Airbus planes, use a similar approach in their fly-by-wire systems.

The Dragon spacecraft also runs Linux with flight software written in C++. The ship's touchscreen interface is rendered using Chromium and JavaScript. If something were to go wrong with the interface, the astronauts have physical buttons to control the spacecraft. [twitter.com]

So Windows 10 is also used, but only for email, web and fun -- nothing terribly important.

Yet Chromium and JavaScript can be used for the Dragon 2's interactive displays -- with 100% test coverage. [ycombinator.com]

only the actual graphical display application uses Chromium/JS. The rest of the system is all C++. The display code has 100% test coverage, down to validation of graphical output (for example if you have a progress bar and you set it to X% the tests verify that it is actually drawn correctly).


Original Submission