Why do astronauts use Linux? Because you can’t open Windows in space. But if without jokes, then in general there are not so many computers running on Linux in space. However, everything can change.
In this article, we will talk about how Linux helps to explore space. First, we’ll talk about NASA supercomputers here on Earth, then we’ll talk about laptops on the ISS and in orbit, and continue with flight control computers on the SpaceX launch vehicle and spacecraft. And we will finish with a single-board computer from a helicopter that first flew to Mars.
We will tell you where, how and why Linux is used in astronautics. Migration Linux into space happened recently, which means that the scope of the OS is still limited. In this regard, we will find out why it was rarely used before and why it is so popular now. And we will also discuss what prospects Linux has in places where no OS has yet been.
Working outside the Earth
Here we will talk about computer hardware in space and, in general terms, how it influenced the choice of OS.
Take the ISS For example. It was launched over 20 years ago. Linux was new at the time, and no one took it seriously. Most embedded computers did not support OS distributions. Updating software and hardware was risky and expensive.
But recently, several space expeditions were organized, and Linux was again out of work. The Perseverance rover landed on the red planet in February 2021 and will explore it for a very, very long time. However, its main on-board computer runs on the PowerPC 750, a chip released back in 1997. More specifically, it’s a variation of the 32-bit PowerPC 750 called the RAD750. All this brings us to the main point: processors do not tolerate space flights very well. Due to radiation, they can fail, or even stop working altogether.
For this reason, processors in spacecraft are usually resistant to radiation. They are not cheap. The price of the RAD750 is about $200,000. And it’s hard to even imagine how much it took to develop them.
Manufacturers produce such specialized chips infrequently. Most processors have never had such modifications. For this reason, the hardware on space stations is old, and, as a result, Linux is rare there. But everything is changing, and the Spaceborne supercomputer on the ISS is an example of this.
In earth orbit
Certain events widely reported in the media suggest that all laptops on the ISS have been transferred to Linux back in 2013. In reality, everything is not so clear. So says Dan Duncavage, NASA avionics and software development program manager on the ISS. “It is clear that the station has a lot of computing equipment,” he says. “Most of the devices serve as an avionics system, like the one on board an airliner or military aircraft.” Although he didn’t admit it, such mission-critical systems don’t run Linux. However, in addition to them, there are other systems.
“Some laptops run Linux,” he says. – For the crew, they serve as a command interface for on-board radio electronics. They run on a customized Linux kernel,” Duncavage explains.
“Other laptops and IoT devices form the so-called instrumentation computer (SSC) system. It is similar to what in business is called a critical information infrastructure. The SSC is responsible for everything from sending emails to highly specialized experimental interfaces and medical monitoring of the health of the crew. Space simulators work on it, ”says Duncavage. “Most SSC laptops are Windows 10 clients. IoT devices run Debian Linux. The rest of the laptops are used to run individual experimental applications, and international partners work with them. Some run on Windows, others on various Linux distributions,” he says.
Also on board the ISS are Honey, Queen and Bumble, robots that together form a system called Astrobee. They help the astronauts with their day-to-day duties, who in turn can focus on what only humans can do. NASA engineers say they designed the robots to take inventory, to document the astronauts’ experiments with their built-in cameras. They can also work together: for example, move cargo around the station. In addition, the system serves as a research platform. It can be equipped and programmed to conduct experiments in zero gravity. And all this robotics works on Linux. More specifically, two-thirds of ARM-based computers are running Ubuntu/ROS, and one-third are running Android 7.1.
So far, Linux has been referred to as the OS for laptops and robots in Earth orbit. A more powerful computer running Linux appeared on the ISS in 2017 during a 1-year mission. Spaceborne Computer (as the device was called) was announced like a supercomputer. It was developed as an alternative to the then existing method of protecting processors from exposure to radiation. It was assumed that he would create the prerequisites for the use of more modern and productive processors. They may be needed for long-term manned missions, for example, to Mars.
The Spaceborne computer is a commercially available supercomputer from Hewlett Packard Enterprise (HPE). It includes high speed HPE Apollo 40 server systems. Spaceborne runs on Linux OS. According to HPE representatives, Spaceborne contains computing nodes of the same class as Pleiades, NASA’s top supercomputer.
Instead of the previous radiation-resistant processors, Spaceborne engineers used a software package. Under conditions of intense radiation, power consumption and, as a result, the speed of PC operations decreased. However, as it was established, the system continued to work. During the demonstration flight, Spaceborne performed more than a trillion calculations per second (one teraflop). It didn’t even require a reboot.
So far, NASA astronauts haven’t taken Linux on missions of high importance, but that could change. And the ISS can play an important role in this. The Space Shuttle, before it was decommissioned in 2011, carried astronauts and payloads to the ISS using a Soyuz rocket and several other launch vehicles. But then, in 2012, the forces of capitalism came into play. Space was no longer the exclusive domain of state-owned space agencies. Now SpaceX and Northrop Grumman are sending their rockets to the ISS. The SpaceX Dragon spacecraft and its Falcon booster are of particular interest.
Where NASA is leading, SpaceX is catching up, you might think. However, things are different with operating systems. So NASA’s space launch systems will run on a proprietary operating system from Boeing. And the Orion manned research vehicle has an Integrity-178B real-time operating system from Green Hills Software on board. SpaceX is strictly in the Linux camp. However these are not the Linux distributions you would choose for your PC.
Although SpaceX has not confirmed this, it is believed that the Falcon 9 launch vehicle uses a stripped-down version of Linux. It runs on x86 processors and flight control software written in C++.
On the distant frontier
We would like to say that the computers aboard the spacecraft Pioneer 10 and 11, which have now left the solar system, run Linux, but this would not be true. After all, the first probe, Pioneer 10, was launched just four months after the world’s first microprocessor, Intel’s 4-bit 4044, went on sale. Pioneer 10 and 11 computers are made up of multiple logic chips and most likely don’t have an OS. And yet Linux can be found outside the Earth, more precisely, 278 million km from it – and this is 6 months of flight.
NASA instructed Laboratories jet propulsion (JPL) training mission to Mars. Tim Canham, Senior Flight Software Engineer at JPL, explains why Linux is finding more and more use in space. First, it is a positive experience. “In a couple of cases, Linux has done a great job,” he says. – I’m talking about Ingenuity, the first helicopter on Mars, and the EDL camera system on the Perseverance rover. Both systems were considered demo systems and were not critical to the operation of the devices, but Linux successfully coped with both cases.
The fact that developers have taken Linux on board Ingenuity, when they didn’t before due to outdated hardware, is a positive change. Since the atmosphere on Mars is a hundred times thinner than ours, the requirements for the design of an aircraft that was supposed to fly to the red planet were quite high. For the same reason, engineers greatly increased the weight of the robots, since reducing it to a minimum could lead to a cessation of work.
To meet these requirements, the engineers chose a computer with an ARM-based Qualcomm Snapdragon processor. Linux was chosen as the operating system because the VxWorks OS, which was commonly used for such scenarios, was not supported by the Snapdragon chip.
So why are these use cases the exception rather than the rule? In addition to the fact that flight computing equipment tends to inherit the characteristics of its predecessors, what else prevents you from installing Linux in spaceships? Kanem believes there are several reasons for this. Among them is real-time performance. “Flight software usually has very short deadlines to meet in order to ensure the survivability of the spacecraft. If the OS cannot guarantee that these deadlines will be met, it cannot be used.”
Kanham’s second argument may put some on guard. “Fair or not, there is a perception that, because Linux is built on open source, it is quite difficult to know or objectively evaluate the quality of the code contained in the kernel, drivers, and other applications.”
“But things are changing,” Kanham says. – Linux is increasingly used in various fields. And, of course, every organization has its own risks associated with using Linux. As far as NASA is concerned, Linux is well suited for data processing and the operation of flight equipment in normal, non-critical situations.” The advantage of the OS is that due to its open source, you can speed up development and adapt existing software created by the early community.”
And while Linux has not yet made a breakthrough in space exploration, some changes are taking place. Confirmation of this is the fact that Ingenuity – the first robotic helicopter to fly over the surface of another planet, a marvel of astronomical engineering – runs on Linux.