There are several ways to implement virtualization. Two leading approaches are full virtualization and para-virtualization.
Full Virtualization
Full virtualization provides total abstraction of the underlying physical system and create a complete virtual system in which the guest operating system can execute. No modification is required in the guest operating system or application; the guest OS or application is not even aware that it is running within a virtualized environment. The guest OS executes on the VM just as they would on a physical system. This approach can be advantageous because it enables complete decoupling of the software from the hardware. As a result, full virtualization can streamline migration of applications and workloads between different physical systems. Full virtualization provides complete isolation of different virtualized applications, which makes this approach highly secure by design. Microsoft Virtual Server and Vmware ESX Server are examples of full virtualization.
Full article (417 words) »