从虚拟化谈起(一)


                                                      

        虚拟化技术指将一台计算机虚拟为多台虚拟计算机(简称虚拟机),即一台计算机上同时运行多个虚拟机。通过虚拟化层(又称为虚拟机监控器,VMM)的模拟,虚拟机的操作系统仍然认为自己是独占一个系统,因此虚拟机可运行不同的操作系统,每个虚拟机都有自己的CPU,内存,IO设备等各种硬件设备,并且虚拟机之间彼此独立。如下图


       在没有虚拟化存在下,OS(操作系统)直接运行在物理硬件上,管理硬件资源。在虚拟化环境中,VMM不仅充当了OS的部分或者全部角色,对下管理真实的硬件,对上呈现虚拟机的硬件平台。VMM技术可以分为三类:Hypervisor模型、Hosted模型和混合模型。下图左为Hyervisor模型,右图为Hosted模型。


        在Hypervisor模型中,VMM不仅仅充当OS的全部角色,而且还需提供虚拟化功能。VMM管理CPU、内存和I/O设备等所有硬件资源,同时要负责CPU虚拟化、内存虚拟化、I/O设备虚拟化。VMM同时具备了管理物理硬件资源能力和提供虚拟化功能,所以物理资源的虚拟化效率会比较高,在安全方面,虚拟机的安全只依赖VMM的安全。但是VMM既充当了OS的角色又提供虚拟化业务,因此OS的很多功能都必须在VMM中重新实现,这无疑加重了VMM的实现难度。


        在Hosted(宿主)模型中,物理硬件资源由宿主的OS管理,VMM通常是Hosted中OS的独立的内核模块,VMM调用OS的服务来获取CPU、内存和I/O设备的信息,实现硬件虚拟化。Hosted模型最大的优点是可以充分利用现有操作系统的设备驱动程序,VMM无需为I/O设备实现驱动程序,因此VMM可以专注提供虚拟化功能,处理虚拟化业务。Hosted模型的缺点是VMM需要调用宿主OS的服务来获取硬件资源进行虚拟化,如果这些系统服务在设计之初并没有考虑到虚拟化的相关需求,那么可能对虚拟化的效率的功能造成一定影响。


        混合模型均衡了Hyervisor模型和Hosted模型的优缺点。这里不做进一步讨论。

下篇介绍虚拟化的条件。


参考资料:《虚拟化技术原理与实现》 广小明 胡杰等 电子工业出版社 2012.10

相关内容

    暂无相关文章