計算基礎知識:CPU虛擬化
虛擬化技術(shù)的分類主要有服務器虛擬化、存儲虛擬化、網(wǎng)絡虛擬化、應用虛擬化。
服務器虛擬化技術(shù)按照虛擬對象來分,可分為:CPU虛擬化、內(nèi)存虛擬化、I/O虛擬化;按照虛擬化程度可分為:全虛擬化、半虛擬化、硬件輔助虛擬化。
將不同的虛擬化對象和程度組合,可得出9種不同的服務器虛擬化技術(shù)。
首先詳細介紹下服務器虛擬化之CPU虛擬化,后續(xù)講解中再詳細介紹內(nèi)存虛擬化及I/O虛擬化。
CPU虛擬化
主要采用優(yōu)先級壓縮技術(shù)(Ring Compression)和二進制代碼翻譯技術(shù)(BinaryTranslation)。優(yōu)先級壓縮技術(shù)讓VMM和Guest運行在不同的特權(quán)級下。對x86架構(gòu)而言,即VMM運行在最高特權(quán)級別Ring 0下,Guest OS運行在Ring 1下,用戶應用運行在Ring 3下。因此,Guest OS的核心指令無法直接下達到計算機系統(tǒng)硬件執(zhí)行,而是需要經(jīng)過VMM的捕獲和模擬執(zhí)行(部分難以虛擬化的指令需要通過Binary Translation技術(shù)進行轉(zhuǎn)換)。
主要采用Hypercall技術(shù)。Guest OS的部分代碼被改變,從而使Guest OS會將和特權(quán)指令相關的操作都轉(zhuǎn)換為發(fā)給VMM的Hypercall(超級調(diào)用),由VMM繼續(xù)進行處理。而Hypercall支持的批處理和異步這兩種優(yōu)化方式,使得通過Hypercall能得到近似于物理機的速度。
目前主要有Intel的VT-x和AMD的AMD-V這兩種技術(shù)。其核心思想都是通過引入新的指令和運行模式,使VMM和Guest OS分別運行在不同模式(ROOT模式和非ROOT模式)下,且Guest OS運行在Ring 0下。通常情況下,Guest OS的核心指令可以直接下達到計算機系統(tǒng)硬件執(zhí)行,而不需要經(jīng)過VMM。當Guest OS執(zhí)行到特殊指令的時候,系統(tǒng)會切換到VMM,讓VMM來處理特殊指令。
CPU的虛擬化技術(shù)可以單CPU模擬多CPU并行,允許一個平臺同時運行多個操作系統(tǒng),并且應用程序都可以在相互獨立的空間內(nèi)運行而互不影響,從而顯著提高計算機的工作效率。
GuestOS負責第2級調(diào)度,即線程或進程在VCPU上的調(diào)度(將核心線程映射到相應的虛擬CPU上)。
VMM(Virtual Machine Monitor)負責第1級調(diào)度,即VCPU在物理處理單元上的調(diào)度。
兩級調(diào)度的調(diào)度策略和機制不存在依賴關系。VMM負責物理處理器資源在各個虛擬機之間的分配與調(diào)度,本質(zhì)上即把各個虛擬機中的VCPU按照一定的策略和機制調(diào)度在物理處理單元上可以采用任意的策略來分配物理資源,滿足虛擬機的不同需求。
↑點擊上方“大數(shù)據(jù)架構(gòu)師專家”免費訂閱
在BIOS中開啟虛擬化技術(shù)
很多朋友,在虛擬機安裝系統(tǒng)的時候出現(xiàn)如下的圖片,意味著你的電腦沒有開啟虛擬化,這個時候我們需要重啟電腦,到BIOS把虛擬化開啟
處理方式 。
1 進入bios(一般機器是按F2,當然要看機器的型號,不是每一個都一樣的。)
以華碩主板為例
進入高級模式找到cpu虛擬技術(shù)
打開虛擬技術(shù)支持
如果你的不是華碩電腦,可以進入bios,找到Security, Virtualization 選擇Enabled就可以了,如下圖:
不同的主板選項會有所不同
注意
在你更改設置后,禁用或啟用虛擬化,建議關閉計算機最小10秒,然后重新啟動機器(冷啟動),確保正常開啟虛擬化技術(shù)。如果你的主板是最新的,它在冷啟動后能夠檢測到配置變化。每當我改變我的主板上的VT設置,它都會自動推遲下次重新啟動生效。
“
看自己的電腦是否支持虛擬化技術(shù)或是否開啟虛擬化技術(shù),對我們安裝使用虛擬機有非常大的用處。查看方法一般有兩種,一種是進入BIOS查看,另一種比較簡單,就是直接使用工具查看。那接下來,我們就去學習,使用工具如何查看是否支持虛擬化技術(shù)。
【v005】如何查看自己的電腦是否支持虛擬化技術(shù)
1.下載工具【LeoMoon CPU-V】,并雙擊打開。
2.如下圖所示,打開工具后,在工具的左上角【處理器架構(gòu)】顯示64,那說明處理器可以安裝32位和64位的系統(tǒng)。如果顯示32,則說明處理器無法安裝64位的系統(tǒng)。
3.如下圖所示,在工具的右上角【操作系統(tǒng)架構(gòu)】顯示,說明當前的操作系統(tǒng)位數(shù)是64,如果你安裝的是32位操作系統(tǒng),那么這里面會顯示32。
4.如下圖所示,在工具的左下角【VT-x支持狀態(tài)】顯示綠色的勾,說明處理器是支持虛擬化技術(shù);如果是紅色的叉,那說明處理器不支持虛擬化技術(shù),不支持的話,那就不用看右下角的顯示了。
5. 如下圖所示,在工具的左下角【VT-x支持狀態(tài)】顯示綠色的勾,說明已經(jīng)開啟虛擬化技術(shù);如果是紅色的叉,那說明還沒有開啟虛擬化技術(shù),這時候得進入BIOS開啟虛擬化技術(shù)或者把電腦上的安全軟件都關閉再檢測。
結(jié)語:如果電腦中有安全類軟件,有時候也會出現(xiàn)虛擬化技術(shù)沒有開啟的情況。