Apollo 11: il computer che venne utilizzato fu il primo interattivo, general-purpose e multitasking della storia

Nel corso delle celebrazioni per festeggiare il 50esimo anniversario dalla data della prima passeggiata di un astronauta sul suolo lunare, grande enfasi viene dedicata anche ad AGC, il primo computer "portabile" interattivo, general-purpose e multitasking della storia dell'informatica. Governato da 145.000 righe di codice usava un processore con frequenza di clock pari a 2 MHz e appena 72 KB di memoria RAM.

La missione Apollo 11 è quella che 50 anni fa, il 20 luglio 1969, portò sulla Luna – per la prima volta – tre astronauti: Neil Armstrong e Buzz Aldrin. Il collega Michael Collins – pilota del modulo di comando – restò in orbita lunare mentre gli altri due erano sulla superficie.

La partenza verso il satellite naturale terrestre avvenne il 16 luglio 1969 dalla base del Kennedy Space Center e proprio in questi giorni non si contano le tante celebrazioni dell’evento, negli Stati Uniti e in tutto il mondo.
È previsto per oggi il gran galà presso la storica base della NASA e sia Cisco fornirà la tecnologia per mettere in comunicazione diretta alcuni tra i più famosi astronauti, ingegneri e tecnici. I “pezzi da novanta” racconteranno al pubblico quell’esperienza che cambiò radicalmente il mondo e le ambizioni dell’uomo nello spazio.
I più conoscono Armstrong e Aldrin ma pochi sanno, infatti, che affinché tutto andasse per il verso giusto nella missione Apollo 11 occorse un team composto da ben 400.000 persone.

La diretta di Cisco può essere seguita a questo indirizzo a partire dalle ore 2,45 italiane del 17 luglio. Cliccando sullo stesso link si potrà seguire la registrazione dell’evento anche in tempi successivi.

L’eroe nascosto di Apollo 11: il software

Si chiamava Apollo Guidance Computer (AGC) il computer di bordo del Programma Apollo della NASA utilizzato anche nel corso della storica missione Apollo 11.

Oggi il sistema AGC può essere considerato come il primo computer portatile general-purpose, interattivo e con supporto per il multitasking, il cui funzionamento era governato da appena 145.000 righe di codice.

L’AGC era un computer estremamente avanzato per quel periodo e fu talmente versatile da essere utilizzato oltre che nel Modulo di Comando anche all’interno del LEM, in 15 missioni, di cui 9 sulla Luna, per sovrintendere 6 allunaggi, 3 missioni SkyLab e nella missione di test Apollo-Soyuz del 1975.

Progettato presso il MIT Instrumentation Laboratory sotto la guida di Charles Stark Draper, l’AGC era basato su un’unità di calcolo da 2 MHz di clock affiancata da 72 KB di memoria RAM e poco più di 1 MB di ROM. Basti pensare che una potenza computazionale simile fu offerta oltre dieci anni dopo sul mercato mainstream, quindi ad inizio anni ’80, da computer quali gli storici Commodore 64 e Sinclair Zx Spectrum.
Di dimensioni pari a 61 x 32 x 17 cm, l’AGC pesava circa 32 chilogrammi.

La stesura del software alla base del funzionamento di AGC richiese l'”arruolamento” di 350 ingegneri che lavorarono un equivalente di 1.400 anni-uomo per completare il progetto.
Diversamente rispetto a quanto accade oggi, il codice fu scritto “a mano” per poi essere trasferito alla macchina usando un cumulo di schede perforate.
Il codice era una “miscela” tra assembly e un linguaggio matematico interpretato che doveva essere costantemente aggiornato. Fu un compito talmente gravoso per gli sviluppatori del MIT che lo scotto fu pagato a livello personale, come dimostrano gli sbalorditivi tassi di divorzio.

Nella foto Margaret Hamilton, informatica, ingegnere e imprenditrice statunitense, sviluppatrice che lavorò al software che portò l’uomo sulla Luna e che ebbe il grandissimo merito di prevedere e gestire il problema presentatosi in fase di discesa (ne parliamo più avanti).

AGC si è comportato in modo impeccabile sui voli Apollo, con gli unici problemi derivanti dall’inserimento del codice sbagliato o dalla pressione degli interruttori inidonei.
Sull’Apollo 11, AGC mostrò tutte le sue abilità: durante la storica discesa verso il Mare della Tranquillità, il computer si bloccò improvvisamente a causa del radar di rendez-vous lasciato accidentalmente acceso. Il radar inondava il computer con dati senza senso e in un computer moderno questo avrebbe provocato una situazione anomala con un crash inatteso provocando verosimilmente un incidente. Invece, l’AGC ha segnalato un errore di sovraccarico “1202”, ha arrestato tutti i programmi in esecuzione tranne quella a più elevata priorità e riavviato l’intero sistema.
Una manovra automatica, ben congegnata a livello software, che ha scongiurato il possibile annullamento della missione. Proprio dopo il ripristino delle piene funzionalità del computer, i tecnici hanno “dato il via” al comandante della missione Neil Armstrong per procedere con l’allunaggio.

Per i più curiosi, il codice dell’AGC usato anche in Apollo 11 è stato pubblicato su GitHub e può essere liberamente scaricato ed esaminato.

A questo indirizzo è stata invece pubblicata un’eccezionale dettagliata ricostruzione dell’intera missione Apollo 11 insieme con contributi audio e video originali NASA.

Ti consigliamo anche

Link copiato negli appunti