lunedì 15 settembre 2008

Virtualizzazione x86


La virtualizzazione X86 è il metodo con cui sistemi operativi per piattaforma x86 ospiti vengono eseguiti nell'ambito di un altro del sistema operativo x86 ospitante, mediante nessuna o lieve modifica del sistema operativo ospitante.
I sistemi operativi ospiti vengono installati e eseguiti in "gabbie" chiamate virtual machine (o macchine virtuali), una macchina virtuale è un'implementazione software di un computer.

I sistemi di macchine virtuali (talvolta chiamati macchine virtuali hardware) consentono la condivisione della macchina fisica sottostante risorse tra le varie macchine virtuali, ciascuno in esecuzione il proprio sistema operativo. Il software che fornisce il livello di virtualizzazione è chiamato un virtual machine monitor o Hypervisor. Un Hypervisor può girare su hardware nudo ovvero senza un sistema operativo Windows o qualche distribuzione Linux (Tipo 1 o VM nativa) o su di un sistema operativo (di tipo 2 o VM ospitate).
L'architettura dei processori x86 non ha originariamente le capacità di soddisfare i requisiti necessari per virtualizzare un sistema operativo. Per questo motivo è stato molto difficile l'introduzione della tecnologia su piattaforme con processori della famiglia x86. Nel 2005 e nel 2006, sono state create delle estensioni all'architettura x86 da parte dei principali produttori di CPU Intel e AMD al fine di risolvere questa ed altre difficoltà relative alla virtualizzazione.
I vantaggi della virtualizzazione sono: più sistemi operativi possono coesistere sullo stesso computer, in forte isolamento gli uni dagli altri, la macchina virtuale può fornire un set di istruzioni architettura (ISA) che è diverso da quello della macchina reale (computer).

VM multiple, le quali eseguono un dato sistema operativo (il cosiddetto sistema operativo guest) sono frequentemente utilizzate per il consolidamento server (server consolidation), nelle quali al fine di evitare interferenze i vari servizi e processi sulle virtual machine sono in esecuzione protetta sulle VM invece che sulla macchina fisica. Questo tipo di utilizzo è spesso chiamato qualità del servizio isolamento (isolamento QoS).
I sistemi operativi guest non devono essere tutti uguali, il che rende possibile eseguire diversi sistemi operativi sullo stesso computer (ad esempio Microsoft Windows e Linux, o versioni più vecchie di un sistema operativo con lo scopo di poter usare il software non è ancora stato riscritto per sistemi operativi più recenti).
Un altro utilizzo è quello di utilizzare un macchina virtuale come gabbia per provare programmi non stabili o in fase di prova; in questo modo si possono evitare problemi in caso di mal funzionamenti e risolvere il tutto nei casi più gravi eliminando la macchina virtuale o ripristinarne uno snapshot.

Nessun commento: