Windows 7 – la scelta del sviluppo
Kernel
Agli inizi dello sviluppo di Windows Vista era previsto che questo avrebbe portato una completa riscrittura del codice di Windows, attraverso un uso intensivo della tecnologia Microsoft .NET.
A metà circa dello sviluppo di Windows Vista, il team si “spezzò” sostanzialmente in due gruppi, in quanto alcuni programmatori avrebbero voluto che già tale sistema venisse sviluppato solo con tecnologia .NET lasciando ad un emulatore il compito di mantenere la retrocompatibilità con le vecchie applicazioni, mentre altri invece, compreso l’allora capo dello sviluppo, ritenevano che tale strategia fosse prematura e troppo rischiosa, preferendo mantenere una retrocompatibilità nativa.
Venne comunque inclusa una nuova versione del Microsoft .NET Framework, portando sull’architettura di Windows NT le funzionalità avanzate che sarebbero dovute essere alla base di Longhorn, come Windows Presentation Foundation (Avalon) e Windows Communication Foundation (Indigo). WinFS venne invece scartato e sostituito da un sistema di indicizzazione e di ricerca, Windows Search.
Windows 7 si basa dal punto di vista tecnico su Windows Vista SP1 (tanto che la maggior parte dei driver per Vista continua a funzionare su 7), ma sono stati introdotti numerosi miglioramenti dal punto di vista delle prestazioni e dell’esperienza utente, traendo però beneficio dai miglioramenti tecnici di Windows Vista en:Technical features new to Windows Vista.
Il kernel di Windows 7 è stato denominato Windows 6.1 perché è una evoluzione di Windows 6.0 presente in Windows Vista infatti porta con sé numerose ottimizzazioni, soprattutto sul piano delle performance e della suddivisione dei compiti tra i vari livelli del sistema, che è ora più flessibile ed efficiente ma non è una versione successiva.
Virtualizzazione delle applicazioni
Era previsto inoltre che il forte orientamento alla virtualizzazione sarebbe emerso nella gestione delle applicazioni; al momento dell’installazione, esse non si sarebbero più integrate in maniera così profonda – come fanno quelle attuali – con il sistema operativo, ma sarebbero rimaste confinate all’interno di specifici “layer di astrazione”, pensati come dei “tramiti” tra l’applicazione e il sistema operativo stesso. Non si tratta di un concetto completamente nuovo, esistono infatti già ora diversi programmi di virtualizzazione per Windows XP in grado proprio di virtualizzare le applicazioni (un esempio gratuito è costituito da Altiris Software Virtualization Solution); in sostanza il programma al momento dell’installazione di una nuova applicazione crea un layer dedicato, che “intercetta” tutte le chiamate al sistema, comprese la creazione di file di libreria e le nuove voci di registro, e le trasmette in maniera virtuale al sistema operativo, agendo da filtro tra esso e l’applicazione stessa. Al momento del funzionamento, tutte le chiamate da parte dell’applicazione verso componenti del sistema operativo, vengono ricevute dal software di virtualizzazione e poi ritrasmesse al kernel.
Secondo questo approccio (che rallenterebbe l’esecuzione in maniera non superiore all’1%) nel caso in cui l’applicazione dovesse produrre malfunzionamenti ed essere rimossa, sarebbe sufficiente cancellare il layer che la contiene, eliminando tutte le tracce dell’applicazione stessa nel sistema e impedendo quindi potenziali conflitti. Inoltre, dato che ogni layer è indipendente dagli altri, ogni applicazione funziona come se fosse l’unica presente sul sistema, offrendo quindi anche la possibilità di disattivare selettivamente (e temporaneamente) certi layer in modo da poter far girare versioni diverse delle stesse applicazioni, ad esempio Microsoft Office, sullo stesso sistema senza generare conflitti come accade invece nell’approccio tradizionale.
I vantaggi di queste tecnologie dovevano, nell’intenzione iniziale, essere integrati direttamente nel kernel Windows, con ovvi benefici in termini di installazione, e pulizia del sistema operativo. Tutti questi annunci avevano lasciato sperare che Windows 7 avrebbe rappresentato l’occasione di installare un sistema operativo Windows e non doverlo mai più re-installare.
Scelte definitive
A fine maggio 2008, Microsoft ha affermato che il kernel di Windows 7 continuerà ad essere basato su uno derivato da quello di Windows Server 2008 e Windows Vista (Service Pack 1) confutando (almeno per il momento) le voci di corridoio che davano per certa la rivoluzione di questo aspetto del sistema operativo. Ecco in proposito quanto affermato da Steven Sinofsky:
« Il punto focale è che il kernel di Windows Server 2008 è un’evoluzione di quello di Windows Vista e, successivamente, Windows 7 sarà basato su un’ulteriore evoluzione di tale kernel. »( Steven Sinofsky, vice presidente senior del Microsoft Windows e Windows Live Engineering Group)
Tra i vantaggi di tale approccio, rientrano i requisiti hardware, molto simili a quelli di Windows Vista, e la perfetta compatibilità dei driver sviluppati per Vista, con il nuovo sistema operativo. Mantenendo il kernel di Windows Vista, Microsoft ha inoltre potuto concentrarsi maggiormente sull’esperienza degli utenti, creando un sistema più ricco di funzionalità per l’utente, a differenza di Vista, che ha invece portato miglioramenti maggiormente tecnici, apprezzabili quindi solo da sviluppatori e amministratori.
In quest’ultimo annuncio da parte di Microsoft non si è fatto più accenno allo sviluppo di MinWin, che presumibilmente rimane in sviluppo, ma probabilmente rimandato a versioni successive di Windows. In effetti, lo sviluppo di un nuovo kernel è un’operazione delicata e complessa, e il poco tempo previsto per lo sviluppo di Windows 7, ha probabilmente fatto slittare il debutto di tale tecnologia; inoltre, la completa compatibilità dei driver sviluppati per Windows Vista con il nuovo sistema operativo dovrebbe, almeno nelle intenzioni di Microsoft, accontentare tutti quegli utenti che hanno criticato proprio quest’aspetto nel predecessore di Windows 7, Vista, il quale si è dimostrato discretamente ostico da configurare in presenza di hardware il cui produttore non abbia rilasciato dei driver specificatamente compatibili con il nuovo sistema operativo.
Ci sono state delle controversie a riguardo del nome del nuovo kernel, in quanto la dicitura che appare sulle prime versioni di prova è Windows 6.1. Molti siti e blog avevano dato per certo che fosse il nome del kernel, ma Microsoft stessa, in seguito, ne ha smentito la dicitura e dicendo che il kernel di Windows 7 è Windows 7.0. La motivazione data è per problemi di compatibilità : molte applicazioni e driver davano problemi alla dicitura Windows 7.0.












[...] Windows 7 – la scelta del sviluppo [...]