Il 20 luglio 1969, a pochi minuti dall’allunaggio con Apollo 11, il computer di bordo iniziò a segnalare un errore che nessuno aveva mai visto in addestramento. La decisione di continuare fu presa in appena 30 secondi, sulla base di codice scritto da una 33enne del MIT
Il 20 luglio 1969 con Apollo 11, mentre Armstrong e Aldrin stavano scendendo verso la superficie lunare sul modulo Eagle, il computer di bordo iniziò a lampeggiare un codice di allarme: 1202. Era un errore che i due astronauti non avevano mai visto durante l’addestramento. Armstrong lo comunicò a Houston con quella calma che è il marchio di fabbrica degli astronauti dell’epoca: “Program alarm. It’s a 1202.” Il responsabile della comunicazione a terra, Charles Duke, aveva pochi secondi per rispondere. Lo fece comunque con altrettanta calma esclamando: “We’re go on that alarm.“
Sovraccarico del processore
Quello che stava accadendo era un sovraccarico del processore. Buzz Aldrin aveva lasciato attivo il radar di Rendezvous, lo strumento usato per agganciarsi al modulo di comando in orbita, che continuava a mandare dati al computer anche durante la discesa. Il processore, che aveva circa 72 kilobyte di memoria, stava cercando di gestire più task di quanti ne potesse sostenere. Margaret Hamilton, direttrice del software engineering al MIT Instrumentation Laboratory, aveva anticipato questa situazione anni prima. Il suo codice conteneva un sistema di priorità che in caso di sovraccarico eliminava automaticamente i processi secondari e manteneva attivi solo quelli essenziali all’atterraggio. Per fortuna funzionò esattamente come aveva previsto.

La figlia che crashò il simulatore
Hamilton aveva capito il rischio del sovraccarico 3 anni prima, quando sua figlia Lauren, giocando con il simulatore al MIT, aveva selezionato accidentalmente il programma di prelancio durante una simulazione di volo mandando il sistema in in crash. Hamilton propose di inserire una protezione contro questo tipo di errore umano, ma la NASA rispose dicendo che gli astronauti fossero “troppo addestrati per sbagliare”. Apollo 8 dimostrò però il contrario: un astronauta selezionò quel programma in volo e Hamilton aveva già documentato il problema. Il codice sorgente dell’Apollo Guidance Computer è ormai pubblico da 2016. Il suo sistema di recovery si rivelò uno dei software più robusti e cruciali mai scritti nella storia dell’esplorazione spaziale, nonostante non esente da bug.
Per saperne di più:
