VirtualBox
VirtualBox software | |
---|---|
VirtualBox in esecuzione su ubuntu | |
Genere | Emulatore |
Sviluppatore | Oracle Corporation In precedenza: Sun Microsystems |
Data prima versione | 15 gennaio 2007 |
Ultima versione | 4.2.12 |
Sistema operativo | Microsoft Windows GNU/Linux macOS |
Linguaggio | Python Sconosciuto linguaggio assembly C C++ |
Toolkit | Qt |
Licenza | Pacchetto base: GPL, pacchetto estensioni: PUEL (licenza libera) |
Sito web | www.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).
- Come scheda audio, VirtualBox mette a disposizione una periferica Intel ICH AC'97 oppure una SoundBlaster 16.
- 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
- ^ (EN) Pagina "Status: Guest OSes" sul sito web di VirtualBox
- ^ (EN) Pagina "Domande frequenti dello sviluppatore" sul sito web di VirtualBox
- ^ (EN) Pagina "Annuncio acquisizione da Sun Microsystem"
- ^ (EN) Pagina "Architettura" sul sito web di VirtualBox.
- ^ (DE) Risultati del test effettuato dal sito web heise.de dopo il rilascio dell'edizione open source, pubblicato il 15 gennaio 2007
Voci correlate
Altri progetti
- Wikimedia Commons contiene immagini o altri file su VirtualBox
Collegamenti esterni
- Sito ufficiale
- VMLite, basato su VirtualBox 3.1.2
- virtualboximages.com, download di file .vdi compatibili con Virtualbox
- Emulatori liberi
- Software libero per Microsoft Windows
- Software libero per GNU
- Software per Linux
- Software libero per macOS
- Software libero in Python
- Software in Assembly
- Software libero in C
- Software libero in C++
- Software con licenza GNU GPL v2
- Software libero in Qt
- Software del 2007
- Software di virtualizzazione
- Sun