Changes

Jump to: navigation, search

An Overview of VirtualBox 2

4,564 bytes added, 15:46, 4 March 2009
What is VirtualBox?
:- '''Serial ATA controller''' - Increases the performance of virtual hard disk and allows more than three virtual hard disks to be connected to a single virtual machine.
 
== VirtualBox Architecture Basics ==
 
Virtualization technology typically falls into one of a number of categories, namely software virtualization, shared kernel virtualization, kernel level virtualization, hypervisor virtualization, paravirtualization, full virtualization and hardware virtualization. A full overview of each of these techniques is beyond the scope of this chapter, but an excellent description of each is available in [[An Overview of Virtualization Techniques]].
 
VirtualBox is somewhat unusual in that it is able to utilize two forms of virtualization - software virtualization and hardware virtualization.
 
== Software Virtualization ==
 
Software virtualization is perhaps the easiest concept to understand. In this scenario the physical host computer system runs a standard unmodified operating system such as Windows, Linux, UNIX (for example Solaris) or Mac OS X. Running on this operating system is a virtualization application (in this case VirtualBox) which executes in much the same way as any other application such as a word processor or spreadsheet would run on the system. It is within this virtualization application that one or more virtual machines are created to run the guest operating systems on the host computer. The virtualization application is responsible for starting, stopping and managing each virtual machine and essentially controlling access to physical hardware resources on behalf of the individual virtual machines. The virtualization application also engages in a process known as ''binary rewriting'' which involves scanning the instruction stream of the executing guest system and replacing any privileged instructions with safe emulations. This has the effect of making the guest system think it is running directly on the system hardware, rather than in a virtual machine within an application.
 
The following figure provides a high level illustration of software based virtualization:
 
 
[[Image:guest_os_diagram.jpg|border|center]]
 
 
As outlined in the above diagram, the guest operating systems operate in virtual machines within the virtualization application which, in turn, runs on top of the host operating system. Clearly, the multiple layers of abstraction between the guest operating systems and the underlying host hardware are not conducive to high levels of virtual machine performance. This technique does, however, have the advantage that no changes are necessary to either host or guest operating systems and no special CPU hardware virtualization support is required.
 
== Hardware Virtualization ==
 
Hardware virtualization leverages virtualization features built into the latest generations of CPUs from both Intel and AMD. These technologies, known as Intel VT and AMD-V respectively, provide extensions necessary to run unmodified guest virtual machines without the overheads inherent in other forms of virtualization.
 
== VirtualBox - Software and Hardware Virtualization ==
 
As previously discussed, VirtualBox primarily uses software virtualization to run virtual machines. In fact, this is the default behavior for any virtual machines (with the exception of 64-bit guest operating systems) created within the VirtualBox environment. VirtualBox does, however, provide the option to enable hardware virtualization on a per virtual machine basis when running on AMD-V and Intel-VT capable CPUs. On more recent CPU designs, VirtualBox is also able to make use of nesting paging tables to improve virtual machine performance.
 
The developers of VirtualBox do, however, warn that depending on the guest environment and workload, greater performance may be achieved by leaving the hardware virtualization option switch off for some virtual machines. Clearly, if virtual machine performance is an issue, some experimentation with hardware virtaulization switched on and off to identify the optimal configuration is recommended.
 
== VirtaulBox - A Summary ==
 
In summary, VirtualBox allows multiple and differing guest operating systems to run simultaneously on a single host computer system. It is available in a bre-built, fully functional version which is free for personal and for a charge for commercial use and a free, open source version with some functionality missing.
 
VirtualBox runs on a host operating system and is able to run unmodified guest operating systems (i.e operating systems that have not been modified to run in a virtual machine). This is achieved using either software virtualization, or in the case of hosts with AMD-V or Intel-V CPUs, hardware virtualization.
1,798
edits

Navigation menu