13 novembre 2026
Il backup che non era una copia
Apollo 11 volò con due sistemi di guida costruiti su principi diversi, ed ebbe bisogno di entrambi. Ariane 5 volò con due sistemi identici, e un solo guasto li fermò entrambi. Quella differenza ha un nome, e NoWayOS è costruito per stare dal lato giusto.
In questa pagina
Tutti sanno che bisogna avere un backup. Meno persone fanno la scomoda domanda successiva: un backup di che cosa, esattamente?
Cinque allarmi
Il 20 luglio 1969 il modulo lunare di Apollo 11 era a pochi minuti dalla superficie della Luna quando il suo computer di guida lanciò un allarme su cui l'equipaggio dovette chiedere al controllo missione. Poi un altro. Cinque in tutto, nell'ultimo tratto della discesa.
Il computer era sovraccarico. Ciò che fece subito dopo è uno dei grandi capolavori di ingegneria di questa storia: ogni volta si riavviò, lasciò cadere il lavoro che poteva aspettare e riprese subito quello che non poteva. L'allunaggio proseguì.
Questa è la parte che raccontano tutti. La parte che vale la pena raccontare dopo accadde il giorno seguente.
Il secondo sistema
Il modulo lunare portava un secondo sistema di guida, e non era una copia di riserva del primo. Lo costruì un'altra azienda, su un altro principio. Il sistema principale manteneva l'orientamento con una piattaforma che ruotava liberamente su sospensioni cardaniche. Il secondo non aveva alcuna sospensione cardanica: i suoi sensori erano imbullonati direttamente al veicolo, e stabiliva dove fosse l'alto con l'aritmetica.
Era lì per riportare l'equipaggio in orbita se il sistema principale si fosse mai fermato. Durante l'allunaggio non fu chiamato in causa.
Poi, durante la risalita per agganciarsi al modulo di comando, una serie di manovre portò la piattaforma del sistema principale nell'unica posizione che una piattaforma cardanica non sa gestire, e questo perse il suo riferimento di assetto. L'equipaggio passò al secondo sistema per tenere stabile il veicolo, e si agganciò.
Il secondo sistema non avrebbe potuto guastarsi allo stesso modo. Non aveva quel pezzo.
Due uguali
Ora l'altra storia. Nel 1996 il primo Ariane 5 decollò con due unità di riferimento inerziale a dirgli da che parte stava puntando: una in funzione, una di riserva. Erano identiche, fino al software.
Dopo trentasette secondi, un numero dentro quel software divenne troppo grande per lo spazio che gli era riservato. L'unità di riserva si fermò. L'unità in funzione, che eseguiva lo stesso codice sullo stesso volo, si fermò anch'essa. Il rapporto della commissione d'inchiesta è pubblico, ed è netto: non c'era nulla a cui passare, perché il backup aveva già fatto la stessa fine.
Due copie. Un guasto. Niente più.
Come lo chiamano gli ingegneri
Un guasto che mette fuori uso insieme un sistema e la sua riserva è un guasto di causa comune. La difesa è la ridondanza diversificata: un secondo sistema costruito in modo abbastanza diverso che ciò che ferma il primo non si trovi nel secondo.
Lo Space Shuttle volava così. Quattro dei suoi computer di volo eseguivano il software di un'azienda; il quinto eseguiva software scritto separatamente da un'altra. Quattro copie proteggono da un computer che si rompe. Non proteggono da un programma sbagliato, perché lo stanno eseguendo tutti e quattro.
Non è gratis. Il primo lancio dello Shuttle fu annullato quando il quinto computer e gli altri quattro non riuscirono a mettersi d'accordo sull'ora. Due progetti costano più lavoro di uno, e bisogna farli incontrare.
Dove entra in gioco NoWayOS
La maggior parte dei dispositivi dedicati esegue oggi uno fra pochissimi sistemi operativi generici. E così i loro backup. Quando salta fuori un difetto in un motore di browser, in un desktop o in un kernel da decine di milioni di righe, o quando esce un aggiornamento difettoso, salta fuori ovunque giri quel software, lo stesso giorno.
Un dispositivo NoWayOS è diverso al suo interno. Il suo kernel è seL4, circa 10.000 righe. Tutto ciò che è nostro al di sopra è scritto in Rust. Non ha motore di browser, né desktop, né shell, quindi un difetto in uno di questi non c'è.
Questo significa che NoWayOS non deve sostituire ciò che Lei già usa per essere utile. Può stargli accanto: un secondo modo di svolgere un compito essenziale, costruito su un altro principio.
Che cosa non fa
La diversità ha dei limiti, e preferiamo che li senta da noi.
Dà a un dispositivo NoWayOS guasti diversi, non nessun guasto. Non fa nulla per ciò che due sistemi condividono: l'alimentazione, la rete, i servizi alle loro spalle, o un errore su ciò che il compito doveva essere. E alcune delle parti open source di NoWayOS sono usate anche in altro software, ed è per questo che ogni immagine elenca ogni componente che contiene, così che Lei possa leggere che cosa ha in comune con il sistema accanto.
NoWayOS è in sviluppo, quindi questo è un ruolo per cui è progettato, non uno che abbia già ricoperto. La pagina Sicurezza dice su che cosa poggia.
Gli ingegneri di Apollo non portarono un secondo sistema perché si aspettavano che il primo si guastasse. Lo portarono perché non potevano dimostrare che non si sarebbe guastato, e fecero in modo che ciò che avesse fermato il primo non trovasse nulla di familiare nel secondo.