• IT-Karriere:
  • Services:

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 Boris Mayer 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. K&P Computer Service- und Vertriebs GmbH, verschiedene Standorte (Home-Office)
  2. Landestalsperrenverwaltung des Freistaates Sachsen, Eibenstock-Neidhardtsthal

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.  


Anzeige
Hardware-Angebote
  1. 369,45€ (Bestpreis!)
  2. (reduzierte Überstände, Restposten & Co.)

KlugKacka 29. Jun 2020 / Themenstart

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

zilti 18. Jun 2020 / Themenstart

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

BoMbY 17. Jun 2020 / Themenstart

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

Kein Kostverächter 17. Jun 2020 / Themenstart

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

Arnison 17. Jun 2020 / Themenstart

ein +1 auch von mir

Kommentieren


Folgen Sie uns
       


Patrick Schlegels Visitenkarte spielt Musik und würfelt

Eine Visitenkarte muss nicht immer aus langweiligem Papier sein. Patrick Schlegels Visitenkarte hat einen USB-Speicher, spielt Musik und kann würfeln.

Patrick Schlegels Visitenkarte spielt Musik und würfelt Video aufrufen
    •  /