Virtualizzazione X86
Da Wikipedia, l'enciclopedia libera.
In informatica la virtualizzazione x86 consiste nella creazione di una versione virtuale di una risorsa normalmente fornita fisicamente e appartenente a un sistema ad architettura x86. Qualunque risorsa hardware o software può essere virtualizzata: sistemi operativi, memoria, spazio disco. Ad oggi la virtualizzazione può essere effettuata a livello software e a livello hardware. Tra gli impieghi della virtualizzazione il più utilizzato è probabilmente la virtualizzazione di sistemi operativi. Via software è necessario un sistema operativo in esecuzione (host) che esegua un software di virtualizzazione che crei ad alto livello le varie virtual machine (guest) che girano come se fossero dei normali programmi e che comunicano con l'hardware solo indirettamente, tramite il software di virtualizzazione che agisce a basso livello. Esempi di software di virtualizzazione sono Bochs, QEMU. Sfortunatamente, l'architettura x86 non supporta nativamente i requisiti di virtualizzazione di Popek e Goldberg. Ne risulta che è molto difficile implementare una macchina virtuale generale su un processore x86. Recentemente sono state introdotte estensioni che hanno risolto questa ed altre difficoltà sulla virtualizzazione.
Indice |
[modifica] Virtualizzazione x86 via software
L'8 Febbraio 1999, VMware introdusse il primo prodotto di virtualizzazione x86, "VMware Virtual Platform", basato su precedenti ricerche dei propri fondatori all'Università di Stanford. VMware e software simili devono impiegare sofisticate tecniche per catturare e virtualizzare l'esecuzione di determinate istruzioni. Queste tecniche offrono minori performance rispetto ad una macchina virtuale in esecuzione su un'architettura virtualizzabile nativamente come IBM System/370 o Motorola MC68020. Kevin Lawton lanciò il progetto Plex86(denominato originariamente "freemware") per la creazione di un "software libero" di virtualizzazione x86 con il solo supporto a Linux come sistema operativo "ospite", ma prima di questo Lawton pubblicò l'articolo Running multiple operating systems concurrently on an IA32 PC using virtualization techniques, il quale fornisce un'analisi sugli aspetti dell'architettura x86 maggiormente complicati da virtualizzare ed alcune tecniche per superare queste difficoltà. Anche Microsoft offre dei software di virtualizzazione x86, Microsoft Virtual PC e Microsoft Virtual Server, basati sulla tecnologia acquisita da Connectix. Recenti ricerche hanno cercato di migliorare le performance alla virtualizzazione x86 attraverso l'utilizzo di un'interfaccia software per le macchine virtuali che emula l'hardware sottostante. I sistemi operativi sono eseguiti su questa interfaccia, la quale non implementa i set di istruzioni x86 difficili da virtualizzare. Questa tecnica è chiamata paravirtualizzazione. Esempi di utilizzo di questa tecnologia sono Denali, L4, e Xen.
[modifica] Virtualizzazione x86 via hardware
Intel ed AMD hanno sviluppato indipendentemente le estensioni di virtualizzazione dell'architettura x86. Esse non sono tra loro completamente compatibili, ma supportano grosso modo le stesse istruzioni. Entrambe permettono ad una macchina virtuale di eseguire un sistema operativo ospite senza incorrere in grosse perdite prestazionali causate dall'emulazione via software.
[modifica] Intel VT (IVT)
L'estensione di virtualizzazione sviluppata da Intel per le architetture x86 a 32 bit(IA-32) e a 64 bit(EM64T) è denominata IVT (abbreviazione di Intel Virtualization Technology), ed è a volte chiamata con il nome in codice "Vanderpool". IVT è stato ufficialmente lanciato all'Intel Developer Forum Spring 2005 ed è disponibile su tutti i processori Pentium 4 6x2, Pentium D 9x0, Xeon 7xxx, Core Duo e Core 2 Duo, esclusi i T5200, T5500 ed E4300. Su alcune implementazioni il supporto a Vanderpool può essere disabilitato da BIOS o da EFI.
A titolo di completezza si ricorda che Intel ha inoltre pubblicato le specifiche dell'equivalente di Vanderpool per l'architettura IA-64 (Itanium) il cui nome in codice è "Silvervale".
[modifica] AMD virtualization (AMD-V)
L'estensione di virtualizzazione di AMD per l'architettura x86 a 64-bit (AMD64) è denominata AMD Virtualization, conosciuta anche con l'abbreviazione AMD-V o attraverso il nome in codice "Pacifica". I processori AMD che utilizzano il Socket AM2, il Socket S1, e il Socket F supportano la AMD Virtualization. Nel Maggio 2006, AMD ha introdotto sul mercato le versioni dei processori Athlon 64 e Turion 64 con supporto a tale tecnologia. È stata annunciata anche la versione del processore Opteron con supporto alla virtualizzazione disponibile per Agosto 2006.
[modifica] Software che utilizza VT
- Microsoft Virtual PC
- Microsoft Virtual Server a future version (Virtual Server 2005 R2 SP1, to be released in Q1 2007[1][2]) will support Intel VT and AMD Pacifica extensions.
- Parallels Workstation lightweight hypervisor with Intel VT-x support
- TRANGO real-time embedded hypervisor
- VMware on Intel processors, VMware Workstation 5.5 requires Intel VT to execute 64-bit guests.[3] For 32-bit guests, use of VT is possible but not enabled by default because for normal workloads it's slower.[4][5]
- Xen Xen 3.0 uses Intel VT to execute unmodified guest operating systems. Both Intel and AMD have contributed support for their virtualization extensions to the Xen virtual machine monitor, allowing it to execute unmodified guest operating systems.
- KVM Kernel-based Virtual Machine for Linux
[modifica] Voci correlate
[modifica] Collegamenti esterni
- Xen and the Art of Virtualization - Paper on Xen Paravirtualization
- OpenVZ - Open source x86 virtual machine software with Hypervisor.
- VMWare - x86 virtual machine software.
- Virtuozzo - x86 virtual machine software.
- Trango Systems - Trango, the real-time embedded hypervisor.
- Hardware virtualization VT from Intel
- Official Intel Virtualization Technology website with PowerPoint/PDF documents on the specifications
- Intel Virtualization Technology (VT) Explained
- Intel Virtualization Technology, includes technical specifications in PDF format
- Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor (PDF) by John Scott Robin and Cynthia E. Irvine, details the difficulties in virtualizing the traditional x86 architecture
- Hardware virtualization Pacifica from AMD