Home
QNX, quando un crash sarebbe mortale

25 Giugno 2003

QNX, quando un crash sarebbe mortale

di

A quale sistema operativo si affidano reattori nucleari, il controllo del traffico aereo, e altre situazioni in cui un crash semplicemente non è tollerabile?

Siete sul tavolo operatorio, decisi a farvi sistemare la vista con uno di quei fantastici interventi al laser. La macchina che incombe sui vostri occhi spalancati in stile Arancia meccanica è completamente robotizzata: la mano del chirurgo, per queste cose, è troppo imprecisa. Quel laser che può rendervi ciechi o ridarvi dieci decimi è gestito da un sistema operativo che comanda impulsi la cui durata si misura in millisecondi. Che cosa succede se gli capita un crash, o semplicemente un momento di esitazione?

Benvenuti nel mondo dei sistemi operativi estremi, quelli ai quali il crash non è concesso. Abituati come siamo ai frequenti collassi dei computer che usiamo quotidianamente, viene spontaneo pensare che sia nel naturale ordine delle cose che i sistemi operativi vadano in tilt, e che quando non si impallano ogni tanto si fermino a rimuginare prima di rispondere ai comandi. Non è così, e lo potete provare di persona.

Il Terminator del software

Uno dei più affermati sistemi operativi estremi si chiama QNX (si pronuncia “chiù-nics” e fa rima con Unix), ed è il prodotto di due canadesi, Dan Dodge e Gordon Bell. Senza clamori e senza troppa pubblicità, nell’arco di vent’anni hanno incluso del proprio portafoglio clienti società del calibro di Cisco e Siemens e fornito il sistema operativo che gestisce funzioni critiche come la stabilizzazione in curva dei treni TGV, la molatura di lenti costosissime, le macchine per la dialisi, il controllo del traffico aereo e i bracci robotici dello Space Shuttle e della stazione spaziale internazionale. Tutte applicazioni in cui un istante di esitazione è sufficiente a uccidere o causare danni per miliardi.

Questa affidabilità deriva da un’impostazione radicalmente diversa da quella di sistemi operativi più tradizionali. Windows e Linux, per esempio, si basano su un cosiddetto “kernel monolitico”: in altre parole, il cuore del sistema operativo occupa vari megabyte e include anche la gestione dei file, delle periferiche ed eventualmente della grafica. QNX invece esclude queste funzioni dal kernel, producendo un “microkernel” di qualche decina di kilobyte che contiene soltanto il codice che regola il funzionamento di base del sistema operativo.

In un kernel monolitico, un errore o un inceppamento in queste funzioni secondarie può causare il crash di tutto il sistema; in un microkernel no. È un po’ come il Terminator, che continua ad andare avanti anche se perde pezzi. In un impianto Siemens nel Michigan c’è una versione di QNX che gira, in un ambiente di produzione, da tredici anni. Senza errori.

Prove pratiche

Tutto questo è molto bello ma può sembrare abbastanza astratto, dato che difficilmente capita a noi comuni mortali di manovrare bracci robotici nello spazio o di sorvegliare centrali nucleari. Tuttavia le soluzioni di QNX non si limitano a queste applicazioni estreme: sono utilizzabili anche nei normali PC.

La QNX Software Systems, infatti, offre tramite siti come OpenQNX una versione gratuita scaricabile del proprio sistema operativo, battezzata Neutrino, che si può masterizzare per creare un live CD eseguibile, che si inserisce in qualsiasi PC, esegue il rilevamento automatico delle periferiche e permette di connettersi a Internet, con tanto di browser grafico, senza assolutamente toccare il disco rigido. Praticamente, con quel CD in tasca si può usare qualsiasi computer per accedere alla Rete: si infila il disco e si parte, senza “sporcare” il computer ospite e senza lasciare tracce del proprio passaggio, dato che nulla viene scritto sul disco rigido.

Esistono altre soluzioni liveCD, soprattutto sotto Linux, come ad esempio Knoppix e Slackware Live, ma sono molto più avide di risorse e lente a partire. Il live CD di QNX, fra l’altro, è utilissimo per la diagnostica e quando il sistema operativo nativo del computer è in panne: basta inserire il disco masterizzato e si riparte quanto basta per collegarsi a Internet e recuperare dal disco rigido i propri dati.

Va da sé che un live CD è assolutamente immune a qualsiasi virus, dato che per definizione non è possibile scrivere su un CD se non è infilato in un masterizzatore. Tuttavia Neutrino non è del tutto inarrestabile: una delle mie pagine Web di test l’ha messo seriamente in crisi, pur senza mandarlo in crash.

QNX può anche essere installato sul disco rigido, e ne esiste anche una versione in grado di convivere in dual-boot con Windows (solo la versione 98/ME) senza ripartizionare il disco. Sta tutto in ventotto megabyte. Non di RAM: di disco rigido. È un’ottima dimostrazione di quanto sia elefantiaco il codice degli attuali sistemi operativi.

Cattedrale nel deserto?

QNX è quindi comodo come soluzione per le emergenze, ma ci si può anche lavorare seriamente. Le applicazioni non mancano, grazie al lavoro delle comunità di appassionati: in Rete trovate i browser Mozilla e Opera con i relativi client grafici per newsgroup e posta, il word processor Abiword,utility celeberrime come sendmail, VNC, xpdf, pine, server ftp, client e server SMB e persino giochi ed emulatori per videogame Nintendo. Del resto, come avrete intuito dai nomi delle utility citate, QNX è un parente stretto di Unix, per cui il porting delle applicazioni da Linux, per esempio, è abbastanza facile.

Ciliegina sulla torta, è disponibile anche in una versione per il palmare iPAQ di Compaq. QNX conta infatti di diventare un sistema operativo per i palmari e i cellulari di fascia alta, che come ben sappiamo hanno una sgradita tendenza ad andare in crash quasi quanto i PC.

L’applicazione ideale di QNX in un PC è nei portatili. Una delle lagnanze più frequenti di chi usa un laptop è il tempo di avvio del sistema operativo: non importa se è Windows o Linux, ci mette una vita e mezza a partire. Tenere il computer spento e accenderlo per prendere rapidamente appunti è semplicemente impensabile: ora che ha finito di avviarsi, vi siete già dimenticati quello che volevate scrivere. Tenere il PC acceso in standby non è fattibile, perché la batteria schiatta in fretta. Metterlo in ibernazione è peggio che andar di notte: con la fame di RAM dei sistemi operativi attuali, è necessario scrivere su disco mezzo gigabyte di dati prima di spegnere e rileggerli prima di ripartire. Tanto vale riaccendere.

QNX, invece, grazie alle sue ridottissime dimensioni si carica in meno di un minuto con qualsiasi laptop recente, ed è una soluzione ultrasicura per la navigazione in Rete e per la creazione di un server ftp indistruttibile. Non ha bisogno di un antivirus: a parte l’intrinseca sicurezza derivante dal retaggio Unix, chi volete che scriva un virus per un sistema operativo di nicchia? Se poi usate il live CD, non c’è proprio verso di farsi infettare online.

Provare per credere

Insomma, se avete un vecchio PC il cui disco rigido è andato in fumo e volete recuperarlo come terminale grafico, se volete andare online ovunque e avere un PC che parte in un istante, o semplicemente volete stupire amici e colleghi con qualcosa di insolito, provate QNX. È un’esperienza molto educativa: fa capire quanta strada abbiano da fare gli altri sistemi operativi prima di arrivare alla stabilità che dovrebbero avere.

Ma mi raccomando, attenzione al portafogli: QNX Neutrino è gratuito per uso non commerciale, ma le versioni per uso professionale partono da 4295 dollari. La qualità si paga.

L'autore

  • Paolo Attivissimo
    Paolo Attivissimo (non è uno pseudonimo) è nato nel 1963 a York, Inghilterra. Ha vissuto a lungo in Italia e ora oscilla per lavoro fra Italia, Lussemburgo e Inghilterra. E' autore di numerosi bestseller Apogeo e editor del sito www.attivissimo.net.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.