- 嵌入式虛擬化技術與應用:ACRN開源項目實踐
- 王洪波主編
- 721字
- 2024-03-04 17:18:39
1.2 VMM模型的分類
根據VMM在整個物理系統中(或上一層虛擬機系統中)實現位置及實現方法的不同,系統虛擬機的模型可以分為監控模型(Hypervisor Model)、宿主模型(Host-based Model)和混合模型(Hybrid Model),如圖1-3所示。

圖1-3 虛擬機監控器實現的三種模型
在監控模型中,VMM直接運行在裸機上(沒有操作系統)。采用這種模型的VMM運行在處理器的最高特權級,而所有的客戶機則運行在較低的特權級,以便VMM可以截獲所有客戶機OS對系統資源的訪問,從而實現對系統資源的虛擬化,如VMware ESX Server。監控模型下的VMM需要實現各種設備驅動程序,因此具有很高的工程復雜性,同時基于裸機的Hypervisor在安裝和部署上也具有較高的復雜性。監控模型也常常被稱為一型虛擬機監控器(Type-1 Hypervisor)模型。
在宿主模型中,VMM運行在宿主機OS(Host OS)內,作為宿主機操作系統的一個擴充。這種方式的虛擬機也叫宿主虛擬機,它使得VMM可以充分利用宿主機OS所提供的設備驅動程序及底層服務,因此它的工程復雜性相對較低。但缺點是VMM的開發受制于宿主機OS的接口,有些功能的實現可能比較困難或者需要修改宿主機OS,而后者在閉源操作系統中通常只有宿主機OS開發者才可以完成,因此局限性比較大。隨著開源操作系統內核Linux的普及,基于Linux的宿主模型的KVM Hypervisor成為主流的服務器虛擬化解決方案和嵌入式虛擬化解決方案。宿主模型的VMM通常由內核態VMM和用戶態VMM共同合作完成對虛擬平臺的模擬,如VMware Workstation[2]和Linux操作系統上的KVM虛擬機監控器[3]。宿主模型的VMM不需要去除原來機器上已經安裝的操作系統,安裝和部署也比較容易,因此容易被普通用戶所接受。宿主模型常常被稱為二型虛擬機監控器(Type-2 Hypervisor)模型。
混合模型集兩者的優點,既可以利用宿主機OS的現成設備驅動實現虛擬機的設備模型,又可以實現不同的安全模型,它的典型代表是微軟公司的Hyper-V和Citrix公司的Xen開源Hypervisor。