The Differences Between x86 Virtualisation Techniques
This translation process between the guest operating system and the underlying hardware is the pivot upon which the three x86 virtualisation techniques differ.
Full Virtualisation – This technique was first developed in the late 1990s and has since become the de-facto standard. Guest operating system requests undergo a process of binary translation via the VMM to and from the hardware.
User calls initiated by application code are directly executed on the CPUs and it is this combination of binary and direct techniques that is known as full virtualisation.
The guest operating systems are entirely unaware they are virtualised and the VMM provides each of them a set of virtual BIOSes, devices and memory.
This form of virtualisation provides the ultimate level of isolation between virtual machines and is generally performant.
Paravirtualisation – This approach is also known as OS assisted virtualisation. It relies upon the modification of the operating system to enable the initiation of hypercalls from within that OS to the hypervisor. Since an element of guest OS modification is required, paravirtualisation introduces issues related to compatibility and portability.
Support can also be a problem where complex modifications to the running kernel of differing operating systems are required.
Paravirtualisation is useful in scenarios where developing binary translation support is too onerous or in combination with fully virtualised platforms by providing paravirtualised devices in order to supplement core virtual machine functionality.
Recommended Articles
blog comments powered by Disqus





