1.1 需求分析
目前的虚拟机监控器,大多都是直接运行在操作系统之上的,例如 VMware workstation, KVM, Virtual PC 等。只有 Xen 和 VMware ESX 提供运行在硬件上的机制。
但是, Xen 虚拟机监控器使用的是 Linux 内核,因此代码量过于庞大,维护起来非常的困难,而且由于代码量过大,其安全性也相对地较难得到保障。 VMware ESX 虽然提供了它自己设计和实现的一个精简的操作系统内核,可以说,它是目前市面上最为优秀的虚拟机监控器,但是它是闭源的,无法获取源码,而且需要昂贵的授权费用。
基于以上原因,我们提出了设计一个轻量级的虚拟机监控器的方案,即 Smart-VM. 。 Smart-VM 将采用开源的形式,且它提供了一个精简的操作系统内核作为虚拟机监控器的核心。
1.1.1 目标功能
Smart-VM 是一个轻量级的虚拟机,提供了一个专用的操作系统内核。它的主要目标功能包括:
a) 简单的用户交互:即命令行控制台;
b) 虚拟硬件平台:针对每个客户操作系统,虚拟出一套硬件设备;
c) 管理虚拟机:当同时运行多个虚拟机的时候,需要协调多个虚拟机之间的运行;
d) 管理硬件资源:由于 Smart-VM 是直接运行在硬件上的,因此需要管理硬件资源。
1.2 Smart-VM 总体结构
Smart-VM 是在 PC 机上运行的虚拟化技术平台,它提供了同时运行多个客户操作系统的机制。对于每个虚拟计算机, Smart-VM 都会虚拟出一套硬件设备,同时, Smart-VM 又要管理真实的硬件设备,协调各个客户操作系统对硬件设备资源的访问。如图 5.1 。
图 5 . 1 Smart-VM 总体结构
Smart-VM 虚拟化层:为客户操作系统虚拟出一套硬件平台供其使用;
Smart-VM 操作系统:负责管理硬件资源,同时还要协调好客户操作系统对硬件资源的访问;
1.3 客户操作系统
相对于半虚拟化来说, Intel-VT 技术的优点就是不需要修改客户操作系统的内核,因此,客户操作系统在虚拟平台上的运作模型也没有改变 ( 客户操作系统的运作模型如图 5.2 ,正常操作系统的运作模型是图 5.3) ,极大地降低了开发虚拟机监控器的难度。因此,对于客户操作系统来说,它是感觉不到虚拟机监控器的存在的。