Tutte le grandi case di software e hardware hanno delle stanze, a volte degli
scantinati, dispersi in un dedalo di corridoi sotterranei, in cui si accatastano i
progetti nati per rivoluzionare il mercato delle nuove tecnologie. Letteralmente dei
frammenti di futuro o di possibili futuri che ristagnano un po nel presente prima di
emergere o di scivolare in un passato senza ritorno. E in stanze di questo tipo che
si stanno sperimentando le strutture che sosterranno le reti del futuro.
Probabilmente in una
di queste stanze è stato scritto il documento che possiamo trovare nel sito della
Microsoft e che contiene unaffermazione che mai ci saremmo aspettati. Noi
crediamo che è tempo di riesaminare il ruolo del sistema operativo nel computing. Sentire
unaffermazione di questo tipo dalla Microsoft suona come uneresia. Si tratta
tuttavia di uneresia salutare se non addirittura necessaria. Ma perché è tempo di
riesaminare il ruolo del sistema operativo nel computing? La risposta la si può
sintetizzare così: perché la Rete è di più del pc.
Per spiegare ciò che sta
succedendo alla Microsoft e cosa probabilmente succederà allinterno dei nostri
computer nei prossimi anni, occorrono alcune premesse. La prima riguarda il concetto
stesso di sistema operativo: un sistema operativo è lambiente che rende possibile
il funzionamento delle applicazioni; finora questo ambiente è stato concepito per una
macchina che doveva lavorare isolatamente e quindi con possibilità ben definite. Oggi lo
sviluppo delle tecnologie di networking sta rendendo questa concezione del sistema
operativo un po troppo angusta. La domanda infatti è: se io posso collegarmi con il
più potente dei mainframe e ottenere tutti i dati che mi servono da lì cosa me ne faccio
di un sistema operativo, anche molto complesso, ma che mi permette di usare solo le
risorse del mio computer da scrivania? O anche: perché usare il mio computer quando la
Rete, facendo collaborare molti computer come il mio, può fornirmi un servizio
enormemente più efficiente?
La domanda emerse già qualche anno fa quando Sun e Oracle
(nel 1996) lanciarono lidea di un network computer, una scatola con pochissime
funzionalità che però era in grado di fare tutto semplicemente richiedendo alla Rete di
volta in volta il tipo di servizio di cui aveva bisogno. Quando lutente aveva
bisogno, ad esempio, di un programma di videoscrittura si collegava a un sito che gli
forniva quel particolare servizio e scriveva, senza acquistare e installare alcun
software. Lidea era interessante ma non ebbe grande successo, probabilmente a causa
dei noti problemi di lentezza della Rete. A distanza di due anni la Sun e la Microsoft
riprendono le fila di quel discorso con due progetti chiamati Jini e Millennium.
Si tratta di espandere il concetto di sistema
operativo legandolo in modo più netto alle possibilità della Rete. Tanto il progetto
della Sun quanto quello della Microsoft mirano, infatti, a costruire sistemi che
mascherino la complessità strutturale del network e che, nel contempo, sappiano trarre il
massimo vantaggio da tutte le sue risorse (spazio su disco, processori, memoria,
periferiche): il tutto costruito attorno ad uninterfaccia di uso intuivo. Qui
finiscono le somiglianze: Jini e Millennium condividono questi obiettivi ma seguono strade
molto diverse per raggiungerli.
Jini dovrebbe costituire lossatura di una rete in grado di sintonizzarsi
automaticamente e di connettere insieme qualunque strumento elettronico collegato ad essa,
stampanti, hard disk, persino un forno o un telefono cellulare. Connettere
dellhardware a una rete solitamente richiede linstallazione di particolari
driver e un certo sistema di cablaggio perché è necessario che gli strumenti comunichino
nei due sensi per segnalare, ad esempio, un errore avvenuto nel corso dellesecuzione
di un processo.
Alla Sun non spiegano i dettagli ma sostengono che Jini sia in grado di inviare questi
segnali senza alcun tipo di driver specifico. Basterà collegare alla Rete (loro dicono
"plug", letteralmente attaccare la spina) un nuovo strumento per renderlo
automaticamente disponibile per tutta la Rete. Plug and work.
Billy Joy, il
visionario inventore di Jini, in una intervista contenuta nel numero di agosto di Wired ha
dichiarato: "ci siamo presi una vacanza dalla legge di Moore (la legge per la quale
ogni 18 mesi raddoppia la velocità di calcolo di un processore) che sta diventando la
scusa preferita dai programmatori per scrivere software sempre peggiori coperti dalla
velocità delle macchine".
Millennium project punta, invece, a costruire sistemi distribuiti. Cosa sono? Sono
sistemi capaci di suddividere unapplicazione complessa in un certo numero di
sottoapplicazioni più semplici che vengono poi di volta in volta riassegnate
allinterno della Rete. Lo strumento che ne risulterà dovrebbe gestire macchine e
connessioni di rete allo stesso modo in cui un sistema operativo gestisce memoria e
settori di disco.
Millennium ha sviluppato una serie di prototipi che lavorano in questa
direzione: il primo è una Java Virtual Machine chiamata Borg (omaggio a Star Trek) che è
in grado di far apparire a unapplicazione Java un insieme di computer come un
singolo computer molto più potente. In questo modo quellapplicazione è in grado di
usare tutte le risorse dellinsieme (tutte le Cpu, tutta la memoria, tutti i
dischi...) senza considerare la loro posizione fisica.
Il secondo prototipo è stato battezzato Coign che significa pietra angolare o chiave
di volta. Si tratta di un sistema di partizionamento distribuito automatico cioè un
sistema che automaticamente prende unapplicazione la suddivide e la distribuisce tra
una serie di componenti diverse. Ad esempio affida a tre processori calcoli diversi e a un
disco il salvataggio dei dati.
La differenza fondamentale sta dunque tutta nel ruolo assegnato alle varie periferiche
connesse alla Rete. Jini non fa altro che sfruttare le capacità di ogni periferica nella
sua singolarità per fornire il servizio più adeguato allutente. Millennium prevede,
invece, un sistema in grado di riconfigurarsi di volta in volta per creare a livello
software la macchina più conforme alle esigenze dellutente. Jini, quindi, metterà
direttamente in contatto il fisico sperimentale con il più potente dei mainframe
disponibili in Rete mentre Millennium costruirà appositamente per lui una macchina
virtuale in grado di compiere il tipo di calcoli di cui il fisico necessita. O, di
riflesso, Jini permetterà di spegnere il forno di casa con il telefono cellulare mentre
Millennium difficilmente sarà in grado di farlo. Staremo a vedere. |