SpaceX: Linux in den Rechnern, Javascript in den Touchscreens

Crew Dragon und Falcon 9 laufen mit Linux: Welche Rolle Open-Source-Software für SpaceX und seine Raketen spielt.

Artikel von veröffentlicht am
Crew Dragon kurz vorm Andocken an die ISS
Crew Dragon kurz vorm Andocken an die ISS (Bild: NASA/Cover Images)

Dass ein privates Unternehmen Raumschiffe und Raketen baut und damit US-Astronauten auf große Missionen schickt, war vor einiger Zeit noch undenkbar. SpaceX hat das mit seinem ersten Flug Ende Mai realisiert - und das Interesse daran, wie die Firma von Elon Musk das geschafft hat, ist groß. Welche Software wurde benutzt, in welcher Sprache wurde programmiert, welche Hardware-Architektur wurde benutzt? Einige dieser Fragen haben die Entwickler nun beantwortet.

Pinguin an Bord

Bei Reddit stellten User Fragen und die Entwickler antworteten. Eine davon war die nach dem Betriebssystem. Die Antwort: Auf den Computern von Crew Dragon und Falcon 9 läuft Linux. Genauer gesagt: "Linux mit dem Patch CONFIG_PREEMPT_RT", wie Josh Sulkin, verantwortlich für das Software-Design des Crew Dragon, schrieb.

Demnach wird jedoch keine der bekannten Distributionen verwendet, sondern SpaceX pflegt eine eigene Kopie des Kernels mit einigen dazugehörigen Erweiterungen. "Über die Jahre haben wir kleine Änderungen am Kernel vorgenommen, aber größtenteils ist er völlig unverändert", so Sulkin. Hauptsächlich wurden Treiber für die SpaceX-Hardware hinzugefügt.

Dabei hatte das Team durchaus mit Kernel-Bugs zu kämpfen, wie John Dietrick erzählte, der führende Software-Entwickler für den Flug zur ISS. Und trotz CONFIG_PREEMPT_RT habe man, besonders in der Anfangszeit, "festgestellt, dass das System nicht so sehr in Echtzeit arbeitet, wie wir es gerne hätten". Sich mit diesen Problemen zu beschäftigen, sei "immer ein Abenteuer".

Software ist in C++ geschrieben

Stellenmarkt
  1. Junior Product-Owner (m/w/d) Software-Entwicklung
    MVZ Martinsried GmbH, Martinsried
  2. Mobile Developer Android (w/m/d)
    SMF GmbH, Dortmund
Detailsuche

Die Entwickler berichteten auch über Details der Steuerungssoftware. "Um den Nichtdeterminismus zu vermeiden, den Synchronisationsprobleme verursachen können, ist ein Großteil single threaded", erklärte Dietrick. Bei Echtzeit-Software ist es ein gefürchtetes Problem, wenn ein anderer Thread sich gerade länger in der Bearbeitung befindet.

Daher möchte man dies bei Echtzeit-Software vermeiden. In Betriebssystemen passiert trotzdem noch eine Menge in Prozessen im Hintergrund - auch bei einem Linux-Kernel mit CONFIG_PREEMPT_RT patch.

Programmiert wird objektorientiert. Die gesamte autonome Software auf Anwendungsebene ist in C++ geschrieben und besteht aus vielen kleinen Modulen. Das Design dieser Module war eine von Sulkins Hauptaufgaben.

Nur die besten Libraries

Dabei gibt es eine klare Hierarchie von Low-Level-Komponenten über Sub-Systeme bis hin zum Gesamtsystem Crew Dragon mit Falcon 9. Einzelne Subsysteme sind voneinander isoliert, manche laufen dabei auf der gleichen Hardware, andere jedoch haben eigene Computer.

Es werden auch Libraries verwendet, zum Beispiel die C++ Standard Library. Um genutzt zu werden, muss eine Bibliothek jedoch eine sehr hohe Qualität haben und gleichzeitig schlank sein, also gerade so die angedachte Aufgabe erfüllen.

Unnützer Code und damit verbundene unnütze Komplexität sollen vermieden werden. Weshalb die Entwickler lieber selbst programmieren, "wenn es denn irgendwie machbar ist", schreibt Sulkin. Dadurch bleibt auch die Codequalität unter eigener Kontrolle.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Open Source auch für die Touchscreens 
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6.  


FlashBFE 09. Jul 2020

Finde ich auch. Ein guter Übersichtsartikel, der Zusammenhänge erklärt, ist mindestens...

KlugKacka 29. Jun 2020

Wenn da noch 100%ig stehen würde könnte das Durchgehen. Oder anders ausgedrückt...

zilti 18. Jun 2020

Warum auch installieren? Richtige Anwendungen - und damit meine ich nicht "jedes Stück...

BoMbY 17. Jun 2020

Nur funktioniert das halt erst ordentlich bei einem Auto mit Touchscreen. Mein neues...

Kein Kostverächter 17. Jun 2020

Wenn schon, dann "Bibliotheks"... *ganz tief duck und schneller weg als du gucken kannst*



Aktuell auf der Startseite von Golem.de
Macbook Pro
Apple bestätigt High Power Mode für M1 Max

Käufer des Macbook Pro mit M1 Max können wohl in MacOS Monterey per Klick noch mehr Leistung aus dem Gerät herausholen.

Macbook Pro: Apple bestätigt High Power Mode für M1 Max
Artikel
  1. Bundesregierung: Autobahn App 2.0 im ersten Quartal 2022 geplant
    Bundesregierung
    Autobahn App 2.0 im ersten Quartal 2022 geplant

    Die Opposition kritisiert die massiven Kosten, Nutzer bewerten die App schlecht. Dennoch soll die Autobahn App nun erweitert werden.

  2. Klage: Google soll E-Privacy und Werbemarkt manipuliert haben
    Klage
    Google soll E-Privacy und Werbemarkt manipuliert haben

    Mehrere US-Bundesstaaten haben Klage gegen Google eingereicht. Das Unternehmen rühmt sich derweil, Regulierungen verlangsamt zu haben.

  3. Silence S04: Günstiges Elektroauto mit herausnehmbaren Akku vorgestellt
    Silence S04
    Günstiges Elektroauto mit herausnehmbaren Akku vorgestellt

    Beim Elektroauto Silence S04 kann der Nutzer den Akku selbst wechseln, wenn dieser leergefahren ist.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Saturn-Gutscheinheft mit Direktabzügen und Zugaben • Nur noch heute: Mehrwertsteuer-Aktion bei MediaMarkt • Roccat Suora 43,99€ • Razer Goliathus Extended Chroma Mercury ab 26,99€ • Seagate SSDs & HDDs günstiger • Alternate (u. a. ASUS ROG Strix Z590-A Gaming WIFI 258€) [Werbung]
    •  /