Il 30 maggio scorso, la capsula spaziale Crew Dragon di SpaceX ha portato in orbita con successo gli astronauti della NASA Bob Behnken e Doug Hurley segnando il traguardo del primo volo di un’azienda privata nel settore aerospaziale. Il risultato è stato raggiunto grazie al razzo vettore Falcon 9, ai suoi propulsori… e a Linux.
Come tanti supercomputer, dispositivi delle Internet of Things (IoT) e delle missioni, anche Falcon 9 usa Linux.
Gli ingegneri del software di SpaceX, un team composto da 35 persone, hanno spiegato di aver lavorato non solo sul codice di Falcon 9, ma anche sul modello di test Grasshopper e le applicazioni Dragon. Si sono occupati anche di compilare il software di simulazione e quello di analisi della sala comandi.
Il sistema operativo di bordo del Falcon 9 è una versione molto essenziale di Linux che gira su tre normali processori dual-core x86. Il software di volo stesso gira separatamente su ogni processore ed è scritto in C/C++.
Ordinario? Sì, ordinario.
A prima vista potrebbe stupire il fatto che un settore come quello dell’industria aerospaziale faccia ricorso a hardware obsoleto ma bisogna tenere in considerazione che le missioni spaziali hanno dei tempi di organizzazione estremamente lunghi che richiedono anni e in alcuni casi anche decenni.
Per esempio, la Stazione Spaziale Internazionale (ISS) funziona con CPU Intel 80386SX da 20 MHz a 20 MHz del 1988. Non sappiamo, tuttavia, quali chip utilizza il Falcon 9. È probabile, però, che potrebbe trattarsi di modelli che venivano considerati di punta fino a una decina di anni fa.
Bisogna anche tenere in considerazione che i chip che vanno nello spazio non sono chip ordinari dato che devono essere resistenti alle radiazioni e anche ai raggi solari. Questi processori personalizzati vengono sottoposti ad anni di lavoro di progettazione e poi ad altri anni di test prima di essere certificati per il volo spaziale.
Per esempio, la NASA si aspetta che il suo processore general-purpose di prossima generazione sia pronto a funzionare nel 2021. Poiché il primo stadio del Falcon 9 atterra da solo, i suoi chip non hanno bisogno di essere temprati dalle radiazioni.
E’ altresì necessario distinguere tra la tecnologia usata a bordo dei mezzi di una missione spaziale e la tecnologia usata dagli astronauti. I processori dual-core e Linux bastano infatti per il cosiddetto Multiplexer/DeMultiplexer (MDM) usato anche sugli Space Shuttle per il controllo, l’elaborazione e la gestione dei dati archiviati oltre che ai controlli e alle funzioni di bordo.
Per il lavoro di tutti i giorni, gli astronauti usano HP ZBook 15 con Debian Linux, Scientific Linux e Windows 10. I sistemi Linux funzionano come terminali remoti del MDM, mentre i dispositivi con Windows vengono usati per attività come email e navigazione su internet.
Fonte: https://www.zdnet.com/article/from-earth-to-orbit-with-linux-and-spacex/