1.1 硬件虚拟机概述
早在上世纪 70 年代, IBM 就实现了硬件抽象层的虚拟机技术,例如 System 360 、 370 、 CP-40 、 CP-67 。它最初是为了弥补系统架构上的不足而发展起来的。后来,随着虚拟机技术的成熟,对虚拟机需求的不断增加以及硬件性能的逐步提高,硬件抽象层虚拟机在强隔离功能和安全控制方面的优点使它得到了人们的青睐而得以被推广开来 [6] 。
目 前的硬件虚拟机一般都是利用虚拟机监视器作为隔离代码运行环境的中间层。虚拟机监控器的功能是为其上运行的客户操作系统提供硬件映射。从操作系统的角度 看,运行在虚拟机上与运行在其对应的物理计算机系统上是一样的。虚拟机监视器是能够为计算机系统创建高效、隔离的副本的软件。这些副本即为虚拟机。
对 硬件虚拟机来说,平台复制是虚拟机监控器的重要功能,而关键问题是在多个客户操作系统之间分配唯一的底层硬件资源。虚拟机监控器管理着硬件资源,所有的客 户操作系统及其上的应用程序都需要经过虚拟机监控器的控制。当执行某些指令,特别是涉及到共享硬件资源的指令,会通过虚拟机监控器解释这些指令,检查指令 的正确性并执行相关操作,客户软件不会感觉到虚拟机监控器的操作。
目前,学术界针对硬件虚拟机的划分方法主要有两种 [6] :
a) 一种是按照虚拟机监控器在计算机中所处的抽象层的位置划分;
b) 一种是按照虚拟机监控器的实现方式划分;
1.1.1 按照虚拟机监控器所处的位置分类
按照虚拟机监控器在计算机系统中所处的抽象层位置来划分,可以分为两种:
a) 一种是虚拟机监控器直接运行在硬件之上;