Virtualization
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 is one example of a virtualization solution that utilizes OS level virtualization.
Paravirtualization
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.