PV(Para-Vritralization)和FV(Full-Vritralization)的差別,主要以guest OS的硬件仿真程度做區分。
FV(全虛擬化):
FV 是一般較常看到的作法,所有的guest OS完全不會看到實際的硬件為何,只能使用由Supervisor所提供的所有虛擬硬件,因此,在這種機制下,guest OS動作的性能一定會大受虛擬接口的影響。另外還有一個特點,就是因為完全仿真的關係,不支持新的技術,連ACPI開關機的機制都無法使用,也就是當使用 者在FV的guest OS下,若直接觸動關機的按鈕(這裡的按鈕是由VMM所提供的,不是主機上的)會直接斷電,而不會進行關機程序。
PV(半虛擬化):
至於PV的作法,有鑒於一般Virtual Machine工具都是以完全仿真的方式,造成性能上的降低,因此,XEN在設計上,希望各操作系統可以在開發時就已經將XEN的技術包括進去,這樣在使 用時,就可以用局部仿真的方式,讓虛擬操作系統可以直接使用到硬件中的CPU、內存等,而不需要通過XEN做仿真的操作。這樣,若硬件都是由Virtual Machine仿真出來的,性能自然會變得比較慢,所以XEN所主推的概念就是,當操作系統默認支持XEN時就可以通過XEN的機制,直接使用到底層的硬件,而不是每個OS都要通過Hypervisor的接口,性能上就可大為提高。