Cerca nel blog

2007/09/11

Sette meraviglie informatiche

30 anni di uptime, roba davvero spaziale; e altre meraviglie dell'informatica



Cio.com ha pubblicato una simpatica lista di meraviglie informatiche: spicca, a mio avviso, l'incredibile uptime del computer di bordo della sonda Voyager 1, a 15,44 miliardi di chilometri dalla Terra, attivo ininterrottamente da trent'anni (è stato attivato il 5 settembre 1977).

Alimentato da 300 watt prodotti da un piccolo reattore nucleare, è talmente lontano che i comandi ci mettono 14 ore a raggiungerlo, alla velocità della luce, e ci vuole altrettanto per inviare la risposta a Terra.

Non ci sono più i computer di una volta.

30 commenti:

JohnWayneJr ha detto...

Beh, Paolo, ma perché ti stupisci? Nel 1977 Microsoft non esisteva ancora, e quando é nata Voyager1 era abbastanza lontana da impedire a zio Bill di fare danni!!!!
:-))

Explobot ha detto...

Una quindicina di anni fa avevo assistito a una delle più interessanti conferenze durante la quale hanno narrato l'entusiasmante storia dei computer di uno dei due Voyager (mi pare però il 2), che è stato riprogrammato durante la missione per diversi motivi tra cui ridurre il consumo dei piccoli motori per aggiustare la traiettoria, per ridurre il bitrate e aumentare il fattore di compressione delle immagini inviate per poter funzionare anche a maggiori distanze, e un meccanismo di compensazione delle temperature in conseguenza del guasto di un meccanismo di cui non ricordo lo scopo, il tutto con il satellite già in volo e con il rischio che un bug avrebbe potuto compromettere tutta la missione. Altri tempi ...se qualcno postasse qualche link per rinfrescarmi la memoria ne sarei contento.

Dan ha detto...

A me interesserebbe più sapere su che piattaforma è stato sviluppato un simile gioiellino; tutto materiale custom, o qualcosa tipo software su base UNIX, o che altro..?
E sopratutto, perchè da allora le cose sono andate peggiorando?!
(28 ore per un "ping"? Quando si dice il lag...)

Unknown ha detto...

@explobot: Un riferimento si trova in questo lungo documento: Chapter11
In effetti ricordo un articolo su "Le Scienze" di qualche annetto fa dove si raccontava di come fosse stato riprogrammato un computer di bordo (non ricordo se del Voyager) perché una memoria si era guastata.

Unknown ha detto...

mmm

Mi viene il dubbio che il segnale radio dalla terra verso la sonda e viceversa non viaggi esattamente alle velocità della luce. O sbaglio?

hronir ha detto...

lordmax: si', il segnale viaggia' piu' lento, perche' il Voyager si allontana molto velocemente... come? la relativita' ristretta? ok, ok, sto scherzando! :)

explobot: le cose sono andate peggiorando perche' e' aumentata la complessita'. E' bello riuscire a fare incredibilimente molte piu' cose, ma a quel punto hai anche incredibilmente piu' cose che possono andare storte...

JohnWayneJr ha detto...

"E' bello riuscire a fare incredibilimente molte piu' cose, ma a quel punto hai anche incredibilmente piu' cose che possono andare storte... "

Mi viene in mente il motto della Fiat: se non c'é, non si può rompere! In effetti le 500, 127 e compagnia girano ancora mentre le nuove auto hanno molti più problemi!

Explobot ha detto...

@andrea: grazie dell'articolo, adesso ricordo anche della storia dell'array di radiotelescopi per captare il segnale.

@dan: ricordo vagamente che si parlasse di un paio di semplici Z80, però la cosa, ripeto, merita approfondimentoin quanto la mia memoria non è più quella di una volta. COn 300 Watt di generatore non penso però che possa trattarsi di qualcosa di molto diverso. Sicuramente a terra si avevanoa disposizione altri strumenti di calcolo per elaborare poi le informazioni ricevute, ma questo è un altro discorso. Altri tempi ...

Hutc ha detto...

"si', il segnale viaggia' piu' lento, perche' il Voyager si allontana molto velocemente..."

La velocità del segnale non dipende dalla velocità con cui si sposta il ricevitore. Cambia solamente il tempo.

Il segnale viaggia alla velocità propria della luce nel mezzo che attraversa in quanto viene trasmesso sottoforma di onda elettromagnetica (come la luce).

Unknown ha detto...

I sistemi che come il voyager devono poter funzionare senza l'intervento umano hanno un dispositivo chiamato 'watch-dog timer' che se non viene azzerato entro un certo intervallo di tempo fa ripartire tutto il sistema. E' questo che garantisce un uptime limitato solo dalla durata dell'hardware. Certo una buona programmazione e un buon progetto hardware aiutano!

Unknown ha detto...
Questo commento è stato eliminato dall'autore.
Explobot ha detto...

@dan: per la cpu usata bastava guardare su wikipedia ( http://it.wikipedia.org/wiki/Programma_Voyager ), si tratta di 3 RCA 1802 a 6.3 Mhz.

Dan ha detto...

Chiamami pigro, non avevo voglia di fare ricerche sul momento...

"Mi viene in mente il motto della Fiat: se non c'é, non si può rompere!"
A me sembrava che fosse un motto di Henry Ford...
Quello della Fiat è: se non c'è, non lo dobbiamo pagare!

JohnWayneJr ha detto...

Beh, se é un motto della Ford se lo sono persi per strada: meglio così, perché sulla mia ci sono un sacco di cose che si possono rompere (anche se dopo 60000 km non ho ancora cambiato niente fuori dall'ordinario!), anche se dubito che il suo "uptime" sarà di trent'anni: ormai non c'é più niente che duri così a lungo!

JohnWayneJr ha detto...

Mi correggo: in Italia le candidature a premier durano anche di più... (scusate l'OT volgarmente politico)

Poppi ha detto...

Su wikipedia c'e' un errore. Il computer di bordo era un Vic-20, con il datassette.

Claudio Fe ha detto...

Vorrei fare solo un piccolo appunto, anzi due; il primo è che il termine reattore nucleare mi sembra fuorviante (non viene mica fatta una reazione a catena controllata, anzi viene utilizzato plutonio 238, isotopo non preferibile per sostenere una reazione a catena) e secondo me è molto più affascinante "generatore a radioisotopi".
Il secondo riguarda il motto della FIAT. Non so se esista veramente, in compenso so con certezza che dietro il manuale di metallurgia in uso all'università di padova, si trovano alcune regole per un buon ingegnere, tra cui "quel che non c'è, non costa e non si rompe".

Rudy ha detto...

Il reattore è in realtà un generatore termoelettrico: sfrutta il calore prodotto dalle particelle alfa (nuclei di elio) prodotte dal decadimento del biossido di plutonio, le quali si scontrano con le pareti interne del contenitore. Il calore viene convertito in energia da termocoppie.

TNT ha detto...

E nonostante questa distanza immane (14 ore-luce, il Sole e' a 8 minuti luce), il Voyager 1 e' a soli 0.0016 anni luce dalla Terra, 2637 volte piu' vicino di Proxima Centauri, la stella piu' vicina a noi (Sole escluso).

Le distanze siderali sono qualcosa di incredibile ed affascinante...

Dan ha detto...

Mica tanto: se certe cose fossero più vicine (eccetto magari supernovae e simili) sarebbe un po' meglio: si potrebbero studiare, raggiungere...

"Nel 1977 Microsoft non esisteva ancora, e quando é nata Voyager1 era abbastanza lontana da impedire a zio Bill di fare danni!!!!
:-))"

Della serie: fuggi, finchè sei in tempo!

Unknown ha detto...

non ricordo le Voyager, ma ultimamente alla NASA utilizzano OS realtime, come VxWorks o simili...
e ovviamente Linux su Shuttle e ISS ^_^

Dan ha detto...

E ci credo: lassù un "Blue Screen" può diventare davvero "Of Death"! Già gli shuttle stanno cadendo a pezzi...

Explobot ha detto...

@inv775/a: riguardo l'utilizzzo di Linux sullo Space Shuttle mi puoi dare qualche ragguaglio maggiore? Sono molto interessato alla cosa. Nel libro di Richard Feynman "Che ti importa di cosa dice la gente?" un capitolo è dedicato alla commissione sul primo incidente allo Shuttle (di cui lo scienziato era presidente) e il sistema informatico della navicella come descritto nel libro è ben diverso (allora non esisteva neppure Linux) e Feynman non cessa di tessere le lodi ai progettisti/programmatori.

@dan: non era un rimprovero nei tuoi confronti, ma solo contro me stesso che non avevo pensato a guardare su Wikipedia.

Unknown ha detto...

sullo shuttle, se non erro hanno sostituito da poco i Sistemi... cmq su forumastronautico.it puoi trovare pane per i tuoi denti, se ti interessano queste tematiche (tra gli iscritti c'è perfino un mars roverdriver!)

cmq, un paio di link:

http://flightlinux.gsfc.nasa.gov/
http://www.linuxjournal.com/article/2186

Dan ha detto...

Per explobot: non preoccuparti, non l'avevo preso come rimprovero. Sul momento manco ci avevo pensato a fare una ricerca per quelle informazioni.

Explobot ha detto...

@INV775/A: Ciao, Grazie per i link, interesanti però su nessuno di essi ho trovato conferma all'utilizzo di Linux come computer di bordo dello Space Shuttle, in ogni caso sono stati la base per interessanti ricerche e purtroppo mi hanno causato un certo sconforto riguardo l'affidabilità di Wikipedia.

Veniamo ai link e ai risultati:

Su forumastronautico.it ho provato a fare ricerche con parole come "linux" e "shuttle" ma di interessante ho trovato solo un thread (http://www.forumastronautico.it/index.php?topic=4443.0) con una foto della cabina dello shuttle in cui l'astronauta fotografato sta utlizzando un portatile IBM ThinkPad con Windows e un thread che invece sembra smentire quanto tu affermi in quanto si parla di sistemi in origini IBM 360 modificati (informazioni che l'autore del post ha ricavato da Wikipedia), però il post mi sembra inattendibile (e quindi anche le informazioni di Wikipedia) perchè associa questi mainframe all'architettura 8086 (impossibile perhè l'8086 è del 78, il primo Shuttle venne consegnato nel 76). Riguardo gli APA-101S qui viene detto qualcosa di più: http://www.gatago.org/nz/comp/22682363.html, sembrerebbe quindi che basati su x86 siano solo i controller dello schermo e non i computer di missione (resta comunque il fatto che l'8086 sia successivo alla consegna del primo Shuttle). Andando sulla versione inglese di Wikipedia invece si parla originariamente di calcolatori IBM AP-101 (sempre di IBM) sostituiti nel 90 da calcolatori AP-101S, in entrambi i casi basati su cpu a 32bit sempre di IBM. (qui http://en.wikipedia.org/wiki/IBM_AP-101 molte info)

Riguardo al link http://flightlinux.gsfc.nasa.gov/ si parla di una versione modificata di Linux ELKS per applicazione spaziali, il progetto sembrerebbe teminato nel 2002, però non sembrerebbe essere mai stato utilizzato sul satellite UoSat-12 per il quale era stato pensato, i due link riportati al sito della NASA sono morti e di non maggiore aiuto è la voce "UoSat-12" su Wikipedia comunque non si tratta certamente di un utilizzo di Linux sullo Shuttle.

http://www.linuxjournal.com/article/2186 invece è un link interessante, perchè sembrerebbe in effetti che in una delle tante missioni dello Space Shuttle, tra il carico pagante ci sia stato anche un esperimento di studenti gestito tramite un PC 486/PC104 basato su Debian (personalmente avrei optato per una soluzione più semplice rinunciando alla compatibilità x86 risparmiando soldi, consumo energetico e spazio), malgrado le molte ricerche non sono risucito a trovare traccia di nessun altro utilizzo di Linux a bordo dello Space Shuttle.

Le conclusione più sensate quindi sono che lo Space Shuttle non utilizza Linux, ma macchine IBM AP-101/AP-101S, in una situazione per un carico pagante il committente ha fatto uso di Linux. In molte altre situazioni della vita di bordo si fa uso di Windows (vedi foto, che lo utilizzino per passare il tempo giocando a 'campo minato'?).

Explobot ha detto...

Dimenticavo, Feynman nel suo libro afferma che la riprogettazione della parte informatica dello Shuttle sarebbe quella che avrebbe tratto maggiori benefici dalle nuove tecnologie, ma era l'unica componente che non valeva la pena di rifare perchè già così funzionava a dovere.

Unknown ha detto...

no no, un attimo: non volevo dire che lo shuttle funzioni solo con linux (impossibile al sol pensiero: non è un OS realtime, se va in crash o c'impiega un decimo di secondo in più ad attivare questo o quel sistema, si rischia di trasformare lo shuttle in una luminosa stella cadente), ma che l'hanno usato.
presumo ad alto livello, come controlli consultazioni o quant'altro...
ma per elementi ad alta criticità usano soluzioni embedded e/o custom...

anc'io avevo sentito quella storia del 8086 ed ero rimasto perplesso...bho, forse NASA ha accesso a certe tecnologie prima del lancio "ufficiale" ? (è una pura ipotesi la mia)

tra l'altro, mi viene anche in mente che M$ è in collaborazione -almeno- con l'esercito americano (non so se con marines o altri corpi) poichè su parecchi sw di simulazione di tattiche che ho visto compare il logo microsoft.
non so se NASA ne ha a che fare;

cmq su STS75 e STS83 era onboard,
però a far cosa non so...

su
http://www.debian.org/News/1997/shuttle1
more info sul linux del 486...

ciao ^_^

Claudio Fe ha detto...

Un articolo, penso ben fatto, sulla questione dei calcolatori usati/utilizzati sullo Space Shuttle.

http://www.vialattea.net/esperti/php/risposta.php?num=924

Andrea Piazza ha detto...

Beh, al 7° posto c'è il kernel Linux. Decisamente meraviglioso.