Xen
Da Wikipedia, l'enciclopedia libera.
Xen è un monitor di macchine virtuali Open Source rilasciato sotto licenza GPL per piattaforma x86 e compatibili (al momento sono in corso dei port per x86-64 e per IA-64) sviluppato presso il Computer Laboratory dell'Università di Cambridge.
Xen consente una completa emulazione hardware senza andare a ridurre in modo drastico le risorse del sistema, emulando sistemi operativi diversi tra loro.
Indice |
[modifica] Paravirtualizzazione
Contrariamente ad altri software di virtualizzazione, Xen non mira a creare un'emulazione dell'hardware di un generico computer x86, ma piuttosto di regolare e controllare l'accesso alle risorse fisiche della macchina da parte delle varie istanze delle macchine virtuali; questo approccio prende il nome di paravirtualizzazione ed è simile a ciò che si utilizza nel campo dei mainframe e dei supercomputer, come ad esempio nei sistemi operativi VM/CMS e OS/360 di IBM, in cui il monitor di macchine virtuali (in gergo hypervisor) è implementato direttamente nell'hardware dei processori. Questo tipo di approccio consente di ottenere un decadimento delle prestazioni minimo rispetto all'esecuzione non-virtualizzata, poiché le istruzioni provenienti dalle macchine virtuali vengono eseguite quasi tutte direttamente sul processore, senza l'intervento di un sistema operativo che si ponga tra la macchina virtuale e le risorse fisiche. Tuttavia questo comporta che il sistema operativo destinato a girare sulla macchina virtuale (guest) debba essere portato per essere reso compatibile con Xen, in quanto alcune chiamate di sistema del kernel non sarebbero possibili. Invece non è necessario ricompilare le applicazioni, in quanto i kernel Xenizzati espongono la stessa Application binary interface (ABI).
[modifica] Virtualizzazione
La virtualizzazione è diventata la linea guida per lo sviluppo di nuovi processori nell’ottica del risparmio energetico e nella necessità di aumentare le misure della sicurezza es. VMware Workstation, Virtual PC, e VirtualBox. La macchina virtuale o virtual machine nasce proprio dalla necessità di avere elevati standard di sicurezza su macchine che contengono dati sensibili. Intel ha contribuito al progetto Xen introducendo il supporto per la sua tecnologia VT-X (conosciuta con il nome di Vanderpool): se eseguito su sistemi dotati di questa caratteristica, Xen permette di creare delle macchine virtuali che consentono ai sistemi operativi ivi installati di girare senza modifiche. Una tecnologia simile, denominata AMD-V o Pacifica, sviluppata da AMD consente di ottenere lo stesso risultato con sistemi basati su processori AMD.
[modifica] Sistemi operativi supportati
Per quanto riguarda il supporto ai sistemi operativi, è innanzitutto necessario fare una distinzione tra il dominio0 (o dominio privilegiato) ed il dominioU (o dominio non privilegiato). Il primo rappresenta l'istanza di macchina virtuale creata direttamente dall'hypervisor al momento del boot. Da esso possono essere fatte partire successivamente le altre macchine virtuali. Tutte le altre istanze di macchina virtuale in esecuzione sono dominioU (notare che viene creato un distinto dominio per ogni istanza).
A distanza di un anno dalla versione 2.0, fa la sua comparsa nel mercato la versione 3.0, in grado di supportare sistemi guest a 32 vie, con la possibilità di aggiungere o rimuovere in tempo reale le CPU, consentendo di ottimizzare i carichi di lavoro ridistribuendoli tra i sistemi meno "occupati". Vi è la possibilità di indirizzare più di 4 gb sulle cpu a 32 bit e vi è il supporto delle x86-64 (AMD) e dell' AGP. In seguito escono le versioni 3.1 e 3.2, e ciascuna introduce nuove caratteristiche e amplia la gamma dei sistemi operativi supportati.
Attualmente, l'ultima versione disponibile è la 3.3; ecco quali sono i sistemi operativi supportati da quest'ultima versione:
Dominio U senza estensioni VT-X o AMD-V
Dominio U con estensioni VT-X o AMD-V
- Potenzialmente ogni sistema operativo che supporta l'architettura virtuale fornita da Xen: quindi, Windows XP, Windows 2003, Windows Vista, Windows 2008; Solaris; versioni non modificate di Linux, e BSD.
Ci sono notizie aneddotiche di installazioni di Windows XP "xenizzato" su Xen: tale risultato sarebbe stato possibile nell'ambito di un programma di ricerca accademico, nell'ambito del quale Microsoft rendeva disponibile il codice sorgente di Windows stesso, e quindi permetteva la sua modifica al fine di rendere Windows compatibile con Xen.

