处理器虚拟化——VMCS

在VMCS架构中,当发生VMX operation模式的Root 与 non Root环境切换时
VMCS用来配置当前发生切换的逻辑处理器的状态及执行环境
一个逻辑处理器管理着多个VMCS
同一时刻 一个逻辑处理器只有一个VMCS是current-VMCS

VMCS三种状态
1) activity属性 包括 active(活动) 及 inactive(非活动)状态
2) current 属性 包括 current(当前的) 及 not current(非当前的)状态
3) launch 属性 包括 clear(干净的) 及 launched(已启动的) 状态

VMCS结构存放的物理区域需要4K对齐边界
VMCS区域的大小由IA32_VMX_BASIC[44:32]域里面得到 以KB得到 最高为4KB
IA32_VMX_BASIC[53:50]报告了VMCS区域支持的cache类型 支持UC与WB类型

VMM需要用一个被称为"VMXON region"的区域来管理整个VMX operation模式
VMXON区域大小及所支持的cache类型与VMCS区域一致
一个VMM对应一个VMXON指针 除非在VMM里关闭VMX operation模式后,在使用另一个VMXON
指针来重新开启VMX operation模式,否则,VMXON指针是不会改变的
VMXOFF指令也操作在这个VMXON指针上,用在关闭当前VMXON区域所管理的operation模式

访问VMCS字段必须通过VMREAD 与 VMWRITE指令 每个字段定义一个唯一的ID值来对应

VMCS数据区域包括6个区域
1)guest-state区域 用来保存与guset运行环境相关的信息

1)段寄存器类字段
2)GDTR 与 IDTR字段
base字段,提供描述符表基址
limit字段,提供描述符表的长度
3)MSR字段
4)SMBASE字段 这个字段使用在SMM双重监控处理机制下
5)activity state 字段 用于指示在VM-entry 和 VM-exit时 虚拟处理器的当前活动状态
6)interruptibility state 字段 指示当前虚拟处理器的可中断性
7)pending debug exceptions 字段用来记录和设置guest存在未处理而pending(悬挂)的#DB异常 DebugPoint
8)VMCS link pointer 字段 仅用在SMM双重监控处理机制下
9)VMCS-preemption timer value 字段 用于提供一个32位的定时器初始化计数值
10)PDPTEs字段(Page-Directory Pointer Table Entries 页目录指针表项) 共有4个 PDPTE0 PDPTE1 PDPTE2 PDPTE3 这些字段在支持EPT功能时有效
11)guset interrupt status 字段 作为虚拟local APIC的状态值 处理器使用这个字段来维护虚拟中 断的状态

2)host-state 区域

3)VM-executive 控制区域
主要控制处理器在VMX non-root operation 模式下的行为能力
典型的可以控制某些条件引发VM-exit事件,也控制着VMX的某些虚拟化功能的开启 例如 APIC的虚拟化及EPT机制

4)VM-exit控制区域
1)VM-exit control字段
2)VM-exit MSR-store count 与 VM-exit MSR-store address字段
控制处理器VM-exit时如何保存guest-MSR列表
3)VM-exit MSR-load count 与 VM-exit MSR-load address字段
控制处理器VM-exit时如何保存host-MSR列表

5)VM-entry控制区域
1)VM-entry control字段
2)VM-entry MSR-load count 字段
3)VM-entry MSR-load address 字段
2 3 用来控制VM-entry时guest-MSR列表的加载
4)VM-entry interruption-information字段
5)VM-entry exception error code 字段
6)VM-entry instruction length字段
4 5 6 用于控制事件注入 含有注入事件的VM-entry被称为"向量化的VM-entry"

6)VM-exit信息区域
VM-exit的直接向量事件信息类字段有两个:
VM-exit interruption information 和
VM-exit interruption error code 字段
VM-exit的间接向量事件信息类字段有两个:
IDT-vectoring information 和
IDT-vectoring error code 字段

时间: 2024-10-08 08:12:08

处理器虚拟化——VMCS的相关文章

《处理器虚拟化技术》

<处理器虚拟化技术> 基本信息 作者: 邓志 出版社:电子工业出版社 ISBN:9787121230196 上架时间:2014-5-30 出版日期:2014 年6月 开本:16开 页码:646 版次:1-1 所属分类:计算机 > 计算机组织与体系结构 > 微处理器/CPU 更多关于>>><处理器虚拟化技术> 编辑推荐 <处理器虚拟化技术>一书深入讲解了Intel VT-x技术的VMX架构知识,并且对整个x86/x64体系有更深入的探讨!全书

处理器虚拟化——VMX

Intel提供3个层面的虚拟化技术(Intel Virtualization Technology) 1.基于处理器的虚拟化技术(Intel VT-X) 全称为 Virtualization Technology for x86 2.基于PCI总线域设备实现的I/O虚拟化技术(Intel VT-D) 全称为Virtualization Technology for Directed I/O 3.基于网络的虚拟化技术(Intel VT-C) 全称为Virtualization Technology

虚拟化三剑客专题-XenServer(上)

架构篇 前面我们介绍了服务器虚拟化三剑客中的VMware和Hyper-V,今天我们接着剩下的内容Citrix的XenServer. XenServer采用的是部署极为广泛且功能强大的开源Xen系统管理程序.Xen是开放的业界标准虚拟化技术,是许多公司的商用虚拟化产品的"引擎",包括思杰.赛门铁克.甲骨文.红帽.Novell.Sun.Stratus.Marathon.Egenera.FusionSphere.Neocleus和凤凰科技.此外,全球最大公有云服务商Amazon弹性云都采用了

初识虚拟化技术

(一)虚拟化技术概述 虚拟化技术可针对详细应用目的创建特定目的的虚拟环境,安全.效率高,快照.克隆.备份.迁移等方便.系统虚拟化是将一台物理计算机虚拟成一台或多台虚拟计算机系统,每一个都有自己的虚拟硬件,其上的操作系统任觉得自己执行在一台独立的主机上,计算机软件在一个虚拟的平台上而不是真实的硬件平台上执行.虚拟化技术能够扩大硬件的容量.简化软件的又一次配置过程.当中CPU的虚拟化能够单CPU模拟多CPU并行执行,同意一个平台同一时候执行多个操作系统,而且应用程序能够在相互独立的空间内执行而互不影

虚拟化二、Xen虚拟化技术

一.Xen简介 1.Xen简介 Xen 英国剑桥大学研发,开源的VMM,是一种类型 1 虚拟机管理程序,它创建系统资源的逻辑池,使许多虚拟机可共享相同的物理资源. Xen 是一个直接在系统硬件上运行的虚拟机管理程序.Xen 在系统硬件与虚拟机之间插入一个虚拟化层,将系统硬件转换为一个逻辑计算资源池,Xen 可将其中的资源动态地分配给任何操作系统或应用程序.在虚拟机中运行的操作系统能够与虚拟资源交互,就好象它们是物理资源一样. Xen 架构 Xen 运行 3 个虚拟机.每个虚拟机与其他虚拟机都独自

KVM虚拟化知识的一些笔记

一.KVM介绍 KVM:运行在内核空间,提供CPU 和内存的虚级化,以及客户机的 I/O 拦截.Guest 的 I/O 被 KVM 拦截后,交给 QEMU 处理. QEMU:修改过的为 KVM 虚机使用的 QEMU 代码,运行在用户空间,提供硬件 I/O 虚拟化,通过 ioctl /dev/kvm 设备和 KVM 交互. KVM所实现的拦截虚拟机I/O请求的原理 现代CPU本身实现了对特殊指令的截获和重定向的支持. 以x86平台为例,支持虚拟化技术的CPU带有特别优化过的指令集来控制虚拟化过程.

虚拟化技术在智能终端的应用

服务器和桌面机虚拟化一直占据有相当大的版面,随着云计算和存储的兴起,虚拟化技术更被热捧,还有一种虚拟化技术发展迅猛--嵌入式虚拟化.嵌入式虚拟化是指嵌入式系统中部署虚拟机监控程序.尽管嵌入式设备一直受到严格的资源限制,但今天的设备范围广泛--从拥有服务器级功能(比如对虚拟化的硬件支持)的强大处理器到拥有计较少容量和资源的功耗优化系统.如果向嵌入式系统添加一个虚拟机监控程序,将添加灵活性和一些高级功能,将嵌入式设备转变为一种新型系统. 嵌入式领域包含几个有用的虚拟化应用领域:移动设备.安全性内核和

vSphere虚拟化实验:一、安装Exsi5.5主机

vSphere虚拟化实验:一.安装Exsi5.5主机 本实验全程用Vmware10搭配完成. vSphere5.1与vSphere5.5区别 首先介绍一下Exsi5.5主机安装条件:目前,主流的服务器CPU.内存.硬盘.网卡等均能支持Esxi5.5安装,VMware官方推荐的硬件标准如下. 1.  处理器 所有AMD Opteron处理器都支持AMD-V虚拟技术 所有Intel Xeon3000/3200.3100/3300.5100/5300.5200/5400.5500/5600.7100/

kvm 虚拟化概述及 virt-manager 安装虚拟机

一.KVM定义 基于内核的虚拟机(英语:Kernel-based Virtual Machine,简称KVM),是一种用于Linux内核中的虚拟化基础设施. KVM眼下支持Intel VT及AMD-V的原生虚拟技术. 1)是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方式. 2)它包括一个为处理器提供底层虚拟化 可载入的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko). 3)KVM还须要一个经过改动的QEMU软件(qemu-