VirtualBox

Da Wikipedia, l'enciclopedia libera.
Versione del 19 mag 2013 alle 17:13 di TheFax (discussione | contributi) (Aggiornamento ultima versione)
Vai alla navigazione Vai alla ricerca
VirtualBox
software
Logo
Logo
VirtualBox in esecuzione su ubuntu
VirtualBox in esecuzione su ubuntu
VirtualBox in esecuzione su ubuntu
GenereEmulatore
SviluppatoreOracle Corporation
In precedenza: Sun Microsystems
Data prima versione15 gennaio 2007
Ultima versione4.2.12
Sistema operativoMicrosoft Windows
GNU/Linux
macOS
LinguaggioPython
Sconosciuto
linguaggio assembly
C
C++
ToolkitQt
LicenzaPacchetto base: GPL, pacchetto estensioni: PUEL
(licenza libera)
Sito webwww.virtualbox.org

VirtualBox è un software per l' esecuzione di macchine virtuali open source (con una versione ridotta distribuita secondo i termini della GNU General Public License) per architettura x86 che supporta Windows, GNU/Linux e Mac OS X come sistemi operativi host, ed è in grado di eseguire Windows, GNU/Linux, OS/2 Warp, OpenBSD e FreeBSD come sistemi operativi guest[1]. Nel gennaio 2007 ne è stata rilasciata una versione ridotta.

VirtualBox supporta la soluzione per la virtualizzazione hardware di Intel VT-x ed, in via sperimentale la soluzione di AMD, AMD-V, ma non usa nessuna delle due per impostazione predefinita.[2]

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.

Ambiente emulato

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 poter collegarsi 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.
  • 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).
  • 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.

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.[4] 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.[5]

Note

Voci correlate

Altri progetti

Collegamenti esterni

  Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero