Hyper-V是微軟新一代的服務(wù)器虛擬化技術(shù),首個(gè)版本于2008年7月發(fā)布,目前最新版本是2011年4月發(fā)布R2 SP1版,Hyper-V有兩種發(fā)布版本:一是獨(dú)立版,如Hyper-V Server 2008,以命令行界面實(shí)現(xiàn)操作控制,是一個(gè)免費(fèi)的版本;二是內(nèi)嵌版,如Windows Server 2008,Hyper-V作為一個(gè)可選開啟的角色。
對(duì)于一臺(tái)沒有開啟Hyper-V角色的Windows Server 2008來說,這個(gè)操作系統(tǒng)將直接操作硬件設(shè)備,一旦在其中開啟了Hyper-V角色,系統(tǒng)會(huì)要求重新啟動(dòng)服務(wù)器。雖然重啟后的系統(tǒng)在表面看來沒什么區(qū)別,但從體系架構(gòu)上看則與之前的完全不同了。在這次重啟動(dòng)過程中,Hyper-V的Hypervisor接管了硬件設(shè)備的控制權(quán),先前的Windows Server 2008則成為Hyper-V的首個(gè)虛擬機(jī),稱之為父分區(qū),負(fù)責(zé)其他虛擬機(jī)(稱為子分區(qū))以及I/O設(shè)備的管理。Hyper-V要求CPU必須具備硬件輔助虛擬化,但對(duì)MMU硬件輔助虛擬化則是一個(gè)增強(qiáng)選項(xiàng)。
其實(shí)Hypervisor僅實(shí)現(xiàn)了CPU的調(diào)度和內(nèi)存的分配,而父分區(qū)控制著I/O設(shè)備,它通過物理驅(qū)動(dòng)直接訪問網(wǎng)卡、存儲(chǔ)等。子分區(qū)要訪問I/O設(shè)備需要通過子分區(qū)操作系統(tǒng)內(nèi)的VSC(虛擬化服務(wù)客戶端),對(duì)VSC的請(qǐng)求由VMBUS(虛擬機(jī)總線)傳遞到父分區(qū)操作系統(tǒng)內(nèi)的VSP(虛擬化服務(wù)提供者),再由VSP重定向到父分區(qū)內(nèi)的物理驅(qū)動(dòng),每種I/O設(shè)備均有各自的VSC和VSP配對(duì),如存儲(chǔ)、網(wǎng)絡(luò)、視頻和輸入設(shè)備等,整個(gè)I/O設(shè)備訪問過程對(duì)于子分區(qū)的操作系統(tǒng)是透明的。其實(shí)在子分區(qū)操作系統(tǒng)內(nèi),VSC和VMBUS就是作為I/O設(shè)備的虛擬驅(qū)動(dòng),它是子分區(qū)操作系統(tǒng)首次啟動(dòng)時(shí)由Hyper-V提供的集成 服務(wù)包安裝,這也算是一種半虛擬化的設(shè)備,使得虛擬機(jī)與物理I/O設(shè)備無關(guān)。如果子分區(qū)的操作系統(tǒng)沒有安裝Hyper-V集成服務(wù)包或者不支持Hyper-V集成服務(wù)包(對(duì)于這種操作系統(tǒng),微軟稱之為Unenlightened OS,如未經(jīng)認(rèn)證支持的Linux版本和舊的Windows版本),則這個(gè)子分區(qū)只能運(yùn)行在仿真狀態(tài)。其實(shí)微軟所宣稱的啟蒙式(Enlightenment)操作系統(tǒng),就是支持半虛擬化驅(qū)動(dòng)的操作系統(tǒng)。
Hyper-V的Hypervisor是一個(gè)非常精簡的軟件層,不包含任何物理驅(qū)動(dòng),物理服務(wù)器的設(shè)備驅(qū)動(dòng)均是駐留在父分區(qū)的Windows Server 2008中,驅(qū)動(dòng)程序的安裝和加載方式與傳統(tǒng)Windows系統(tǒng)沒有任何區(qū)別。因此,只要是Windows支持的硬件,也都能被Hyper-V所兼容。