虛擬機監(jiān)視器(VMM)是一個系統(tǒng)軟件,可以維護多個高效的、隔離的程序環(huán)境,該環(huán)境支持用戶直接去訪問真實硬件,而這樣的程序環(huán)境就稱為虛擬機。虛擬機是一個真實存在的計算機系統(tǒng)的硬軟件副本,其中部分虛擬處理器指令子集以本地(native)方式執(zhí)行在宿主(host)處理機上,其他部分指令以仿真方式執(zhí)行。從以上定義可以看出,VMM管理計算機系統(tǒng)的真實資源,為虛擬機提供接口。使用VMM 有以下優(yōu)點:
a)VMM的實現(xiàn)相比于Linux或Windows這類操作系統(tǒng)的實現(xiàn)要簡單很多。因為VMM避免了像TCWIP Sockets和文件系統(tǒng)這類高級抽象,這將有利于安全性和可靠性,也便于擴展和修改。
b)VMM允許系統(tǒng)管理者配置虛擬機運行的環(huán)境。虛擬機的各項設(shè)置可以與真實機不同,如真實機有512 MB內(nèi)存,可以設(shè)置虛擬機內(nèi)存64 MB,有利于開發(fā)者在各種環(huán)境下測試軟件。
c)VMM允許在相同硬件上同時執(zhí)行不同的操作系統(tǒng),稱之為GuestOS。系統(tǒng)管理者可以用這種能力來聯(lián)合多個使用不充分的分散計算機,為不可信和不安全代碼增強了隔離性,同時增強了可靠性,在一個虛擬機中的軟件發(fā)生故障也不會影響到其他虛擬機。
d)當操作系統(tǒng)升級后,仍然可以在虛擬機中運行早期開發(fā)的軟件,由此可以降低軟件開發(fā)成本。同時成本的降低還來源于減少硬件產(chǎn)品的購置。
e)針對擁有10~100個處理器的可擴展計算機,VMM能夠方便地開發(fā)功能強大、可靠的系統(tǒng)軟件。
f)虛擬機控制了程序運行的整個軟件環(huán)境,包括操作系統(tǒng)和應用軟件,因此可以封裝程序地址空間和進程狀態(tài),然后在不同的硬件上熱遷移(hot migration)整個工作環(huán)境,由此提高性能和達到負載平衡。