Lancement du Crew Dragon : un voyage piloté par le système d’exploitation Linux

SpaceX Falcon Dragon OS Linux
| Flickr/SpaceX

L’événement ne vous a sans doute pas échappé : samedi dernier, le 30 mai, deux astronautes américains, Bob Behnken et Doug Hurley, se sont envolés vers la Station spatiale internationale à bord du Crew Dragon. Le vaisseau, conçu par SpaceX, a été propulsé par une fusée Falcon 9, le tout contrôlé par un système d’exploitation open source, Linux.

C’est la première fois depuis 2011 – date à laquelle la NASA avait mis fin à son programme de navette spatiale – que des astronautes décollent du sol américain. Un succès pour l’entreprise d’Elon Musk : les deux passagers ont amarré leur vaisseau à l’ISS sans encombre et le lanceur réutilisable de SpaceX a bien été récupéré à l’aide d’une barge, dans l’océan Atlantique, sur laquelle il a automatiquement atterri sans difficulté. À savoir que les engins tournaient tous deux sous Linux…

Une « triple sécurité » pour mieux tolérer les défaillances

Pourquoi Linux ? Car le système d’exploitation est open source – ce qui signifie que le code est accessible et modifiable à souhait – stable et surtout, dispose d’une large communauté d’utilisateurs et de développeurs. De ce fait, des correctifs logiciels, liés tant à leur usage qu’à d’éventuelles failles de sécurité, sont fréquemment mis à disposition et librement accessibles.

L’utilisation de Linux a été envisagée dès les prémices du projet. Il y a sept années de cela, les ingénieurs de SpaceX présentaient sur Reddit le fonctionnement de la programmation du lanceur Falcon 9. Une équipe de 35 développeurs était chargée d’écrire le code des applications de Falcon 9, Grasshoper (le 1er étage de la fusée) et du vaisseau Dragon. Ils travaillaient non seulement sur le cœur du système, mais aussi sur les logiciels de simulation, de communication et d’analyse déployés sur les stations terrestres de SpaceX à des fins de test.

À LIRE AUSSI :
Détection inattendue d'une augmentation de densité dans le milieu interstellaire par les sondes Voyager
interface Crew Dragon Chromium javascript
L’interface à écran tactile utilisée par les astronautes à bord du Crew Dragon, utilise Chromium (un navigateur web libre) et du code JavaScript. Crédits : NASA

SpaceX utilise un système Actor-Judge pour fournir une triple redondance à ses engins. Ainsi, le lanceur Falcon 9 fonctionne sur trois processeurs x86 dual core, chacun exécutant une instance de Linux. Le logiciel de vol est écrit en C/C++ et s’exécute dans l’environnement x86. Pour chaque calcul/décision, le système compare les résultats issus des deux cœurs. S’ils ne coïncident pas, la chaîne d’instructions est jugée mauvaise et aucune commande n’est envoyée. En revanche, si la réponse est la même, la chaîne d’instructions est envoyée aux divers microcontrôleurs de la fusée.

Les microcontrôleurs, tournant sur des processeurs PowerPC, reçoivent à chaque fois trois commandes, chacune étant issue de l’un des trois processeurs. Ils doivent ensuite choisir la bonne série d’actions : si les trois chaînes de commandes sont identiques, le contrôleur exécute l’action correspondante ; mais si l’une des trois est jugée incorrecte, le contrôleur opte pour la dernière chaîne d’instructions correcte qui lui a été soumise. Falcon 9 est donc capable de remplir sa mission avec une seule et unique chaîne d’instructions ! Cette triple redondance permet au système de tolérer les erreurs et les pannes. Les avions modernes, comme les avions Airbus, utilisent une approche similaire dans leurs systèmes de vol.

Même si les engins spatiaux sont impressionnants, leurs processeurs n’ont eux rien d’extraordinaire : leur développement et leur validation prenant plusieurs années, ils ne sont souvent pas de première jeunesse une fois qu’ils se retrouvent dans l’espace ! Par exemple, l’ISS fonctionne avec des processeurs Intel 20 MHz de 1988. La sonde spatiale InSight, envoyée sur Mars en 2018, embarquait quant à elle un processeur vieux de près de 20 ans (le RAD750). Pas de précision concernant les puces utilisées pour Falcon 9…

Cliquez ici pour supprimer les publicités.
À LIRE AUSSI :
Des chercheurs mesurent précisément la proportion totale de matière dans l'Univers

Pourtant, ces « puces de l’espace » ne sont pas tout à fait ordinaires : contrairement au CPU de votre ordinateur, elles doivent être capables de résister aux radiations cosmiques. Ce type de processeur nécessite des années de conception et de tests avant d’être certifié pour le vol spatial. La triple redondance mise en place pour Falcon 9 permet au système de pallier d’éventuels dysfonctionnements dus aux radiations. Cela permet surtout à SpaceX de s’affranchir de matériel endurci contre les rayonnements ionisants, bien plus coûteux.

Un système robuste, potentiellement adaptable

L’interface à écran tactile utilisée par les astronautes, que l’on a pu apercevoir sur les images diffusées par la NASA, utilise Chromium (un navigateur web libre) et du code JavaScript. Mais si quelque chose avait mal tourné, sachez que les astronautes disposaient également de boutons physiques pour contrôler leur vaisseau. Pour leur travail quotidien, ils disposent de portables HP Zbook 15, tournant sous Debian, Scientific Linux et Windows 10 ; les deux systèmes Linux sont utilisés comme terminaux de commande et de contrôle, tandis que le système de Microsoft est réservé aux usages plus « récréatifs » (messagerie électronique et Web).

Le choix de SpaceX n’est guère surprenant, Linux étant le système d’exploitation de prédilection de toute la communauté scientifique : le système équipe les superordinateurs du monde entier, le grand collisionneur de hadrons du CERN, les machines de séquençage d’ADN, les ordinateurs des bureaux de la NASA et de SpaceX, la plupart des objets connectés, etc. C’est le système quasi incontournable pour les technologies de pointe et les applications qui nécessitent une parfaite stabilité.

À LIRE AUSSI :
Le prix Nobel de physique 2020 met les trous noirs à l’honneur
part OS supercalculateurs
Part des systèmes d’exploitation dans le top 500 des superordinateurs (selon les statistiques de novembre 2019). Crédits : top500.org

À savoir que l’ISS elle-même a basculé de Windows XP à Linux en 2013. L’United Space Alliance, en charge de l’informatique à bord de la station, déclarait à l’époque : « Nous avons migré les fonctions clés de Windows à Linux, car nous avions besoin d’un système d’exploitation stable et fiable ». L’un des responsables, Keith Chuvala, soulignait l’importance d’avoir la main sur le système ; il affirmait vouloir un système d’exploitation qui « offrirait un contrôle interne. Donc, si nous devions patcher, ajuster ou adapter, nous le pourrions ». Sans compter que l’un des PC sous Windows XP avait a priori déjà été infecté par un virus informatique…

Sur le même sujet : Prenez les commandes du vaisseau Crew Dragon de SpaceX !

Les dizaines d’ordinateurs portables utilisés à bord avaient ainsi tous basculé vers une Debian 6 ; d’autres distributions étaient d’ailleurs déjà présentes sur la station, notamment Red Hat et Scientific Linux (basée sur Red Hat). Les astronautes avaient même bénéficié d’une formation pour maîtriser leur nouvel outil, dispensée par la Linux Foundation.

Au-delà de notre atmosphère, il semble que Linux soit donc devenu incontournable. Et alors qu’il contribue déjà largement à des projets scientifiques majeurs, ce système open source symbolisé par un manchot – un animal incapable de voler (!) – a aussi participé au retour des États-Unis dans la course aux vols spatiaux habités…

Source : ZDNet

Plus d'articles
record internet
Un tout nouveau record de vitesse de transfert de données : 178 Tb/s !
Dans le Modèle Standard, les hadrons sont des particules composites constituées de quarks liés entre eux par... [...]

Lire la suite