Login
Newsletter
Werbung

Do, 7. März 2013, 15:54

Gesellschaft::Wissenschaft

SpaceX setzt komplett auf Linux

Das US-Unternehmen SpaceX, das zur Zeit die Lücke schließt, die das Ende des Space Shuttle-Programms hinterlassen hat, und die Raumstation ISS versorgt, verwendet Linux in der Steuerung und Kontrolle der Raumfahrzeuge und in der Entwicklung.

SpaceX: Falcon, Dragon als Frachtschiff und Dragon als bemanntes Raumschiff

NASA

SpaceX: Falcon, Dragon als Frachtschiff und Dragon als bemanntes Raumschiff

Auf der Embedded Linux Conference, die im Februar in San Francisco stattfand, berichtete Robert Rose, Leiter der Flugsteuerungs-Software-Entwicklung von SpaceX, über den Einsatz von Linux in seinem Unternehmen. Eine Zusammenfassung des Vortrags ist jetzt bei LWN erschienen.

SpaceX ist ein privates Raumfahrtunternehmen, dem es mit seiner Rakete Falcon und dem Raumtransporter Dragon erfolgreich gelang, einen Ersatz für das von der NASA eingestellte Space Shuttle-Programm bereitzustellen. Mit Ausnahme der sowjetischen Sojus-Rakete ist SpaceX aktuell die einzige Organisation, die die internationale Raumstation versorgen kann. Im Gegensatz zur Jahrzehnte alten Sojus setzt SpaceX jedoch stark auf die Wiederverwendbarkeit von Komponenten, um die Kosten zu senken. Dies bezieht sich auch auf die ausschließlich auf Linux beruhende Software.

Die bisherigen vier Flüge des Dragon waren ausnahmslos erfolgreich. Dabei sah es zunächst danach aus, als ob die derzeit im Orbit befindliche Mission CRS-2 ein Fehlschlag würde, denn nach dem Start waren drei der vier Antriebe ausgefallen. Doch die Ingenieure konnten noch während des Fluges zur Raumstation den Fehler beheben.

SpaceX nutzt Linux nach Angaben von Rose überall. Im Raumtransporter selbst kommen drei Steuerrechner mit Linux zum Einsatz, die sich zur Sicherheit gegenseitig überwachen. Stimmen die Ergebnisse der drei Rechner nicht überein, wird nach einem in der Prozesssteuerung lange bekannten Algorithmus eine Mehrheitsentscheidung gefällt. Mit Ausfällen von Komponenten, aber mehr noch mit der willkürlichen Änderung von einzelnen Bits im Speicher durch die starke Strahlung im Weltall, muss jederzeit gerechnet werden.

Die Linux-Systeme liefern große Mengen von Trace-Daten, die nach einer Mission ausgewertet werden können, um die Leistung, Systemauslastung, aber auch Probleme zu erkennen. Telemetriedaten werden zusammen mit diesen Trace-Daten gespeichert, um im Bedarfsfall das Verhalten des Codes reproduzieren zu können. Die Auswertung erfolgt automatisch und löst bei möglichen Problemen sofort Alarm aus.

Auf dem Boden verwenden die Entwickler Linux-Workstations zum Schreiben und Testen des Codes. Sie haben dabei vieles automatisiert und verwenden kontinuierliche Integration. Fehler beim Compilieren dürfen in der kontinuierlichen Integration nicht auftreten und falls es doch einmal vorkommen sollte, werden alle Entwickler per E-Mail benachrichtigt und der zuständige Entwickler muss das Problem schnellstmöglich beheben. Das Schreiben von Tests zu dem Code wird als verpflichtend angesehen und die Tests werden in der kontinuierlichen Integration automatisch ausgeführt. Änderungen erfolgen nur anhand von Tickets, und Code-Reviews sind Pflicht. Auch die Einhaltung dieser Regeln wird automatisch geprüft. Dieses im Vergleich zu anderen Industrien ziemlich formale und strikte Vorgehen hat seinen Ursprung in den Sicherheits- und Zuverlässigkeitsanforderungen der NASA. Diese werden sich noch erhöhen, da Dragon auch für den Personentransport zugelassen werden soll.

Abgesehen davon ähnelt die Entwicklung bei SpaceX der normalen Entwicklung von eingebetteten Linux-Systemen in anderen Industriezweigen. Die Entwickler nutzen die üblichen Werkzeuge, von GCC über GDB und ftrace bis libSegfault und netfilter. Den Editor kann jeder Entwickler frei wählen. Der verwendete Linux-Kernel wurde auf seine Scheduler-Leistung hin analysiert und optimiert, auf den Einsatz eines Echtzeit-Kernels wurde dagegen verzichtet. Im Endeffekt ist, wie der Autor des Artikels mit einem Schmunzeln anmerkt, das Schreiben von Software für die Raketensteuerung keine Raketenwissenschaft.

Werbung
Kommentare (Insgesamt: 22 || Alle anzeigen )
Re[3]: Leider viele Fehlinformationen im Artikel (Lt. Wurst, Mo, 11. März 2013)
Re[2]: Leider viele Fehlinformationen im Artikel (7of9, Sa, 9. März 2013)
Re: Können sie auch nicht. (MGrabo, Fr, 8. März 2013)
Re[4]: Leider viele Fehlinformationen im Artikel (Erkenner der Szene, Fr, 8. März 2013)
Re: Auf was sollten sie auch sonst setzen... (Logo, Fr, 8. März 2013)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung