<< 点击显示目录 >> 主页 Hypervisor使用助手 > Hypervisor介绍 > 虚拟化技术特点 |
虚拟化技术特点
hypervisor (虚拟机管理程序)之于操作系统类似于操作系统之于进程。它们为系统运行提供独立的虚拟硬件平台,而虚拟硬件平台反过来又提供对底层机器的虚拟的完整访问。虚拟化就是通过某种方式隐藏底层物理硬件的过程,从而让多个操作系统可以透明地使用和共享它。这种架构的另一个更常见的名称是平台虚拟化。在典型的分层架构中,提供平台虚拟化的层称为 hypervisor (有时称为虚拟机管理程序 或 VMM:Virtual Machine Monitor),下图为常见的硬件虚拟化的简单分层架构。
hypervisor(不管是什么类型)仅是一个从其来宾操作系统(Guest OS)抽象机器硬件的分层应用程序。通过这种方式,每个来宾操作系统看到的仅是一个 VM 而不是真实的硬件机器。我们大致看一下 hypervisor 的内部组成,以及它在 VM(Virtual Machine)上的表示。
在较高级别上,hypervisor 需要少量的资源启动其他操作系统:一个需要驱动的内核映像、一些硬件配置(比如 IP 地址和所需的内存大小)、一个存储硬盘和一个网络设备。磁盘和网络设备通常映射到机器的物理磁盘和网络设备(如下图)。最后,需要使用Guest OS的工具来启动和管理Guest OS,实现硬件的资源利用与控制。
B&R Hypervisor为基于硬件的的全虚拟化方案,即基于Intel-VT 硬件辅助虚拟化技术实现的。Intel-VT 硬件辅助虚拟化技术带有特别优化过的指令集来自动控制虚拟化过程,从而极大简化 VMM 的设计,VMM 的性能也能得到很大提高。其中 IA-32 处理器的虚拟化技术称为 VT-x。VT-x 为 IA 32 处理器增加了两种操作模式:VMX root operation 和 VMX non-root operation。VMM 自己运行在 VMX root operation 模式,VMX non-root operation 模式则由 Guest OS 使用。两种操作模式都支持 Ring 0 ~ Ring 3 这 4 个特权级,因此 VMM 和 Guest OS 都可以自由选择它们所期望的运行级别。
B&R Hypervisor提供了对系统硬件资源进行分区并将一个或多个逻辑CPU,存储区域和外围设备与目标系统上运行的不同操作系统相关联的功能。在运行时,每个操作系统在逻辑上与其他操作系统分离,并且不会被其他操作系统的操作损坏或破坏。
下图即为B&R Hypervisor的结构表现形式:
上图显示了B&R Hypervisor如何在其运行时环境中包含多个操作系统的示例。Hypervisor负责同时运行和断开两个操作系统。此外,Hypervisor提供定义的系统间通信通道(虚拟以太网接口,共享存储器,事件)。
贝加莱使用的虚拟化技术,为保证实时操作系统的实时性,进行了部分优化与调整:
GPOS正在“受监控模式”下运行,其中操作系统在安全部分中完全未经修改地运行。 在此模式下,可以保证操作系统不会以任何方式损害或影响并行运行的其他操作系统。 然而,这是以牺牲一点点性能为代价的。
为了保证ARemb的硬实时性和确定性,B&R Hypervisor具有一种称为“特权模式”的模式。 在特权模式下,操作系统保留完全硬件访问权限并使用B&R Hypervisor提供的半虚拟化接口。 这允许ARemb以本机速度运行,而不会由于Hypervisor的使用而产生任何延迟。
贝加莱使用的虚拟化技术为基于Linux hypervisor实现的一种实现。其生成的安装资源框架如下:
对应着USB Installation Stick内文件: