VirtualBox

Da Wikipedia, l'enciclopedia libera.
VirtualBox
Logo di VirtualBox
Screenshot di VirtualBox
VirtualBox in esecuzione su ubuntu
Sviluppatore Oracle Corporation
In precedenza: Sun Microsystems
Ultima versione 4.3.8[1] (25 febbraio 2014; 57 giorni fa)
Sistema operativo Microsoft Windows
GNU/Linux
Mac OS X
Linguaggio C++
Genere Emulatore
Licenza Pacchetto base: GPL, pacchetto estensioni: PUEL
(Licenza libera)
Sito web www.virtualbox.org

VirtualBox o Oracle VM VirtualBox (e precedentemente Sun VirtualBox, Sun xVM VirtualBox e Innotek VirtualBox), è un software open source per l'esecuzione di macchine virtuali (con una versione ridotta distribuita secondo i termini della GNU General Public License) per architettura x86 e 64bit che supporta Windows, GNU/Linux e Mac OS X come sistemi operativi host, ed è in grado di eseguire Windows, GNU/Linux, OS/2 Warp, BSD come ad esempio OpenBSD, FreeBSD e infine Solaris e OpenSolaris come sistemi operativi guest.[2]

Storia[modifica | modifica sorgente]

Nel gennaio 2007 è stata rilasciata una versione ridotta.

Il 12 febbraio 2008 Sun Microsystems ha acquistato Innotek GmbH, l'azienda tedesca sviluppatrice di VirtualBox.[3]

Il 27 gennaio 2010 è stata perfezionata l'acquisizione di Sun da parte di Oracle Corporation.

Caratteristiche[modifica | modifica sorgente]

VirtualBox supporta la soluzione per la virtualizzazione hardware di Intel VT-x e la soluzione di AMD, AMD-V.[4]

VirtualBox tenta di eseguire quanto più codice guest possibile in maniera nativa (vale a dire sul processore host). Questo va bene per il codice in modalità utente che funziona a ring 3 (nel contesto dell'architettura ring di Intel). Tuttavia, il codice ring 0 del sistema guest, che contiene di solito decine di istruzioni privilegiate, dovrà essere gestito in modo particolare. VirtualBox usa un approccio abbastanza inconsueto per risolvere il problema: convince il sistema operativo guest ad eseguire il codice ring 0 in ring 1, normalmente non utilizzato sull'architettura Intel.

Se dovessero sorgere problemi, VirtualBox ha un ricompilatore dinamico, come gli altri software di virtualizzazione. Il ricompilatore di VirtualBox si basa su QEMU. Inoltre, VirtualBox disassembla e, in alcuni casi, aggiunge delle patch al codice guest per evitare ricompilazioni future, dal momento che sono abbastanza onerose.[5] In questo modo, sia il codice a ring 3 che quello a ring 0 può essere eseguito in maniera nativa nella maggior parte delle occasioni, e con questa combinazione di ricompilazione "tradizionale" e patch per il codice VirtualBox raggiunge una velocità simile a quella di VMware Workstation.[6]

Hardware supportato[modifica | modifica sorgente]

VirtualBox emula i seguenti componenti hardware:

  • Gli hard disk vengono emulati con uno speciale formato contenitore chiamato "Virtual Disk Images" (file VDI), che è, al momento, incompatibile con i formati utilizzati dalle altre soluzioni di virtualizzazione. Sono comunque supportati i file VMDK (VMware ed altri) e VHD (Microsoft). Inoltre, VirtualBox ha la caratteristica peculiare di potersi collegare a supporti iSCSI, e di poterli utilizzare come dischi virtuali.
  • Come scheda grafica, per impostazione predefinita VirtualBox fornisce una periferica VESA con 12 MB di RAM configurabili. Un driver video speciale viene fornito dalle Guest Additions (per sistemi guest Windows, GNU/Linux e Solaris): questo driver conferisce maggiore performance e la possibilità di regolare la risoluzione del sistema guest quando la finestra della macchina virtuale viene ridimensionata. Dalla versione 2.1.0 è inoltre possibile eseguire applicazioni che utilizzano le librerie OpenGL sulla macchina client sfruttando direttamente la scheda video del computer host ad eccezione di Windows 98, 98SE ed Me.
  • Come scheda di rete Ethernet, VirtualBox fornisce le seguenti NIC:
    • AMD PCnet PCI II (Am79C970A);
    • AMD PCnet-Fast III (Am79C973) (default);
    • Intel PRO/1000 MT Desktop (82540EM);
    • Intel PRO/1000 T Server (82543GC);
    • Intel PRO/1000 MT Server (82545EM).
  • USB: installando il pacchetto proprietario di estensioni per VirtualBox, viene emulato un controller USB, così che qualunque periferica USB collegata al sistema host può essere vista da quello guest. Se VirtualBox svolge il ruolo di server RDP, può anche utilizzare periferiche USB connesse al client RDP remoto come se fossero connesse all'host.

Note[modifica | modifica sorgente]

  1. ^ (EN) Changelog. URL consultato l'11 aprile 2014.
  2. ^ (EN) Status: Guest OSes. URL consultato l'11 aprile 2014.
  3. ^ (EN) Annuncio acquisizione da Sun Microsystem. URL consultato l'11 aprile 2014.
  4. ^ (EN) Domande frequenti dello sviluppatore. URL consultato l'11 aprile 2014.
  5. ^ (EN) Manuale: Sezione tecnica. URL consultato l'11 aprile 2014.
  6. ^ (DE) Risultati del test effettuato dal sito web heise.de dopo il rilascio dell'edizione open source, 15 gennaio 2007. URL consultato l'11 aprile 2014.

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]