上QQ阅读APP看书,第一时间看更新
四、纯软件虚拟化技术
传统计算机层次结构分为硬件层、操作系统层和应用层3层,其中操作系统统一控制、管理和分配整个计算机的硬件和软件资源。纯软件的虚拟化技术在该结构模式下,硬件层仍然安装操作系统,在其上部署虚拟机软件(virtual machine software,VMS),VMS根据实际应用需求可将物理计算机虚拟出多个分区,每个分区称为一个虚拟机。虚拟机与物理机的不同之处为前者是一种由一系列规则构成的技术规范,与具体的计算机无关。虚拟机具有完整的计算机应用环境,包括硬件层(VMS提供)、驱动接口层(VMS提供)、操作系统和应用层,属于用户级软件。
虚拟化技术实现的关键是VMS,x86处理器在保护模式下有Ring 0、Ring 1、Ring 2和Ring 3等不同的优先级,Ring 0优先级最高,Ring 3最低。Ring 0用于操作系统内核,Ring 1和Ring 2用于操作系统服务,Ring 3用于应用程序,位于Ring 0特权空间的操作系统可以优先访问各种硬件资源。VMS直接调用Ring 0控制并排列各个分区(虚拟机)访问硬件资源的优先顺序,要求在软件堆栈的较高层运行操作系统,一般是在Ring 1或与系统应用共用Ring 3。
基于纯软件虚拟化技术实现的主流VMS有VMware Workstation、Microsoft Virtual PC和HP xVM Virtual Box等。纯软件方式实现的虚拟机在测试、验证和管理维护方面比较费时,同时二进制码的翻译需要消耗处理器较多的计算资源,因此纯软件虚拟化运行系统开销将造成系统运行速度变慢,可能导致系统性能下降5%~20%。