Con l’uscita sul mercato di Windows 7, in rete circolano già comunicati, indiscrezioni o semplici voci di corridoio su come saranno i prossimi sistemi operativi di Redmond.
Già da tempo si parla di Windows 8, girano indiscrezioni su un possibile Windows 9, ma da Microsoft Research spiccano in particolar modo i nomi dei progetti di Barrelfish, e diSingularity.
Proprio quest’ultimo, potrebbe segnare il distacco di Microsoft dal passato, in vista di un rinnovamento più profondo.
I sistemi operativi che utilizziamo oggi, come Windows, Mac OS, Unix, Linux,… prendono tutti spunto dal comune progenitore Multics, un sistema operativo della metà degli anni sessanta.
Singularity di fatto viene presentato come una “concept OS, un banco di lavoro per testare nuovi paradigmi per i quali applicazioni e sistemi operativi possano interagire tra di loro.
Esso è scritto interamente in C#, e questo elimina molti dei problemi di fondo come il “buffer overrun”, legati a C, C++ o altri linguaggi di programmazione più datati.
L’obiettivo principale di Singularity è la “dependability”, ovvero l’indipendenza dei suoi processi da eventuali errori che potrebbero pregiudicarne il funzionamento o più comunemente provocare un crash.
Questo lo si ottiene tramite un modello denominato SIP (software isolated process) che consente di isolare i processi in caso di errore, un po’ come accade negli attuali sistemi di virtualizzazione.
Dal progetto di Singularity, ormai attivo da 5 anni, hanno preso il via i progetti di Midori e Helios, due nuovi SO totalmente svincolati dagli attuali sistemi Windows.
Di Midori poco si conosce, mentre su Helios i ricercatori Microsoft hanno da poco pubblicato un PDF che ne illustra l’architettura e i punti di forza.
La principale innovazione di Helios consiste nei “kernel satelliti”, ovvero astrazioni del sistema operativo da esportare attraverso hardware sottostanti differenti, diverse CPU, diversi dispositivi di I/O, che fino al giorno d’oggi hanno per lo più avuto specifiche comuni. Questi kernel satelliti andranno a far parte di un’architettura denominata “NUMA”, ovvero set di CPU e memorie, ciascuno gestito dal rispettivo kernel satellite, indipendente dagli altri kernel e completamente svincolato dal tipo di hardware utilizzato.
Tutto ciò rende l’architettura NUMA particolarmente scalabile e adatta ai sistemi multiprocessore.
Parallelamente va avanti il progetto Barrelfish, definito “complementare” e non “alternativo” a Helios proprio per come entrambi i sistemi si rapportano con l’hardware sottostante. Il primo adotta un approccio “database-like”, più classico, per la catalogazione di specifiche informazioni di basso livello sull’hardware utilizzato, il secondo, come abbiamo visto, ne rimane invece completamente svincolato.