什么是Virtualization Virtualization即虛擬化技術(shù),虛擬化是一個廣義的術(shù)語,在計算機方面通常是指計算元件在虛擬的基礎(chǔ)上而不是真實的基礎(chǔ)上運行。虛擬化技術(shù)可以擴大硬件的容量,簡化軟件的重新配置過程。CPU的虛擬化技術(shù)可以單CPU模擬多CPU并行,允許一個平臺同時運行多個操作系統(tǒng),并且應(yīng)用程序都可以在相互獨立的空間內(nèi)運行而互不影響,從而顯著提高計算機的工作效率。 特點 虛擬化技術(shù)與多任務(wù)以及超線程技術(shù)是完全不同的。多任務(wù)是指在一個操作系統(tǒng)中多個程序同時并行運行,而在虛擬化技術(shù)中,則可以同時運行多個操作系統(tǒng),而且每一個操作系統(tǒng)中都有多個程序運行,每一個操作系統(tǒng)都運行在一個虛擬的CPU或者是虛擬主機上;而超線程技術(shù)只是單CPU模擬雙CPU來平衡程序運行性能,這兩個模擬出來的CPU是不能分離的,只能協(xié)同工作。 虛擬化技術(shù)也與目前VMware Workstation等同樣能達到虛擬效果的軟件不同,是一個巨大的技術(shù)進步,具體表現(xiàn)在減少軟件虛擬機相關(guān)開銷和支持更廣泛的操作系統(tǒng)方面。 功能介紹 純軟件虛擬化解決方案存在很多限制。“客戶”操作系統(tǒng)很多情況下是通過VMM(Virtual MachineMonitor,虛擬機監(jiān)視器)來與硬件進行通信,由VMM來決定其對系統(tǒng)上所有虛擬機的訪問。在純軟件虛擬化解決方案中,VMM在軟件套件中的位置是傳統(tǒng)意義上操作系統(tǒng)所處的位置,而操作系統(tǒng)的位置是傳統(tǒng)意義上應(yīng)用程序所處的位置。這一額外的通信層需要進行二進制轉(zhuǎn)換,以通過提供到物理資源(如處理器、內(nèi)存、存儲、顯卡和網(wǎng)卡等)的接口,模擬硬件環(huán)境。這種轉(zhuǎn)換必然會增加系統(tǒng)的復(fù)雜性。此外,客戶操作系統(tǒng)的支持受到虛擬機環(huán)境的能力限制,這會阻礙特定技術(shù)的部署,如64位客戶操作系統(tǒng)。在純軟件解決方案中,軟件堆棧增加的復(fù)雜性意味著,這些環(huán)境難于管理,因而會加大確保系統(tǒng)可靠性和安全性的困難。 而CPU的虛擬化技術(shù)是一種硬件方案,支持虛擬技術(shù)的CPU帶有特別優(yōu)化過的指令集來控制虛擬過程,通過這些指令集,VMM會很容易提高性能,相比軟件的虛擬實現(xiàn)方式會很大程度上提高性能。虛擬化技術(shù)可提供基于芯片的功能,借助兼容VMM軟件能夠改進純軟件解決方案。由于虛擬化硬件可提供全新的架構(gòu),支持操作系統(tǒng)直接在上面運行,從而無需進行二進制轉(zhuǎn)換,減少了相關(guān)的性能開銷,極大簡化了VMM設(shè)計,進而使VMM能夠按通用標準進行編寫,性能更加強大。另外,在純軟件VMM中,目前缺少對64位客戶操作系統(tǒng)的支持,而隨著64位處理器的不斷普及,這一嚴重缺點也日益突出。而CPU的虛擬化技術(shù)除支持廣泛的傳統(tǒng)操作系統(tǒng)之外,還支持64位客戶操作系統(tǒng)。 |