Virtualization

From Citizendium
Revision as of 12:46, 2 August 2007 by imported>Eric M Gearhart (Added link to Paravirtualization image)
Jump to navigation Jump to search

In Computing, Virtualization is a broad term that usually refers to the abstraction of resources on a computer. Usually this is accomplished using either a virtual machine or an operating system that has tools to enable virtual environments to run inside it.

A simple way of looking at virtualization is that you run a "computer in a computer."

Terms used in this article refer to 'guests' and a 'host.' The host system is what runs the software that makes virtualization possible. A guest is an operating system that runs inside a host.

There are several distinct types of virtualization. A description of several common ways of implementing virtualization follows.

OS Level Virtualization

Generally OS level virtualization involves one running kernel in a system, but several virtual environments running inside that kernel. OpenVZ, User Mode Linux and Solaris Zones are examples of virtualization solutions that utilize OS level virtualization.

Paravirtualization

A very simple illustration of several virtual machines running on top of a host (called the dom0 in this example)

When several 'virtual machines' run on top of a 'host' operating system, this is known as paravirtualization. When an operating system runs inside a virtual machine in this way it runs a completely seperate kernel, and in fact can be an entirely different operating system. There are real world examples of virtual machines running Microsoft Windows that run on top of a Linux server, for example. The reverse is also possible - Linux could run inside a virtual machine that runs on top of Windows Server for example.

Xen and VMware are two examples of software products that implement paravirtualization.