Changes

Jump to: navigation, search

An Overview of Virtualization Techniques

47 bytes added, 18:52, 29 May 2016
m
Text replacement - "<htmlet>xen<htmlet>" to "<htmlet>xen</htmlet>"
<table border="0" cellspacing="0" width="100%">
<tr>
<td width="20%">[[About Xen Virtualization Essentials|Previous]]<td align="center">[[Xen Virtualization Essentials|Table of Contents]]<td width="20%" align="right">[[Configuring and Installating Installing a Xen Hardware Virtual Machine (HVM) domainU Guest|Next]]</td>
<tr>
<td width="20%">About Xen Virtualization Essentials<td align="center"><td width="20%" align="right">Configuring and Installating Installing a Xen Hardware Virtual Machine (HVM) domainU Guest</td>
</table>
<hr>
 
 
<htmlet>xen</htmlet>
== Shared Kernel Virtualization ==
Shared kernel virtualization (also known as system level or operating system virtualization) takes advantage of the architectural design of Linux and UNIX based operating systems. In order to understand how shared kernel virtualization works it helps to first understand the two main components of Linux or UNIX operating systems. At the core of the operating system is the ''kernel''. The kernel, in simple terms, handles all the interactions between the operating system and the physical hardware. The second key component is the ''root filesystemfile system'' which contains all the libraries, files and utilities necessary for the operating system to function. Under shared kernel virtualization the virtual guest systems each have their own ''root filesystemfile system'' but share the kernel of the host operating system. This structure is illustrated in the following architectural diagram:
This type of virtualization is made possible by the ability of the kernel to dynamically change the current root filesystem file system (a concept known as ''chroot'') to a different root filesystem file system without having to reboot the entire system. Essentially, shared kernel virtualization is an extension of this capability. Perhaps the biggest single draw back drawback of this form of virtualization is the fact that the guest operating systems must be compatible with the version of the kernel which is being shared. It is not, for example, possible to run Microsoft Windows as a guest on a Linux system using the shared kernel approach. Nor is it possible for a Linux guest system designed for the 2.6 version of the kernel to share a 2.4 version kernel.
Linux VServer, Solaris Zones and Containers, FreeVPS and OpenVZ are all examples shared kernel virtualization solutions.
== Hypervisor Virtualization ==
The x86 family of CPUs provide a range of ''protection levels'' also known as ''rings'' in which code can execute. Ring 0 has the highest level privilege and it is in this ring in that the operating system kernel normally runs. Code executing in ring 0 is said to be running in ''system space'', ''kernel mode'' or ''supervisor mode''. All other code such as applications running on the operating system operate operates in less privileged rings, typically ring 3.
Under hypervisor virtualization a program known as a ''hypervisor'' (also known as a type 1 Virtual Machine Monitor or VMM) runs directly on the hardware of the host system in ring 0. The task of this hypervisor is to handle resource and memory allocation for the virtual machines in addition to providing interfaces for higher level administration and monitoring tools.
Clearly, with the hypervisor occupying ring 0 of the CPU, the kernels for any guest operating systems running on the system must run in less privileged CPU rings. Unfortunately, most operating system kernels are written explicitly to run in ring 0 for the simple reason that they need to perform tasks that are only available in that ring , such as the ability to execute privileged CPU instructions and directly manipulate memory. A number of different solutions to this problem have been devised in recent years, each of which is described below:
=== Paravirtualization ===
As outlined in the above illustration, in addition to the virtual machines, an administrative operating system and/or management console also runs on top of the hypervisor allowing the virtual machines to be managed by a system administrator. Hypervisor based virtualization solutions include Xen, VMware ESX Server and Microsoft's Hyper-V technology.
 
 
<htmlet>xen</htmlet>

Navigation menu