2. 系统虚拟化
系统虚拟化是指将一台物理计算机系统虚拟化为一台或多台虚拟计算机系统,每个虚拟的计算机系统(简称虚拟机)都拥有自己的虚拟硬件(如CPU、内存和设备等),来提供一个独立的虚拟机执行环境。这个虚拟化层被称为虚拟机监控器。
系统虚拟化:
本质上来讲, 虚拟机系统和物理机系统可以是完全不同的ISA。例如, 可以在一个x86物理机上运行一个ARM的虚拟机. 但是,不同的ISA使得虚拟机的每一条指令都需要在物理机上模拟执行,从而造成较大的性能下降。当然相同体系结构的系统虚拟化通常会有比较好的性能, VMM也会实现比较简单, 虚拟机大部分指令可在处理器上直接运行, 只有那些需要虚拟化的指令才会由VMM进行处理.
1974年,Popek和Goldberg定义了虚拟机可以看作是物理机的一种高效隔离的复制。该定义蕴含了三层含义(同质、高效和资源受控)。
⓵ 同质,虚拟机的运行环境和物理机的环境在本质上需要是相同的,但是在表现上能够有一定的差异。例如虚拟机看到的处理器个数和物理机上实际的处理器个数可以不一样,但虚拟机中和物理机上看到的处理器必须是同一种基本类型(!!!)。
⓶ 高效,要求虚拟机中运行的软件接近物理机上直接运行的性能。因此,软件在虚拟机中运行时,大多数的指令是直接运行在硬件上的,只有少量指令需要经过VM处理或模拟。
⓷ 资源受控,VMM对系统资源拥有完全控制能力和管理权限。
相同ISA的系统虚拟化取得了很大的技术和解决方案层面的发展. 本书内容以相同ISA的系统虚拟化展开, 以x86为例, 介绍系统虚拟化的相关内容.