學習虛擬化知識,需要從最基礎的概念入手,下面介紹一組名詞(文章中虛擬化都是指X86平臺的虛擬化技術,以下不再逐一解釋):
軟件虛擬化
軟件虛擬化,簡單理解爲:使用純軟件來現實虛擬化,vm的操作指令不直接在物理機平臺上執行,(例如:qemu)而是由純軟件來模擬執行。(例如:cpu取指,解碼和執行等)因爲是軟件模擬實現虛擬化,所以性能較差。
硬件虛擬化
硬件虛擬化,簡單理解爲:vm的操作“直接”在物理平臺上執行。
硬件虛擬化需要cpu,主板芯片組,bios,和軟件的支持,是一套解決方案,其中,intel的cpu虛擬化技術是:Intel VT 。 amd的cpu虛擬化技術是:AMD-V
準虛擬化/半虛擬化
可以理解爲軟件虛擬化,例如:xen,xen在安裝時,修改了宿主機的內核。
全虛擬化
理解爲硬件虛擬化,例如:kvm ,硬件平臺“接受”虛擬機的指令
文章參考內容:
1.https://www.ibm.com/developerworks/cn/linux/l-cn-vt/
2.kvm虛擬化技術 - 實戰與原理分析
ps:
文章爲自己理解的內容,如果需要專業的介紹請參考ibm文檔和kvm虛擬化實戰