1. Full virtualisation (also known as transparent virtualisation, or FV). This model creates an entire virtual computer. From a guest operating system perspective, the VM environment appears to be a generic system. No modifications to the guest operating system are required. This is a great model to enable legacy systems, but it requires hardware support for x86 to function well. Because of complexities in the x86 architecture, there are performance implications on such systems.
2. Para-virtualisation. Similar to transparent virtualisation, para-virtualisation (PV) addresses the performance issues encountered by full virtualisation. This does require the guest operating system to be modified in order to be virtualised -- hardware operations that can't efficiently be virtualised are simply replaced by direct calls to the hypervisor. These modifications eliminate the majority of overhead associated with FV. The overhead to provide FV is roughly two to four times that of PV.
3. Single kernel image (aka SKI). This model takes traditional resource management provided by the operating system further. It is the logical conclusion of containers: a single OS provides multiple instances of its services. For each application running in a container, it appears to have a distinct installation of the OS.