There are three types of server virtualisation - operating system virtualisation, hardware emulation & paravirtualisation.
Operating System (OS) Virtualisation - also known as "Containers" enables an operating system ("guest") to run on top a "host" operating system. The guest operating system makes the resources of the hardware on which it is installed available to the applications using it. The applications have no interaction with the host operating system. In fact according to these applications, they are the only one interacting with the hardware.
You can use this type of virtualisation (container virtualisation) to offer different operating systems to different users, with a single physical machine.
This is the ideal type of virtualisation for web hosting companies. They can host several different websites on the same physical machine, with each website having its own "container". To each website, they are in total control of the machine, but in reality they are sharing it with other websites.
One serious drawback of operating system virtualisation is that your choice operating system is limited depending on the host operating system.
Example operating system virtualisation:
Sun - Solaris Operating System.
Hardware Emulation
With this type of virtualisation, the virtualisation software also known as hypervisor serves up an emulated hardware environment for guest operating system to operate on. The emulated hardware environment is called a virtual machine monitor. I.e. the virtualisation software (hypervisor) "fools" the guest operating system, into thinking it has a real hardware environment on which to operate, by presenting it the virtual environment known as virtual machine monitor (VMM).
The hypervisor sits between the VMM and the physical hardware and acts as an interpreter between the two. Each guest OS runs on one VMM
This implementation implies multiple OS and also different types of Operating software can run on the same machine. For example you can run windows and Linux on the same machine or different versions of windows on the same physical machine.
Software development companies can use this type of virtualisation to test their software on different operating systems, without having to buy new machines for each operating system.
You can also use hardware emulation virtualisation to move your applications environments unto the same physical machine.
The major disadvantage of hardware emulation is that the hypervisor (virtualisation software) hurts performance, and you will often find that applications run slower on virtualized systems.
One other drawback is that since the VMM acts as an interpreter between the hypervisor and the physical machine, there is need for device drivers to be installed between the hypervisor and the VMM, however they is need to update these drivers from time to time. But the users are unable to install these devices. This might lead to a situation where some resources may not run on virtualized environment when there are hypervisor drivers for them.
Where to get hardware emulation virtualisation (hypervisor software):
VMware - VMware Server & ESX Server
Microsoft - VMware (supports X86 servers only, emphasis on MS OS), Hyper-V,
Xen - Open source alternative
Paravirtualisation
With a paravirtualisation implementation, the virtualisation software sits between the guest operating system and the resources of the physical machine. The virtualisation software controls access to the resources of the physical machine.
The main advantage of this implementation regime is that there is less performance overhead used. There is also no need for device drivers like is the case with hardware emulation.
It has its own drawbacks which include the fact that
Examples:
Xen from XenSource (found in Red Hat and Novell distributions
Virtual iron also from Xensource