Edge / IoT / Linux

The Hardware and Software Used in Space

11 Oct 2020 6:00am, by

International_Space_Station_after_undocking_of_STS-132 by NASA - Crew of STS-132

One of humanity’s highest achievements involves exploring the cosmos above us, pushing our technology to its limits to perform inspiring feats of science. Here’s a look at the hardware and software that made the grade for the mission — and the special considerations involved for building and maintaining mission-critical operating systems that will run in a high-radiation zero-gravity environment.

SpaceX’s Dragon 2 and Starlink

In May SpaceX’s reusable rocket, the Falcon 9, launched its small Dragon cargo-carrying space capsule, this time carrying two NASA astronauts to the International Space Station, where they stayed for two months before returning safely to earth. In June ZDNet quipped that the launching rocket was “powered by liquid oxygen, rocket-grade kerosene, and Linux.”

“Like supercomputers, Internet of Things devices, and many mission-critical devices, the Falcon 9 flies with Linux.”

Crew_Dragon_at_the_ISS_for_Demo_Mission_1_(cropped) - uncrewed early mission - via Wikipedia

But it’s not necessarily a standard distro. Instead, the rocket’s onboard operating system uses “a stripped-down Linux running on three ordinary dual-core x86 processors” which control the rocket’s engines as well as its flightpath-directing grid fins. Each processor runs a separate version of the flight software — written in C/C++ — and “If there’s any disagreement, the decision is thrown out and the process is restarted.”

In June the Dragon capsule’s software developers answered questions on Reddit, explaining that “We don’t use any third-party distribution, but maintain our own copy of the kernel and associated tools.” Though they call it “mostly unmodified,” they’ve obviously had to add custom drivers for SpaceX’s hardware. Jeff Dexter, who runs the Dragon’s Flight Software and Cybersecurity, added that for both the Falcon 9 rockets and the Dragon capsule, “We use C++ for all vehicle control systems, Python for tools, testing and automation, and Javascript/HTML/CSS for our displays.”

And Matt Monson — who moved from the Dragon project to SpaceX’s satellite internet service Starlink — posted that Starlink uses a lot of application-specific integrated circuits (ASICs), and that they too have a lot of experience with Linux. “For some level of scope on Starlink, each launch of 60 satellites contains more than 4,000 Linux computers. The constellation has more than 30,000 Linux nodes (and more than 6,000 microcontrollers) in space right now.

“And because we share a lot of our Linux platform infrastructure with Falcon and Dragon, they get the benefit of our more than 180 vehicle-years of on-orbit test time.”

Up on the Space Station

ZDNet quips that the use of Linux for the Dragon capsule proves “penguins can fly, with sufficient rocket power behind them.” ZDNet also reported that the Dragon’s touchscreen interface is rendered with Chromium and JavaScript (though there’s also physical spacecraft-controlling instruments in case there’s a problem with the touchscreen interface).

But they also note that the actual International Space Station itself runs on 20 MHz Intel 80386SX CPUs from the late 1980s, though the astronauts use laptops as remote terminals “for ordinary day-in and day-out work.” In 2017 HPE reported the station’s astronauts replaced ThinkPad T61p running Debian, Scientific Linux, and Windows 7 with a similar mix of HP ZBook 15s, some now upgraded to Windows 10. TechRepublic reports that NASA has 20% more laptops than they need on the space station — with the extra ones serving as spares. Or, as ZDNet puts it, “They’re ordinary laptops that are expected to fail. Indeed, there are more than a hundred laptops on the ISS and most are defunct.”

“Technologies that compete on the surface are also just part of the melting pot of different systems used onboard,” quipped TechRepublic. In a 2016 article, the site notes NASA uses Linux systems for “the avionics, the critical systems that keep the station in orbit and the air breathable,” while the Windows machines provide “general support, performing roles such as housing manuals and timelines for procedures, running office software, and providing that all-important link with home, supporting communications by email and more recently by video chat.”

The Windows machines are also used for playing music and movies, and Stephen Hunter, manager for computer resources on the ISS, told TechRepublic the astronauts were more familiar with the operating system.

The article explains there are dozens of laptops running on the space station, used for everything from displaying manuals to eye exams. It lists out the hardware that’s been used by NASA’s crewmembers on the International Space Station, with IBM ThinkPads, running Windows 95 and “early Linux.” Most of the system upgrades are performed “remotely” — from planet earth — eventually giving way to Lenovo ThinkPads.

There have also been iPhone and Android handsets — with some handsets used to remotely control simple experimental drones. There’s also been iPads — British astronaut Tim Peake used an iPad app to remotely run along with the London Marathon — as well as Microsoft Surface Pro 3 tablets, one of which was used as a bio-DNA sequencer. Astronauts on the space station even tested the Microsoft HoloLens.

Off the Shelf and Off the Planet

ZDNet points out that because of higher radiation levels in space (as well as cosmic rays), chips need years of design work and testing. They go through a rigorous process known as radiation hardening — which involves either adding redundant circuits or even designing the semiconductor wafers with special insulating substrates. In 2017, NASA and HPE teamed up for a joint year-long experiment in which off-the-shelf supercomputer hardware was tested on the space station to determine whether it would be enough to just throttle its speed during radiation hazards like solar flares.

“If we suspect a component is out of parameters, we hunker down into a safe mode,” explained Mark Fernandez, HPE’s Americas HPC technology officer, in an HPE blog post. “We stay in that safe idle configuration to make it through that time period. Once that event has passed, we execute a health check to ensure everything is performing well before resuming operation.”

VentureBeat reported the system used was an Apollo pc40 server that boasts up to four Nvidia Tesla graphics processing units — and that it had to pass more than 146 safety and certification tests. HPE proudly dubbed it their “above-the-cloud” services. Its operating system? Red Hat Enterprise Linux 6.8.

And the results? It ran problem-free for the next year, according to a blog post by Fernandez. “To say we’re ecstatic would be an understatement.”

The system was named Spaceborne. “With Spaceborne having run exceptionally well for almost a year in conditions far different from those on Earth, we wonder, what can we bring to space next? Private cloud on the ISS to bring intelligence to the edge in space?” Fernandez wrote.

And the Rest

And this month on Ars Technica, Warsaw-based science/technology writer Jacek Krywko took a broader look at the other operating systems used on extra-terrestrial missions over the years. Its headline? “Definitely not Windows 95: What operating systems keep things running in space?”

Krywko points out that the software for NASA’s missions in the 1960s were custom-built for each mission. But that changed with the 1994 Clementine mission, which observed the moon and a near-earth asteroid while testing sensors and spacecraft components. On many subsequent missions, NASA began using WindRiver’s proprietary VxWorks operating system, which Krywko says has a microkernel managing all the hardware/application interactions, carefully tracking the status of each task and access to resources.

Maria Hernek, head of flight software systems section at ESA, told Ars that they’d also used the VxWorks operating system for the spacecraft in their Copernicus satellite program (first launched in 2014) but then switched to the open source and highly customizable Real-Time Executive for Multiprocessor Systems operating system (originally developed by the U.S. military to fly missiles). NASA has also used this operating system, Krywko points out, adding “the two major flight operating systems have even run in parallel on the same spacecraft managing different instruments.”

These operating systems can be mission-critical. Krywko noted that this February the European Space Agency launched a satellite to orbit the sun for seven years. It will orbit even closer to the sun than the planet Mercury — where temperatures rise as high as 450°C, or 842°F — which requires quick decisions by the software controlling the position of its heat shield. “Otherwise, the Solar Orbiter is getting fried.”

Solar_Orbiter_Transparent (via Wikipedia by European Space Agency)

Krywko also looks at the SpaceChain OS, a project that resulted in multiple bitcoin nodes in space and an investment from the European Space Agency. Bitcoin core developer Jeff Garzik tells him it’s based on the open source kernel Sylix — five times smaller than the Linux kernel — which China has used for space and military applications.

There’s a wide variety of spacecraft — and a wide variety of technologies being deployed. One tech site even joked that NASA’s historic New Horizons space probe — which flew past Pluto on its way to the edge of our solar system — was “powered by PlayStation” since it’s run by a radiation-hardened MIPS-based Mongoose-V CPU, “derived directly from the MIPS R3000 [a 32-bit workstation and console processor], which powered the original Sony PlayStation.”

New_Horizons_spacecraft_model_1 (by NASA's Applied Physics Laboratory via Wikipedia)

Its operating system is Mentor Graphics Nucleus PLUS, and it’s still running to this day — over four billion miles from earth.


A newsletter digest of the week’s most important stories & analyses.