云资源虚拟化:Xen 虚拟机管理程序的深入解析
1. VMX nonroot 与虚拟机操作
VMX nonroot 旨在支持虚拟机(VM)。在执行 VM 进入操作时,处理器状态会从计划运行的 VM 的客户状态加载,然后控制权从虚拟机监视器(VMM)转移到 VM。而 VM 退出操作会将处理器状态保存到正在运行的 VM 的客户状态区域,接着从主机状态区域加载处理器状态,最后将控制权转移回 VMM。需注意,所有 VM 退出操作都使用一个公共的入口点进入 VMM。
每个 VM 退出操作都会在虚拟机控制结构(VMCS)中保存退出原因以及一些相关信息,部分信息以位图形式存储。例如,异常位图指定了 32 种可能异常中导致退出的具体异常;I/O 位图为 16 位 I/O 空间中的每个端口包含一个条目。
VMCS 区域通过物理地址引用,其布局并非由架构固定,而是可由特定实现进行优化。VMCS 包含便于实现虚拟中断的控制位,如设置外部中断退出时会执行 VM 退出操作,且客户机不允许屏蔽这些中断;设置中断窗口退出时,若客户机准备好接收中断则会触发 VM 退出操作。
此外,还开发了基于 VT - d 和 VT - c 两种新虚拟化架构的处理器。VT - d 支持 I/O 内存管理单元(I/O MMU)虚拟化,包括以下功能:
- DMA 地址重映射:用于设备 DMA 传输的地址转换。
- 中断重映射:实现设备中断的隔离和 VM 路由。
- I/O 设备分配:管理员可将设备以任意配置分配给 VM。
- 可靠性特性:报告和记录可能损坏内存并影响 VM 隔离的 DMA 和中断错误。
VT - c 则支持网络虚拟化。
超级会员免费看
订阅专栏 解锁全文
29

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



