SpaceX uses the Linux software and classic programming languages to dominate space
Although we have had a difficult and intense year, last May 30 was a memorable day. The private company SpaceX, run by billionaire Elon Musk, made history launching the first private manned spacecraft, and making the first manned space flight by the US in 11 years.
SpaceX managed to put into orbit two NASA astronauts who achieved to dock with the International Space Station, aboard the powerful Falcon 9 spacecraft.
A spacecraft powered by rocket fuel and Linux.
As a rocket it is a missile, even if we would like to know more about all the technology that uses SpaceX, is not possible to know this information.
There is the ITAR (Arms and International Traffic Regulations) treaty that prevents SpaceX or any company that makes rockets to communicate and openly reveal the operation of its technology.
But we will disclose some of the interesting information revealed by SpaceX programmers about the software that powers the Falcon 9 rocket and the Crew Dragon capsule.
A software that operates the thousands of millions of Android devices in the world.
Linux is an open source operating system that has existed since the mid-1990s and since then has become one of the most popular platforms of the planet.
Linux is really everywhere.
It is one of the most reliable and secure operating systems in the world. We can find it on supercomputers, on Internet of Things devices, even in stock exchanges.
In addition, a very interesting fact is that Linux runs most of the Internet in the planet.
Find out which software uses SpaceX
Photografy by SpaceX
From what SpaceX programmers reported, now known the Falcon 9 is governed by Linux, has PowerPC microcontrollers and features a triple redundancy system for decision-making.
The Falcón 9 development team points out that all the rocket code, the central platform, the flight simulators, the vehicles, as well as the communications and analysis programs, are based on this programming language.
It is a Linux that has a custom kernel within SpaceX to be compatible with the company’s own hardware.
Also, it enables Linux options in real time, helping to ensure that the software responds reliably and quickly to incoming commands.
On board the spaceship there are 3 independent computers.
The unspecified Linux version of the Falcon 9 runs on three x86 dual-core processors, each with 4 cores.
Each processor runs two versions of the operating system. Which means that there are 6 versions of the capsule running at the same time and doing exactly the same.
Why this triple redundancy?
The most interesting reason why 6 operating systems run in parallel at the same time is because of cosmic rays generated by the sun and distant stars or galaxies that generate constant radiation, and can cause bits to change from 0 to 1 or vice versa without further ado.
Even they use physical components with specific insulation to prevent exposure to this radiation.
With this system it is possible to detect these possible irregular situations and keeps astronauts safe, by confirming that the three units agree before executing each command.
How does it work?
In each calculation or decision to be made, the results of both nuclei are compared.
If there is any inconsistency, the input string is considered as not useful and no command is sent to the rocket.
But if it matches, that command is sent to the microcontrollers in the rocket.
Each microcontroller receives three commands, and if they all match the command is executed. But, if one of the three does not, the course of action set by the other two is followed instantly.
The Falcon 9 is able to fulfill its mission with only one of the three systems. The same applies to commercial aircraft, they are mission critical systems.
Touchscreens, Linux and C ++ take control of all
Photografy by SpaceX
Flight computer software is written in C / C ++ and runs in an x86 environment similar used by a conventional PC.
In fact, all the flight systems of the Dragon Capsule, the Falcon rocket and the Starlink satellites are made under this code.
To test this software, engineers simulate their behavior analogously as would be used in a real mission.
Internally, all automatic tools, internal testing and automation using SpaceX are made in Phyton.
For ground control station systems, they make extensive use of the LabView software, well known in systems engineering and very common in the industry of scientific and industrial tools processes.
In addition, new controls for the Crew Dragon are modernized and completely moved away from the control panels of the old space missions.
SpaceX does not use any frontend library available in the market. Instead, uses Chromium, Google’s open source database for Chrome browser.
Although most of the maneuvers carried out by the Crew Dragon are designed to perform autonomously, that screen offers the alternative in case the astronauts had to take control manually.
That is the Crew Dragon is designed to autonomously dock and undock with the International Space Station.
However, the crew can take manual control of the spacecraft if necessary, and SpaceX gives you the opportunity to try this exciting experience through the CREW DRAGON DOCKING SIMULATOR and feel the vibe of the space world.
SpaceX uses a classic but powerful system
The fact is that, SpaceX does make use of complex mechanisms, devices and systems designed individually and specifically to be used solely for this purpose.
But the reality is that they do not reach a level of sophistication so great as to create specific products.
This would imply a higher cost; it would be more complex to use and require the need to train personnel specially for handling the devices.
For that reason, SpaceX tends to make use of the materials, systems and programming languages that these machines run as common as possible.
This alternative provides security to the company, since there is a sufficiently large quantity in the market to confront neither supply problems nor the search for experts to operate with them.
Moreover, the technology of spacecraft is far from being the newest.
First, because the development and testing take years of work and secondly because the systems must be tested and be very specialized in terms of the tasks to be executed.
Finally, only suitable applicants who dream of working for SpaceX company, cyber security chief said that any student should make Linux a central part of their education.