VirtualBox

VirtualBox

VirtualBox logo since 2010

Running Kubuntu Live CD with Oracle VM VirtualBox on Windows 7
Original author(s) Innotek GmbH
Developer(s) Oracle Corporation
Initial release 15 January 2007 (2007-01-15)
Stable release
5.1.26 / 27 July 2017 (2017-07-27)[1]
Preview release
5.2 Beta 1 / 3 August 2017 (2017-08-03)[2]
Repository www.virtualbox.org/browser/vbox/trunk
Development status Active
Written in C, C++, x86 Assembly
Operating system Windows, macOS, Linux and Solaris[3]
Size 61–118 MB depending on platform[4]
Type Hypervisor
License Base Package (USB support only for USB 1.1): GNU General Public License version 2 (Optionally CDDL for most files of the source distribution), "Extension Pack" (including USB 3.0 support): PUEL
Website www.virtualbox.org

Oracle VM VirtualBox (formerly Sun VirtualBox, Sun xVM VirtualBox and Innotek VirtualBox) is a free and open-source hypervisor for x86 computers currently being developed by Oracle Corporation. Developed initially by Innotek GmbH, it was acquired by Sun Microsystems in 2008 which was in turn acquired by Oracle in 2010.

VirtualBox may be installed on a number of host operating systems, including: Linux, macOS, Windows, Solaris, and OpenSolaris. There are also ports to FreeBSD[5] and Genode.[6]

It supports the creation and management of guest virtual machines running versions and derivations of Windows, Linux, BSD, OS/2, Solaris, Haiku, OSx86 and others,[7] and limited virtualization of macOS guests on Apple hardware.[8][9]

For some guest operating systems, a "Guest Additions" package of device drivers and system applications is available[10][11] which typically improves performance, especially of graphics.[12]

History

Logo of VirtualBox OSE, 2007–2010

VirtualBox was initially offered by Innotek GmbH from Weinstadt, Germany under a proprietary software license, making one version of the product available at no cost for personal or evaluation use, subject to the VirtualBox Personal Use and Evaluation License (PUEL).[13] In January 2007, based on counsel by LiSoG, Innotek GmbH released VirtualBox Open Source Edition (OSE) as free and open-source software, subject to the requirements of the GNU General Public License (GPL), version 2.[14]

Innotek GmbH also contributed to the development of OS/2 and Linux support in virtualization[15] and OS/2 ports[16] of products from Connectix which were later acquired by Microsoft. Specifically, Innotek developed the “additions” code in both Microsoft Virtual PC and Microsoft Virtual Server, which enables various host-guest OS interactions like shared clipboards or dynamic viewport resizing.

Sun Microsystems acquired Innotek in February 2008.[17][18][19]

Oracle Corporation acquired Sun in January 2010 and re-branded the product as "Oracle VM VirtualBox".[20][21][22]

Licensing

The core package is, since version 4 in December 2010, free software under GNU General Public License version 2 (GPLv2). The separate "VirtualBox Oracle VM VirtualBox extension pack" providing support for USB 2.0 and 3.0 devices, Remote Desktop Protocol (RDP), disk encryption, NVMe and Preboot Execution Environment (PXE) boot is under a proprietary license, called Personal Use and Evaluation License (PUEL), which permits use of the software for personal use, educational use, or evaluation, free of charge.[23] Oracle defines personal use as any situation in which one person installs the software, and only that individual, and their friends and family, use the software. Oracle does not care if that use is for commercial or non-commercial purposes.[24]

Prior to version 4, there were two different packages of the VirtualBox software. The full package was offered free under the PUEL, with licenses for other commercial deployment purchasable from Oracle. A second package called the VirtualBox Open Source Edition (OSE) was released under GPLv2. This removed the same proprietary components not available under GPLv2.[24][25]

Building the BIOS for VirtualBox since version 4.2 requires the use of the Open Watcom compiler,[26] for which the Sybase Open Watcom Public License is approved as "Open Source" by the Open Source Initiative[27] but not as "free" by the Free Software Foundation or under the Debian Free Software Guidelines.[26][28]

Although VirtualBox has experimental support for Mac OS X guests, the end user license agreement of Mac OS X does not permit the operating system to run on non-Apple hardware, and this is enforced within the operating system by calls to the Apple System Management Controller (SMC) in all Apple machines, which verifies the authenticity of the hardware.[29]

Emulated environment

Users of VirtualBox can load multiple guest OSs under a single host operating-system (host OS). Each guest can be started, paused and stopped independently within its own virtual machine (VM). The user can independently configure each VM and run it under a choice of software-based virtualization or hardware assisted virtualization if the underlying host hardware supports this. The host OS and guest OSs and applications can communicate with each other through a number of mechanisms including a common clipboard and a virtualized network facility. Guest VMs can also directly communicate with each other if configured to do so.[30]

Software-based virtualization

In the absence of hardware-assisted virtualization, VirtualBox adopts a standard software-based virtualization approach. This mode supports 32-bit guest OSs which run in rings 0 and 3 of the Intel ring architecture.

In both cases, VirtualBox uses CSAM and PATM to inspect and patch the offending instructions whenever a fault occurs. VirtualBox also contains a dynamic recompiler, based on QEMU to recompile any real mode or protected mode code entirely (e.g. BIOS code, a DOS guest, or any operating system startup).[31]

Using these techniques, VirtualBox can achieve a performance comparable to that of VMware.[32][33]

Hardware-assisted virtualization

VirtualBox supports both Intel's VT-x and AMD's AMD-V hardware-virtualization. Making use of these facilities, VirtualBox can run each guest VM in its own separate address-space; the guest OS ring 0 code runs on the host at ring 0 in VMX non-root mode rather than in ring 1.

VirtualBox supports some guests (including 64-bit guests, SMP guests and certain proprietary OSs) only on hosts with hardware-assisted virtualization.

Device virtualization

The system emulates hard disks in one of three disk image formats:

  1. VDI: This format is the VirtualBox-specific VirtualBox Disk Image and stores data in files bearing a ".vdi" filename extension.
  2. VMDK: This open format is used by VMWare products such as VMWare Workstation and VMWare Player. It stores data in one or more files bearing ".vmdk" filename extensions. A single virtual hard disk may span several files.
  3. VHD: This format is used by Windows Virtual PC, and is the native virtual disk format of the Microsoft Windows operating system, starting with Windows 7 and Windows Server 2008 R2. Data in this format are stored in a single file bearing the ".vhd" filename extension.

A VirtualBox virtual machine can, therefore, use disks previously created in VMware or Microsoft Virtual PC, as well as its own native format. VirtualBox can also connect to iSCSI targets and to raw partitions on the host, using either as virtual hard disks. VirtualBox emulates IDE (PIIX4 and ICH6 controllers), SCSI, SATA (ICH8M controller) and SAS controllers to which hard drives can be attached.

VirtualBox has supported Open Virtualization Format (OVF) since version 2.2.0 (April 2009).[34]

Both ISO images and host-connected physical devices can be mounted as CD/DVD drives. For example, the DVD image of a Linux distribution can be downloaded and used directly by VirtualBox.

By default VirtualBox provides graphics support through a custom virtual graphics-card that is VESA compatible. The Guest Additions for Windows, Linux, Solaris, OpenSolaris, or OS/2 guests include a special video-driver that increases video performance and includes additional features, such as automatically adjusting the guest resolution when resizing the VM window[35] or desktop composition via virtualized WDDM drivers .

For an Ethernet network adapter, VirtualBox virtualizes these Network Interface Cards:[36]

The emulated network cards allow most guest OSs to run without the need to find and install drivers for networking hardware as they are shipped as part of the guest OS. A special paravirtualized network adapter is also available, which improves network performance by eliminating the need to match a specific hardware interface, but requires special driver support in the guest. (Many distributions of Linux ship with this driver included.) By default, VirtualBox uses NAT through which Internet software for end-users such as Firefox or ssh can operate. Bridged networking via a host network adapter or virtual networks between guests can also be configured. Up to 36 network adapters can be attached simultaneously, but only four are configurable through the graphical interface.

For a sound card, VirtualBox virtualizes Intel HD Audio, Intel ICH AC'97 and SoundBlaster 16 devices.[37]

A USB 1.1 controller is emulated so that any USB devices attached to the host can be seen in the guest. The proprietary extension pack adds a USB 2.0 or USB 3.0 controllers and, if VirtualBox acts as an RDP server, it can also use USB devices on the remote RDP client as if they were connected to the host, although only if the client supports this VirtualBox-specific extension (Oracle provides clients for Solaris, Linux and Sun Ray thin clients that can do this, and have promised support for other platforms in future versions).[38]

Feature set

Storage emulation features
Storage support
Since version 3.2
Since version 4.0
Since version 4.1
Since version 4.2
Since version 4.3
Since version 5.0[41]

Limitations

VirtualBox Extension Pack

Some features require the installation of the closed-source "VirtualBox Extension Pack":[3]

Host OS support

Since version 5, VirtualBox has stated that they are dropping support for Windows XP host,[55] thus leaving its users with Windows XP hosts vulnerable to flaws of earlier releases. VirtualBox can also be run under GNU/Linux, macOS, Sun Solaris and FreeBSD.

See also

References

  1. "VirtualBox 5.1.24 (released 2017-07-18)". Oracle VM VirtualBox. Oracle. 2017-07-18. Retrieved 2017-07-20.
  2. "VirtualBox 5.2 Beta 1 released". End user forums for VirtualBox. Oracle Corporation. 2017-08-03. Retrieved 8 August 2017.
  3. 1 2 "Downloads – Oracle VM VirtualBox".
  4. "VirtualBox downloads".
  5. "VirtualBox – FreeBSD Wiki". Wiki.freebsd.org. 2009-06-16. Retrieved 2009-07-04.
  6. "Release notes for the Genode OS Framework 14.02". Genode Labs. February 28, 2014. Retrieved March 19, 2014.
  7. "Guest_OSes". VirtualBox. 2009-06-12. Retrieved 2009-07-04.
  8. "How to Install Mac OS X Snow Leopard in VirtualBox on Windows 7".
  9. Purdy, Kevin (May 4, 2010). "VirtualBox 3.2 Beta Virtualizes Mac OS X (On Macs)". Lifehacker.
  10. "Chapter 4 Guest Additions". VirtualBox.
  11. "Oracle VM VirtualBox 4.3 Now Available" (Press release). Oracle Corporation. 2013-10-15. Retrieved 2014-10-15. Generally available today, Oracle VM VirtualBox 4.3 delivers the latest enhancements to the world’s most popular, free and open source, cross-platform virtualization software.
  12. "Run Ubuntu Linux Within Windows Using VirtualBox". linux.about.com.
  13. "VirtualBox_PUEL – VirtualBox". VirtualBox. 2008-09-10. Retrieved 2009-07-04.
  14. "GPL". VirtualBox. Retrieved 2009-07-04.
  15. Ong, Ronny. "Additions Version History – microsoft.public.virtualpc". Groups.google.com. Google Groups. Retrieved 2009-07-04.
  16. "Connectix Announces First Virtual Computing Solution for OS/2 Users; Virtual PC Lets Enterprises Run OS/2 and Windows Concurrently on a Single PC | Business Wire | Find Articles at BNET". Findarticles.com. 2002-07-01. Retrieved 2009-07-04.
  17. "Sun Microsystems Announces Agreement to Acquire Innotek, Expanding Sun xVM Reach to the Developer Desktop" (Press release). Sun Microsystems. February 12, 2008. Retrieved 2008-02-12.
  18. "E-Commerce News: Business: Sun Gets Desktop Virtualization Chops With Innotek Buy". Ecommercetimes.com. Retrieved 2009-07-04.
  19. "Sun Welcomes Innotek". Sun Microsystems, Inc. Retrieved 2008-02-26. On February 20 Sun completed the acquisition of Innotek
  20. "Oracle and Virtualization". Oracle Corporation. Retrieved 2010-01-30.
  21. "VirtualBox Joins Oracle's Enterprise Virtualization Portfolio". systemnews. February 25, 2010. Retrieved March 6, 2010.
  22. Hawley, Adam (February 26, 2010). "The Oracle VM Product Line Welcomes Sun!". Oracle Virtualization Blog. Oracle Corporation. Archived from the original on 2010-04-07. Retrieved March 6, 2011.
  23. "VirtualBox_PUEL". VirtualBox. 2010-04-19. Retrieved 2011-04-20.
  24. 1 2 "Licensing: Frequently Asked Questions". VirtualBox. Retrieved 2013-09-24.
  25. "Editions". VirtualBox. Retrieved 2009-07-04.
  26. "Open Source Licenses by Category". Palo Alto, California: Open Source Initiative. Non-reusable licenses. Retrieved 2016-07-24.
  27. "Various Licenses and Comments about Them". Boston, Massachusetts: Free Software Foundation. Nonfree Software Licenses. Retrieved 2016-07-24.
  28. "Interview with Andy Hall, Product Manager for Oracle VM VirtualBox".
  29. "Internal Networking". VirtualBox. Retrieved 2013-07-31.
  30. "VirtualBox Manual, Section 10.4 Details about software virtualization". VirtualBox. Retrieved 2011-04-25.
  31. Dr. Diedrich, Oliver (2007-01-15). "heise open – 15.01.07 – VirtualBox". Heise.de. Retrieved 2009-07-04.
  32. Perlow, Jason (2010-05-21). "Virtualization Smackdown 2: Oracle VM VirtualBox 3.2 vs. VMware Workstation 7.1". ZDNET. Retrieved 2010-05-24.
  33. "VirtualBox changelog". Retrieved 2010-02-18.
  34. "Chapter 4. Guest Additions". VirtualBox. Retrieved 2011-01-17.
  35. "Chapter 6. Virtual networking". VirtualBox. Retrieved 2011-01-17.
  36. "Chapter 3. Configuring Virtual Machines". VirtualBox. Retrieved 2011-01-17.
  37. "VirtualBox 4.1.4 Manual – Chapter 7 Remote Virtual Machines". Oracle. 2011-10-03. Retrieved 2011-11-19.
  38. "Python API to the VirtualBox VM". Sun Microsystems. 2008-09-05. Archived from the original on 2008-09-10. Retrieved 2008-09-06.
  39. 1 2 "Chapter 3. Configuring virtual machines". www.virtualbox.org. Retrieved 2016-04-14.
  40. "Changelog for VirtualBox 5.0".
  41. "USB 3.0 Driver: Intel® USB 3.0 eXtensible Host Controller Driver for Intel® 7 Series/C216 Chipset Family".
  42. "New separate GUI / VMM mode".
  43. "#2973 (USB extremely slow with USB-2.0 (very similar to #464)) – Oracle VM VirtualBox". Oracle. Retrieved 10 October 2014.
  44. "#4261 (Slow transfer speeds from USB disk) – Oracle VM VirtualBox". Oracle. Retrieved 10 October 2014.
  45. 1 2 "Chapter 14. Known limitations". www.virtualbox.org. Retrieved 2017-03-28.
  46. "Unofficial Windows 98 Second Edition Service Pack". www.majorgeeks.com. Retrieved 2017-03-28.
  47. "98SE Option Pack". www.majorgeeks.com. Retrieved 2017-03-28.
  48. "Windows 9x Power Pack". www.majorgeeks.com. Retrieved 2017-03-28.
  49. "virtualbox.org • View topic - Tutorial: Windows 95/98 guest OSes". forums.virtualbox.org. Retrieved 2017-03-28.
  50. "virtualbox.org • View topic - Win98SE with ACPI - Success At Last!". forums.virtualbox.org. Retrieved 2017-03-28.
  51. "virtualbox.org • View topic - Windows 98SE step by step". forums.virtualbox.org. Retrieved 2017-03-28.
  52. "Chapter 4. Guest Additions". www.virtualbox.org. Retrieved 2017-03-28.
  53. "virtualbox.org • View topic - Reason behind the 256MB vram limit". forums.virtualbox.org. Retrieved 2017-03-28.
  54. "Chapter 1. First steps".
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.