I sistemi operativi del futuro | |
Come saranno i sistemi operativi fra dieci anni?
Difficile immaginarlo, anche se una caratteristica sembra certa: i
futuri sistemi operativi saranno sempre più distribuiti, intelligenti
(risolveranno in automatico le situazioni critiche) e molto più
"collaborativi" con le applicazioni. In verità, questo
avveniristico scenario incomincia ad intravvedersi già adesso: sul
mercato stanno infatti comparendo i primi sistemi, come IBM eLiza, che
possono essere considerati, per certi aspetti, una significativa
anteprima. L'idea di base del paradigma dei sistemi distribuiti è semplice: in sintesi, un sistema distribuito può essere definito come una collezione di macchine connesse tramite una rete, ma che lavorano come un uni-processore virtuale: quindi, nonostante non abbiano memoria condivisa, appaiono agli utenti come singoli calcolatori. Questa idea non deve essere confusa con l'attuale modello che prevede l'esistenza di CPU multiple all'interno del sistema, perché l'obiettivo finale è un altro: creare nella mente degli utenti l'illusione che l'intera rete di calcolatori sia un singola workstation e non una collezione di macchine distinte. Spesso accade nel mondo dell'Information Technology che quanto più semplice è un'idea tanto più complessa sia la sua concretizzazione: questa regola non scritta, ma ben nota a chi vive e opera in questo dinamico settore, si applica anche ai sistemi distribuiti; infatti, per ottenere quello che gli esperti chiamano "trasparenza" è necessario utilizzare sofisticati e complessi algoritmi ancora non completamente definiti. I progetti in cantiere dei grandi produttori di software sono molto ambiziosi: ad esempio, Microsoft immagina un futuro in cui lo stereotipo dei sistemi distribuiti sarà fortemente estremizzato. Il big di Redmond ha creato a tale scopo un team, il Farsite project, nato appositamente per effettuare ricerche mirate a definire un'infrastruttura tecnologica che possa rendere questo paradigma concreto e reale. L'obiettivo del Farsite project è in realtà molto più ampio: si punta a realizzare un sistema distribuito in grado di configurarsi autonomamente e di risultare inoppugnabile in termini di sicurezza. Lo scenario target ipotizzato dagli esperti di Farsite è quello di un'organizzazione nel 2006 con 100.000 computer, 10 bilioni di files e 10 petabyte (10.000 terabyte) di dati. In questa ipotetica organizzazione sarà completamente superato l'attuale modello Client/Server: il sistema nella sua globalità apparirà agli occhi di un ipotetico utente come un singolo file server. Le alte affidabilità e sicurezza saranno assicurate dal fatto che i file viaggeranno nella rete crittografati e firmati digitalmente e parecchie repliche saranno presenti in diversi cluster. Tutto questo avverrà autonomamente senza il diretto intervento degli utenti, che, anzi, saranno inconsapevoli di tutto ciò che avviene nel cosiddetto "strato nascosto". La visione del futuro di Microsoft non è, però, condivisa da tutti: ad esempio, il progetto Odyssey dell'università america di Carnegie Mellon punta a rendere i sistemi operativi molto più mobili. Il Professore di computer science Mahadev Satyanarayanan, un responsabile del progetto Odyssey, per il futuro immagina un sistema operativo orientato alle applicazioni in grado di gestire dinamicamente le risorse come la network bandwidth o le batterie. Lo scenario proposto dal Professore vede, ad esempio, un ipotetico utente che sta visionando un video full-motion a colori mediante un futuribile dispositivo wireless ad alta banda. Se durante la visione del filmato l'utente passa attraverso una zona d'ombra, il sistema operativo rileva questo vento e comunica all'applicazione la momentanea riduzione della banda disponibile (ad esempio da 2 Mbit/sec a 100 Kbit/sec). L'applicazione che possiede la nozione di "bassa fedeltà della visione" risponde all'evento abbassando il frame-rate a 10 FPS (frame per second) e passando alla visualizzazione in bianco e nero. In questo modo Satyanarayanan cerca di descrivere il concetto di "relazione collaborativa" tra il sistema operativo, che monitora costantemente le risorse, e le applicazioni che si adattano dinamicamente alle risorse disponibili in un determinato istante. Un'altra visione sul futuro dei sistemi operativi viene da IBM. Big Blue punta moltissimo sulla scalabilità e a tale fine sta provocando una forte estensione di Linux (il noto sistema operativo Open Source) per rendere possibile il controllo di computer equipaggiati con 65.000 processori. Le migliorie apportate a Linux costituiscono solo una parte del progetto Blue Gene, che punta alla creazione di un supercomputer in grado di eseguire sino a 1 quadrilione di operazione floating-point al secondo, che è la potenza di calcolo necessaria per risolvere complessi problemi (lo studio della piegatura delle proteine, per esempio). In Blue Gene saranno inoltre implementati molti avanzati concetti sviluppati nell'IBM Autonomic Computing Iniziative, tra cui le caratteristiche di auto-ottimizzazione, auto-configurazione, auto-cura e auto-protezione: "proprio come l'autonomo sistema nervoso del corpo umano" ha dichiarato Bill Pulleyblank, direttore del IBM Exploratory Server Systems Research. [GP] |