VirtualBox

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
VirtualBox
software
Logo
Logo
Virtualbox 7.0 con modalità scura in esecuzione su Windows 10
Virtualbox 7.0 con modalità scura in esecuzione su Windows 10
Virtualbox 7.0 con modalità scura in esecuzione su Windows 10
GenereMacchina virtuale
SviluppatoreOracle Corporation
In precedenza: Sun Microsystems
Data prima versione15 gennaio 2007
Ultima versione7.0.16 (16 aprile 2024)
Sistema operativoMicrosoft Windows
GNU/Linux
macOS
Linguaggiolinguaggio assembly
Python
C++
C
ToolkitQt
LicenzaPacchetto base: GPL, pacchetto estensioni: PUEL
(licenza libera)
LinguaMultilingua
Sito webwww.virtualbox.org

Oracle VM VirtualBox (precedentemente noto come Sun VirtualBox, Sun xVM VirtualBox e Innotek VirtualBox) è un software gratuito e 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 macOS 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.[1]

Storia[modifica | modifica wikitesto]

Nel gennaio 2007 è stata distribuita una versione ridotta.

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

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

Descrizione[modifica | modifica wikitesto]

Con VirtualBox l'utente può configurare, creare e usare più sistemi operativi detti "ospiti" o "guest", nel proprio PC usando un solo sistema operativo (host), nelle cosiddette "macchine virtuali". Ciascuna macchina virtuale può essere configurata in modo indipendente, scegliendo quale hardware e periferiche configurare. È anche possibile scegliere quanti dei core del processore dell'host allocare al funzionamento di ciascuna macchina virtuale, la porzione di memoria RAM presente nel sistema host, quali cartelle condividere tra l'host e la macchina virtuale (installando il pacchetto proprietario VirtualBox Extensions) e altro.

Ciascuna macchina virtuale può essere avviata, fermata o chiusa in modo indipendente. Un'intera applicazione virtuale e il suo stato al momento dello spegnimento può essere esportata (salvata) su file. Un file di macchina virtuale può essere caricato ed eseguito in altre macchine host anche se hanno sistemi operativi differenti da quello dove è stata creata.

VirtualBox supporta la soluzione per la virtualizzazione hardware di Intel VT-x e la soluzione di AMD, AMD-V.[3] Ovvero, 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 nel "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 nel "ring 1", normalmente non utilizzato sull'architettura Intel.

Se dovessero sorgere problemi di compatibilità, VirtualBox dispone di un ricompilatore dinamico, come altri software di virtualizzazione, per codice reale o protetto. 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]

Dischi virtuali[modifica | modifica wikitesto]

Per la creazione, lettura e scrittura di device virtuali il programma supporta i formati:

  • VDI: formato nativo di VirtualBox, dove il disco è rappresentato da un file con suffisso .vdi;
  • VMDK: formato di tipo open source usato anche da VMWare, dove il disco può essere rappresentato da uno o più file differenti con suffisso .vmdk;
  • VHD: formato usato da Windows VirtualPC e HyperV di Microsoft, nativo per dischi virtuali sin da Windows 7 e Windows Server 2008 R2, dove il disco è rappresentato da un solo file con suffisso .vhd;

Hardware supportato[modifica | modifica wikitesto]

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 consente di 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 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).
    • Rete paravirtualizzata (virtio-net).
  • Come scheda audio, VirtualBox mette a disposizione Intel ICH AC'97, Intel HD Audio e SoundBlaster 16.
  • USB: installando il pacchetto proprietario di estensioni per VirtualBox, viene emulato un controller USB, così che qualunque periferica USB collegata al sistema host possa essere vista dal 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 wikitesto]

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

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Controllo di autoritàGND (DE7692387-3
  Portale Software libero: accedi alle voci di Wikipedia che trattano di software libero