what is virtual box@learningmore - learningmore

Breaking

Thursday, April 28, 2022

what is virtual box@learningmore

 Oracle VM VirtualBox (formerly Sun VirtualBox, Sun xVM VirtualBox, and Innotek VirtualBox) is a type-2 hypervisor for x86 virtualization developed by Oracle Corporation.


VirtualBox was originally created by Innotek GmbH, which was acquired by Sun Microsystems in 2008, and was in turn acquired by Oracle in 2010.

learningmore


VirtualBox may be installed on Microsoft Windows, macOS, Linux, Solaris, and OpenSolaris. There are also ports to FreeBSD and Genode. It supports the creation and management of guest virtual machines running Windows, Linux, BSD, OS/2, Solaris, Haiku, and OSx86 as well as limited virtualization of macOS guests on Apple hardware. For some guest operating systems, a "Guest Additions" package of device drivers and system applications is available, which typically improves performance, especially that of graphics, and allows changing the resolution of the guest OS automatically when the window of the virtual machine on the host OS is resized.


Released under the terms of the GNU General Public License and, optionally, the CDDL for most files of the source distribution, VirtualBox is free and open-source software, though the Extension Pack is proprietary software.

History


Logo of VirtualBox OSE, 2007–2010

VirtualBox was first 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). 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.


Innotek GmbH also contributed to the development of OS/2 and Linux support in virtualization and OS/2 ports of products from Connectix which were later acquired by Microsoft. Specifically, Innotek developed the "additions" code in both Windows 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.


Following the acquisition of Sun Microsystems by Oracle Corporation in January 2010, the product was re-branded as "Oracle VM VirtualBox".

In December 2019, VirtualBox started supporting only hardware-assisted virtualization, dropping support for Software-based one. Users of VirtualBox can load multiple guest OSes 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.


Hardware-assisted

VirtualBox supports both Intel's VT-x and AMD's AMD-V hardware-assisted 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.[citation needed]


Starting with version 6.1, VirtualBox only supports this method. Until then, VirtualBox specifically supported some guests (including 64-bit guests, SMP guests, and certain proprietary OSs) only on hosts with hardware-assisted virtualization.[citation needed]


Devices and peripherals


VirtualBox emulates hard disks in three formats: the native VDI (Virtual Disk Image), the VMDK of VMware, and the VHD of Microsoft Windows. It thus supports disks created by other hypervisor software. 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.

SO images and physical devices connected to the host can be mounted as CD or DVD drives. VirtualBox supports running operating systems from live CDs and DVDs.


By default, VirtualBox provides graphics support through a custom virtual graphics card that is VBE or UEFI GOP 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[31] or desktop composition via virtualized WDDM drivers.


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


AMD PCnet PCI II (Am79C970A)

AMD PCnet-Fast III (Am79C973)

Intel Pro/1000 MT Desktop (82540EM)

Intel Pro/1000 MT Server (82545EM)

Intel Pro/1000 T Server (82543GC)

Paravirtualized network adapter (virtio-net)

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 para virtualized 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.[33]


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 controller 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).[34]


Software-based

In the absence of hardware-assisted virtualization, versions 6.0 and earlier of VirtualBox could adopt 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.


The system reconfigures the guest OS code, which would normally run in ring 0, to execute in ring 1 on the host hardware. Because this code contains many privileged instructions which cannot run natively in ring 1, VirtualBox employs a Code Scanning and Analysis Manager (CSAM) to scan the ring 0 code recursively before its first execution to identify problematic instructions and then calls the Patch Manager (PATM) to perform in-situ patching. This replaces the instruction with a jump to a VM-safe equivalent compiled code fragment in hypervisor memory.

The guest user-mode code, running in ring 3, generally runs directly on the host hardware in ring 3.

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).


Using these techniques, VirtualBox can achieve a performance comparable to that of VMware.


The feature was dropped starting with VirtualBox 6.1.


Features

Snapshots of the RAM and storage that allow reverting to a prior state.

Screenshots and screen video capture

"Host key" for releasing the keyboard and mouse cursor to the host system if captured (coupled) to the guest system, and for keyboard shortcuts to features such as configuration, restarting, and screenshot. By default, it is the right-side CTRL-key.

Mouse pointer integration, meaning automatic coupling and uncoupling of the mouse cursor when moved inside and outside the virtual screen, if supported by the guest operating system.

Seamless mode – the ability to run virtualized applications side by side with normal desktop applications

Shared clipboard

Shared folders through "guest additions" software

Special drivers and utilities to facilitate switching between systems

Ability to specify the amount of shared RAM, video memory, and CPU execution cap

Ability to emulate multiple screens

Command-line interaction (in addition to the GUI)

Public API (Java, Python, SOAP, XPCOM) to control VM configuration and execution

Nested paging for AMD-V and Intel VT (only for processors supporting SLAT and with SLAT enabled)

Limited support for 3D graphics acceleration (including OpenGL up to (but not including) 3.0 and Direct3D 9.0c via Wine's Direct3D to OpenGL translation)

SMP support (up to 32 virtual CPUs per virtual machine), since version 3.0

Teleportation (aka Live Migration)

2D video output acceleration (not to be mistaken with video decoding acceleration), since version 3.1

EFI has been supported since version 3.1 (Windows 7 guests are not supported)

Storage emulation

Ability to mount virtual hard disk drives and disk images. Virtual optical disc images can be used for booting and sharing files to guest systems lacking networking support.

NCQ support for SATA, SCSI, and SAS raw disks and partitions

SATA disk hotplugging

Pass-through mode for solid-state drives

Pass-through mode for CD/DVD/BD drives – allows users to play audio CDs, burn optical disks, and play encrypted DVD discs

Can disable host OS I/O cache

Allows limitation of IO bandwidth

PATA, SATA, SCSI, SAS, iSCSI, floppy disk controllers

VM disk image encryption using AES128/AES256

Storage support includes:


Raw hard disk access – allows physical hard disk partitions on the host system to appear in the guest system

VMware Virtual Machine Disk (VMDK) format support – allows the exchange of disk images with VMware

Microsoft VHD support

QEMU QED and qcow disks

HDD format disks (only version 2; versions 3 and 4 are not supported) used by Parallels virtualization products

No comments:

Post a Comment

Pages