虛擬化技術(shù)可以擴(kuò)大硬件的容量,簡(jiǎn)化軟件的重新配置過(guò)程。CPU的虛擬化技術(shù)可以單CPU模擬多CPU并行,允許一個(gè)平臺(tái)同時(shí)運(yùn)行多個(gè)操作系統(tǒng),并且應(yīng)用程序都可以在相互獨(dú)立的空間內(nèi)運(yùn)行而互不影響,從而顯著提高計(jì)算機(jī)的工作效率。
虛擬化技術(shù)與多任務(wù)以及超線程技術(shù)是完全不同的。多任務(wù)是指在一個(gè)操作系統(tǒng)中多個(gè)程序同時(shí)并行運(yùn)行,而在虛擬化技術(shù)中,則可以同時(shí)運(yùn)行多個(gè)操作系統(tǒng),而且每一個(gè)操作系統(tǒng)中都有多個(gè)程序運(yùn)行,每一個(gè)操作系統(tǒng)都運(yùn)行在一個(gè)虛擬的CPU或者是虛擬主機(jī)上;而超線程技術(shù)只是單CPU模擬雙CPU來(lái)平衡程序運(yùn)行性能,這兩個(gè)模擬出來(lái)的CPU是不能分離的,只能協(xié)同工作。
虛擬化技術(shù)也與目前VMware Workstation等同樣能達(dá)到虛擬效果的軟件不同,是一個(gè)巨大的技術(shù)進(jìn)步,具體表現(xiàn)在減少軟件虛擬機(jī)相關(guān)開(kāi)銷和支持更廣泛的操作系統(tǒng)方面。
純軟件虛擬化解決方案存在很多限制。“客戶”操作系統(tǒng)很多情況下是通過(guò)VMM(Virtual Machine Monitor,虛擬機(jī)監(jiān)視器)來(lái)與硬件進(jìn)行通信,由VMM來(lái)決定其對(duì)系統(tǒng)上所有虛擬機(jī)的訪問(wèn)。(注意,大多數(shù)處理器和內(nèi)存訪問(wèn)獨(dú)立于VMM,只在發(fā)生特定事件時(shí)才會(huì)涉及VMM,如頁(yè)面錯(cuò)誤。)在純軟件虛擬化解決方案中,VMM在軟件套件中的位置是傳統(tǒng)意義上操作系統(tǒng)所處的位置,而操作系統(tǒng)的位置是傳統(tǒng)意義上應(yīng)用程序所處的位置。這一額外的通信層需要進(jìn)行二進(jìn)制轉(zhuǎn)換,以通過(guò)提供到物理資源(如處理器、內(nèi)存、存儲(chǔ)、顯卡和網(wǎng)卡等)的接口,模擬硬件環(huán)境。這種轉(zhuǎn)換必然會(huì)增加系統(tǒng)的復(fù)雜性。此外,客戶操作系統(tǒng)的支持受到虛擬機(jī)環(huán)境的能力限制,這會(huì)阻礙特定技術(shù)的部署,如64位客戶操作系統(tǒng)。在純軟件解決方案中,軟件堆棧增加的復(fù)雜性意味著,這些環(huán)境難于管理,因而會(huì)加大確保系統(tǒng)可靠性和安全性的困難。
而CPU的虛擬化技術(shù)是一種硬件方案,支持虛擬技術(shù)的CPU帶有特別優(yōu)化過(guò)的指令集來(lái)控制虛擬過(guò)程,通過(guò)這些指令集,VMM會(huì)很容易提高性能,相比軟件的虛擬實(shí)現(xiàn)方式會(huì)很大程度上提高性能。虛擬化技術(shù)可提供基于芯片的功能,借助兼容VMM軟件能夠改進(jìn)純軟件解決方案。由于虛擬化硬件可提供全新的架構(gòu),支持操作系統(tǒng)直接在上面運(yùn)行,從而無(wú)需進(jìn)行二進(jìn)制轉(zhuǎn)換,減少了相關(guān)的性能開(kāi)銷,極大簡(jiǎn)化了VMM設(shè)計(jì),進(jìn)而使VMM能夠按通用標(biāo)準(zhǔn)進(jìn)行編寫(xiě),性能更加強(qiáng)大。另外,在純軟件VMM中,目前缺少對(duì)64位客戶操作系統(tǒng)的支持,而隨著64位處理器的不斷普及,這一嚴(yán)重缺點(diǎn)也日益突出。而CPU的虛擬化技術(shù)除支持廣泛的傳統(tǒng)操作系統(tǒng)之外,還支持64位客戶操作系統(tǒng)。
兩大CPU巨頭Intel和AMD都想方設(shè)法在虛擬化領(lǐng)域中占得先機(jī),但是AMD的虛擬化技術(shù)在時(shí)間上要比Intel落后幾個(gè)月。Intel自2005年末開(kāi)始便在其處理器產(chǎn)品線中推廣應(yīng)用Intel Virtualization Technology(IntelVT)虛擬化技術(shù)。目前,Intel已經(jīng)發(fā)布了具有IntelVT虛擬化技術(shù)的一系列處理器產(chǎn)品,包括桌面平臺(tái)的Pentium46X2系列、PentiumD9X0系列和Pentium EE9XX系列,以及服務(wù)器/工作站平臺(tái)上的基于Paxville核心的Xeon系列;同時(shí)絕大多數(shù)的Intel下一代主流處理器,包括Merom核心移動(dòng)處理器,Conroe核心桌面處理器,Woodcrest核心服務(wù)器處理器,以及基于Montecito核心的Itanium2高端服務(wù)器處理器都將支持IntelVT虛擬化技術(shù)。而AMD的具有代號(hào)為“Pacific”虛擬化技術(shù)的CPU不久也會(huì)發(fā)布。
Intel和AMD都想方設(shè)法在虛擬化領(lǐng)域中占得先機(jī),但是AMD的虛擬化技術(shù)在時(shí)間上要比Intel落后幾個(gè)月。Intel自2005年末開(kāi)始便在其處理器產(chǎn)品線中推廣應(yīng)用Intel Virtualization Technology(IntelVT)虛擬化技術(shù)。目前,Intel已經(jīng)發(fā)布了具有IntelVT虛擬化技術(shù)的一系列處理器產(chǎn)品,包括桌面平臺(tái)的Pentium46X2系列、Pentium D9X0系列和PentiumEE9XX系列,以及服務(wù)器/工作站平臺(tái)上的基于Paxville核心的Xeon系列;同時(shí)絕大多數(shù)的。