domenica 10 febbraio 2008

Virtualizzazione, una rassegna di quattro opzioni

Maria Susana Diaz | 10:54 |

Virtualizzazione è la tecnica di esecuzione di un "ospite" all'interno di un sistema operativo in esecuzione OS-già, per esempio, Windows all'interno di Linux o viceversa.

Questo articolo confronta i quattro prodotti di virtualizzazione disponibili per Ubuntu Linux: gratuiti open source come Qemu, VMware e VirtualBox-Server e il commerciale Parallels.

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.

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.



Se ti è piaciuto l'articolo, iscriviti al feed per tenerti sempre aggiornato sui nuovi contenuti del blog:



TiPI (Ti Potrebbe Interessare)

LinuxLinks

Trovato questo articolo interessante? Condividilo sulla tua rete di contatti in Twitter, sulla tua bacheca su Facebook, in Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie!

LINKEDIN