SpaceX Starlink Runs On Linux
SpaceX: Every Batch Of 60 Starlink Satellites Contains 4000+ Linux Systems
On May 30, Elon Musk’s SpaceX carried its first manned Dragon spacecraft with two NASA astronauts into space via Falcon 9 rocket. Later on June 3, SpaceX launched a batch of 60 Starlink internet satellites into orbit.
Following the same, we reported that SpaceX used an open-source Linux system to power both Dragon spacecraft and Falcon 9 rocket. Now during the ongoing Ask Me Anything (AMA) session with the SpaceX software team on Reddit, Matt Monson revealed that each batch of 60 Starlink satellites carries more than 4,000 Linux computers.
Matt, who leads Starlink software at SpaceX, further added that the Starlink constellation currently has more than 30,000 Linux nodes (and more than 6,000 microcontrollers) in space.
Another team member, Josh Sulkin, who leads software design for Crew Dragon, explained that all on-board computers run Linux with the PREEMPT_RT patch applied in order to get better real-time performance.
Josh went further to clarify that SpaceX doesn’t use any third-party Linux distribution. Rather, they maintain their own copy of the kernel and associated tools. They also have telemetry which indicates the performance of all processes to ensure their deadlines across all phases of flight.
While answering about the strangest bugs in Dragon software, John Dietrick, who leads the software development effort for Demo-2, mentioned that control software for Dragon is single-threaded to avoid non-determinism and cope up with synchronization issues.
SpaceX dev team has put a lot of effort to customize and turn Linux into a dependable platform for real-time control that has a much higher degree of determinism than the desktop OS.