Full virtualization vs. paravirtualization

Let’s start with a quick discussion of two distinct types of

virtualization schemes: full virtualization and paravirtualization. In

full virtualization, the guest operating system runs on top of a

hypervisor that sits on the bare metal. The guest is unaware that it

is being virtualized and requires no changes to work in this

configuration. Conversely, in paravirtualization, the guest operating

system is not only aware that it is running on a hypervisor but

includes code to make guest-to-hypervisor transitions more efficient.

In the full virtualization scheme, the hypervisor must emulate device

hardware, which is emulating at the lowest level of the conversation

(for example, to a network driver). Although the emulation is clean at

this abstraction, it’s also the most inefficient and highly

complicated. In the paravirtualization scheme, the guest and the

hypervisor can work cooperatively to make this emulation efficient.

The downside to the paravirtualization approach is that the operating

system is aware that it’s being virtualized and requires modifications

to work.

Logo

更多推荐