硬件辅助虚拟化与研究框架搭建
1. 硬件辅助虚拟化技术
早期在没有硬件辅助虚拟化技术时,x86 架构实现虚拟化存在诸多限制。大约在 2005 年,出现了两种主要的硬件扩展实现:Intel 虚拟化技术扩展(VT - x)和 AMD 虚拟化(AMD - V)。这里主要介绍 VT - x 的相关内容。
1.1 VMX 指令集与操作模式
Intel 引入了虚拟机扩展(VMX)指令集,新增了两种处理器执行模式:VMX 根操作模式和 VMX 非根操作模式。VMM 软件在 VMX 根模式下运行,而虚拟机则在 VMX 非根模式下运行。需要注意的是,VMX 操作模式与环级别是完全无关的,在 VMX 非根模式下的虚拟机可以在任何环级别执行代码,这解决了环压缩的问题。
从根模式到非根模式的转换称为 VM - Enter,从非根模式到根模式的转换称为 VM - Exit。VM - Exit 类似于 Goldberg 硬件虚拟化器中描述的软件不可见陷阱机制。借助 VMX 操作模式引入的新陷阱机制,VMM 不再需要为虚拟化目的使用 IDT,但仍需用它来处理硬件异常和中断。
1.2 虚拟机控制结构(VMCS)
在 VMX 根模式下可以访问虚拟机控制结构(VMCS)。通过操作这个结构,VMM 可以控制许多虚拟化方面,包括 VMX 模式转换行为。通常,每个虚拟机的每个虚拟处理器都会分配一个 VMCS,但每个物理处理器(或考虑 SMT 时的逻辑处理器)只能有一个“当前”VMCS。
VMCS 字段可分为以下几个不同的组:
- “guest - state”区域 :在 VM - Exi
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



