/dev/kvm 裝置
虛擬化分為軟體虛擬化和硬體虛擬化,而且遵循 intercept 和 virtualize 的規律。
記憶體虛擬化也分為基於軟體的記憶體虛擬化和硬體輔助的記憶體虛擬化,其中,常用的基於軟體的記憶體虛擬化技術為「影子頁表」技術,硬體輔助記憶體虛擬化技術為 intel 的 ept(extend page table,擴充套件頁表)技術。
虛擬機器本質上是 host 機上的乙個程序,按理說應該可以使用 host 機的虛擬位址空間,但由於在虛擬化模式下,虛擬機器處於非 root 模式,無法直接訪問 root 模式下的 host 機上的記憶體。
這個時候就需要 vmm 的介入,vmm 需要 intercept (截獲)虛擬機器的記憶體訪問指令,然後 virtualize(模擬)host 上的記憶體,相當於 vmm 在虛擬機器的虛擬位址空間和 host 機的虛擬位址空間中間增加了一層,即虛擬機器的實體地址空間,也可以看作是 qemu 的虛擬位址空間(虛擬機器是由 qemu 模擬生成的
KVM 記憶體虛擬化
除了 cpu 虛擬化,另乙個關鍵是記憶體虛擬化,通過記憶體虛擬化共享物理系統記憶體,動態分配給虛擬機器。虛擬機器的記憶體虛擬化很象現在的作業系統支援的虛擬記憶體方式,應用程式看到鄰近的記憶體位址空間,這個位址空間無需和下面的物理機器記憶體直接對應,作業系統保持著虛擬頁到物理頁的對映。現在所有的 x8...
KVM 記憶體虛擬化及其實現
為保證客戶機作業系統在虛擬環境下觀察到的記憶體空間布局與在實際物理機環境下相同,就必須對記憶體進行虛擬化。對於記憶體虛擬化,目前主要有兩種實現方法,其一是利用傳統的影子頁表進行虛擬化,其二就是通過硬體輔助進行實現。本文主要闡述了這兩種記憶體虛擬化方法在 kvm 上的具體實現。kvm kernel v...
kvm記憶體虛擬化及其實現
kvm kernel virtual machine 作為開源的核心虛擬機器,越來越受到 ibm,redhat,hp,intel 等各大公司的大力支援,基於 kvm 的開源虛擬化生態系統也日益完善。而實現 kvm 虛擬化,使客戶機高效地 安全地使用宿主機的記憶體資源,就必須實現記憶體的虛擬化。為了實...