Vorrei sapere di che tipo di computers (processore) e sistemi operativi (unix, linux,ecc.) erano dotate le missioni apollo 11 e 13 e gli attuali space shuttle? A quali computers attuali potrebbero essere paragonati?

Quello
che nelle navicelle spaziali viene comunemente chiamato “computer di bordo”
è in realtà un sistema elettronico molto complesso, che non va pensato
come un personal computer. Non esiste, per intendersi, un’unità con processore,
RAM, hard disk, tastiera, mouse e monitor! Inoltre, va considerato che i sistemi
che vanno in orbita devono essere realizzati con tecnologie speciali resistenti
alle radiazioni e con sistemi di ridondanza tali che, in caso di guasto, sostituiscano
automaticamente il componente danneggiato. Per questa ragione non è pensabile
far volare una memoria o un processore commerciali. Mediamente, dal momento in
cui un certo componente elettronico viene commercializzato al momento in cui può
venire prodotto il suo equivalente adatto allo spazio passano tra i 5 e i 10 anni.
Per questa ragione la tecnologia elettronica spaziale è in un certo senso
“vecchia” rispetto a quella commerciale terrestre.

Prendiamo
per esempio lo Space Shuttle: il computer principale è costituito da 7
sottosistemi: “guida e navigazione”, “comunicazione e gestione
del carburante”, “controllo di spinta e manovre”, “controllo
del supporto alla vita”, “distribuzione dell’elettricità”,
“controllo dell’equipaggio e degli errori di immissione dati”, “elaborazione
e trasmissione delle informazioni”. Senza contare, naturalmente, che ogni
esperimento scientifico imbarcato sulla navetta possiede la sua elettronica di
controllo locale, che si interfaccia col computer principale.
Ciascun sottosistema è costituito da sensori distribuiti lungo tutta la
navicella, attuatori, interfacce meccanico-elettroniche, display, bus per la trasmissione
dati, isolatori e multiplatori dei segnali, piccoli processori locali per il pretrattamento
dei dati e “scatole” in cui vengono effettivamente elaborate le informazioni.
In tutto lo Shuttle ci sono oltre 300 scatole contenenti processori dedicati di
vario tipo, che si connettono ai 5 computer principali (chiamati GPC – General
Purpose Computer), identici tra loro, posti in 3 diversi punti della navetta.
Essi sono tra loro interconnessi in modo che, al guasto irreversibile di uno,
un altro prenda il suo posto. Lo Shuttle può funzionare finché ci
sono al massimo 2 computer guasti. Fisicamente queste macchine sono degli IBM
AP-101, dotati di due processori, uno che si occupa di trattare i dati ed uno
di gestire le periferiche. I processori trattano istruzioni a 32 bit e fanno calcoli
su floating point a 64 bit, con una velocità di calcolo di 480k istruzioni
al secondo. C’è inoltre una memoria condivisa, su cui viene salvato il
programma di gestione della missione, delle dimensioni di poco meno di 1Mbyte.
Come puoi notare, la potenza di calcolo e la quantità di memoria per gestire
lo Space Shuttle sono comparabili a un personal computer di 8-10 anni fa. Va però
pensato che questo veicolo è stato progettato negli anni ’70.

Il
software viene scritto direttamente in un linguaggio assembly creato su misura
per gli Shuttle, chiamato HAL/S (High-order Assembly Language/Shuttle). Il sistema
operativo vero e proprio è chiamato GPC operating software, e risiede nella
memoria condivisa, inoltre ci sono una moltitudine di altri pacchetti software,
sempre realizzati in HAS/L, che vengono caricati di volta in volta, in funzione
delle operazioni da compiere, e che differiscono da missione a missione.

Il
computer a bordo delle navicelle Apollo aveva principalmente il compito di gestire
la navigazione, il controllo d’assetto e l’accensione dei motori per l’immissione
sulla giusta orbita. Vi era poi un secondo computer a bordo del LEM, per gestire
la discesa sulla luna, su cui era caricato il programma Abort Guidance System
(AGS), per pilotare il LEM alla risalita nel caso qualcosa fosse andato storto.
Il computer del modulo Apollo aveva 2 processori, su cui girava il software PGNGS
(pronunciato “pings” – Primary Guidance, Navigation, and Control System)
quello del LEM era identico, con lo stesso programma, ma girava anche l’AGS. I
processori avevano parole da 16 bit ed erano fisicamente realizzati a discreti,
con porte logiche incapsulate in singoli chip. Ogni processore aveva circa 3000
porte logiche, vale a dire quanto una calcolatrice tascabile moderna. La memoria
totale era di 36KB per contenere il programma e 2KB per le variabili temporanee.
Come dimensioni era 60x32x15cm e consumava 70W.
Non c’era ovviamente un sistema operativo, ma il solo software di gestione. Dal
punto di vista dell’architettura e del tipo di programmazione, quel genere di
computer si può paragonare ad un moderno microcontrollore, tipo quelli
che vengono inseriti nelle centraline degli antifurti o nelle smart-card.

Per approfondire questi argomenti, ti consiglio i seguenti link:

http://www.hq.nasa.gov/office/pao/History/computers/Part1.html
trovi la storia dei computer nelle navicelle statunitensi, con i dettagli tecnici
e il racconto dei problemi tecnologici che si sono dovuti risolvere per realizzarli.

http://hrst.mit.edu/hrs/apollo/public/archivestype.htm
E’ un interessante sito, in cui si possono scaricare le documentazioni originali
redatte dai tecnici della NASA in fase di progettazione delle navicelle Apollo.

http://spaceflight.nasa.gov/shuttle/reference/shutref/orbiter/avionics/
C’è l’accurata descrizione di tutti i sottosistemi elettronici a bordo
degli Space Shuttle.