硬件輔助虛擬化

一直去遷就X86的架構的CPU也不好,所以出現了硬件輔助虛擬化它是依照了IBM的大型機的虛擬化的解決方案。

image.png

我們在上面說了基於軟件的全虛擬化和半虛擬化,其實距離我們最近的還是硬件虛擬化,因爲我們平時用vmware workstation的時候就需要打開cpu的 虛擬化功能,其實這時打開的虛擬化功能就是硬件輔助虛擬化,默認硬件輔助虛擬化是關閉的,關閉硬件輔助虛擬化會節省一些資源。

硬件虛擬化目前有intelVT-X技術和AMDAMD-V這兩種技術,其核心思想都是通過引入新的指令和運行模式。其實很好理解,就是把CPU劃分成兩個模式,根模式和非根模式,並且每個模式下都有環0到環3這四個級別,所以我們可以把每個模式看做是一個單獨的CPU,如下圖:

image.png

OS的用戶空間運行在非根模式的環3,內核空間運行在非根模式下的環0

VMM的用戶空間運行在根模式的環3,內核空間運行在根模式下的環0

OS的操作和VMM的之間的操作互不干擾,這樣就避免了衝突問題,無論是OS還是VMM都可以直接操作硬件,沒有捕獲這一動作,並且有硬件的參與,所以效率就會提高很多,當然肯定是根模式下的環0權限更高,非根模式下的環0權限就小很多,不然的話,OS運行一個關機命令,豈不是把整個VMM給關了?

可能你會問了,明明是一個CPU,怎樣就成兩個了?是,確實是一個CPU,即使在邏輯上我們將其分成兩個,我們還是難以接受和理解,不理解就不理解嘛!記下來,接着向下學,總有一天你會理解的,因爲這就是現實,不能因爲一個小知識點不理解就不向下學了,只有接受現實的人才是時間的朋友!




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章