40 Jahre Apollo 11

Wie ein Computerfehler fast die Mondlandung verhinderte

20.07.2009
Von 
Jürgen Hill ist Chefreporter Future Technologies bei der COMPUTERWOCHE. Thematisch befasst sich der studierte Diplom-Journalist und Informatiker derzeit mit aktuellen IT-Trendthemen wie KI, Quantencomputing, Digital Twins, IoT, Digitalisierung etc. Zudem verfügt er über einen langjährigen Background im Bereich Communications mit all seinen Facetten (TK, Mobile, LAN, WAN). 

Computer-Overflow bei der Landung

Mit dem Luna Module Eagle landeten Armstrong und Aldrin als erste Menschen auf dem Mond.
Mit dem Luna Module Eagle landeten Armstrong und Aldrin als erste Menschen auf dem Mond.
Foto: NASA

Der Apollo Guidance Computer war schlicht überlastet, und das entsprechende Programm reagierte nicht, oder um es neudeutsch zu formulieren, der Computer hatte ein "overflow problem". Die Ursache hierfür war relativ schnell ausgemacht: Obwohl eigentlich unnötig, waren die Astronauten bei der Landung darauf trainiert, sowohl das Lande- als auch das Rendezvous-Radar (das eigentlich zur Ankoppelung des LM an das Command/Service Module (CSM), die eigentliche Apollo-11-Kapsel, diente) zu benutzen. Mit der Verarbeitung der Daten von zwei Radarsystemen war der Computer nun überfordert.

Aus heutiger Sicht, in einer Zeit, in der Handys mit 1-Gigahertz-Prozessor gebaut werden, Grafikkarten mit 1 GB RAM ausgestattet sind und PCs Zwei- wenn nicht gar Vier-Kern-CPUs besitzen, mag dies verwundern. Doch der Apollo Guidance Computer hatte gerade einmal 72 KB ROM sowie 4 KB RAM und eine Taktfrequenz von rund einem Megahertz. Das Eingabe- und Ausgabemodul DSKY (von Display und Keyboard abgeleitet) erinnerte mehr an einen wissenschaftlichen Taschenrechner als an ein User Interface für einen Computer.

Trotzdem war der AGC zu seiner Zeit ein Meilenstein im Rechnerbau: Er war der erste Rechner mit einem Echtzeit-Betriebssystem, dem Menschen ihr Leben anvertrauten, und markierte zudem den Einstieg in die Fly-by-Wire-Technologie, wie sie heute in modernen Passagierjets üblich ist. Das Betriebssystem konnte bis zu acht Prozesse gleichzeitig in einem nichtpräemptiven Multitasking-Verfahren verarbeiten und hatte zudem eine Prioritätenliste für die einzelnen Programme. Um Totalabstürze zu vermeiden, besaß das System zudem die Fähigkeit, sich automatisch neu zu starten und die entsprechenden Tasks weiterzuverarbeiten.

Lift off, an der Spitze einer Saturn V traten Armstrong, Aldrin und Collins die Reise zum Mond an.
Lift off, an der Spitze einer Saturn V traten Armstrong, Aldrin und Collins die Reise zum Mond an.
Foto: NASA

Ferner hatte die Hardware, wenn sie mehr Register benötigte, eine höhere Priorität als die eigentlichen Programminstruktionen. Und genau dies geschah bei der Mondlandung: Das Rendevouzsradar forderte immer mehr Register an, so dass sich die Ausführung der anderen Programme um 15 Prozent verlangsamte. Da diese nun nicht mehr genügend Rechenzeit bekamen, wurden sie vom System wiederholt neu gestartet, was zu den bekannten Fehlermeldungen führte.

Werden Sie selbst zum Astronauten

Unter http://www.ibiblio.org/apollo ist beispielsweise eine virtuelle Version des Apollo Guidance Computers zu finden. Wer Interesse an einer grafisch ansprechenderen Simulation hat (siehe Screenshot), sollte das Project Apollo for Orbiter (http://www.orbiterwiki.org/wiki/NASSP) besuchen, das auf dem freien Space-Simulator Orbiter aufbaut.