Types of Virtualization

There are 2 types of virtualization strategies and most virtualization technologies either fit one of the 2 category or mixed between them.

The main virtualization strategies are :

1- Full Virtualization (Emulation): which means the gues OS (VPS) does not have any direct access to the hardware and instead of that it will access a software layer that imitate the hardware underneath it.

2- Paravirtualization : GuestOs (VPS) will access the hardware directly without going through the software layer that imitate the hardware. This can be achieved securely by having a modified kernel on the guest that knows that it is running on paravirtualized environment and will ask the Host kernel for permission to access the hardware each time it needs to access it (to enforce security and fair resource sharing)

3- Operating System level Virtualization : GuesOS will act as isolated execution environment without the need for any virtualization here. All GuestOSs on the system are not considered a real Virtual Servers as they al have to use the kernel of the main OS (no kernel modification is possible)

Most Virtualization technologies can fit one of the 2 strategies or both of them. Examples on that:

Xen: can be both . in full virtualization mode it is called XEN HVM and called paravirtualized in paravirtualization mode.

OpenVZ: Operating System level

VMware: many types that are either fully virtualized or paravirtualized.

KVM : special type of virtualization that is mostly fully virtualized while using IO drivers that allow GuestOS direct access to the hardware