• 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. Merz Pharma GmbH & Co. KGaA, Frankfurt am Main
  2. KBV Kassenärztliche Bundesvereinigung, Berlin

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. (u. a. ASUS Radeon RX 6900 XT TUF GAMING OC 16GB für 1.729€)

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*


Folgen Sie uns
       


Sega Mega Drive (1990) - Golem retro_

Mit Mega-Power sagte Sega 1990 der Konkurrenz den Kampf an. Im Golem retro_ holen wir uns die Spielhalle nach Hause.

Sega Mega Drive (1990) - Golem retro_ Video aufrufen
Börse: Was zur Hölle ist ein SPAC?
Börse
Was zur Hölle ist ein SPAC?

SPACs sind die neue Modewelle an der Börse: Firmen, die es eigentlich nicht könnten, gehen unter dem Mantel einer anderen Firma an die Börse. Golem.de hat unter den Mantel geschaut.
Eine Analyse von Achim Sawall

  1. Wallstreetbets Trade Republic entschuldigt sich für Probleme mit Gamestop
  2. Tokyo Stock Exchange Hardware-Ausfall legte Tokioter Börse lahm

Logitech vs. Cherry: Leise klackert es im Büro (oder auch nicht)
Logitech vs. Cherry
Leise klackert es im Büro (oder auch nicht)

Tastaturen für die Büroarbeit brauchen keine Beleuchtung - gut tippen muss man auf ihnen können. Glücklich wird man sowohl mit der Logitech K835 TKL als auch mit der Cherry Stream Desktop.
Ein Test von Tobias Költzsch

  1. SPC Gear Mechanische TKL-Tastatur mit RGB kostet 55 Euro
  2. Launch Neue Details zur Open-Source-Tastatur von System76
  3. Youtube Elektroschock-Tastatur bestraft schlampiges Tippen

Mobilfunk: Das Sicherheitsproblem heißt nicht 5G
Mobilfunk
Das Sicherheitsproblem heißt nicht 5G

Mit dem 5G-Standard ist der Sicherheitsforscher Karsten Nohl zufrieden. Die Sicherheitsprobleme im Mobilfunk haben eine andere Ursache.
Ein Interview von Moritz Tremmel

  1. Bundesnetzagentur Immer mehr nicht öffentliche Campusnetze in Deutschland
  2. 5G SA Telekom errichtet ersten 5G-Standalone-Standort
  3. Deutsche Messe Riesiges 5G-Campus-Netz für Hannover von Huawei entsteht

    •  /