处理器虚拟化实现技术_第1页
处理器虚拟化实现技术_第2页
处理器虚拟化实现技术_第3页
处理器虚拟化实现技术_第4页
处理器虚拟化实现技术_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

处理器虚拟化实现技术目录处理器虚拟化技术介绍IntelVT-xvCPUAMDSVM2处理器虚拟化技术介绍在x86体系结构中,处理器有四个运行级别,分别是Ring0,Ring1,Ring2和Ring3,运行级别从Ring0到Ring3依次递减。其中,Ring0级别拥有最高的权限,可以执行任何指令而没有限制。操作系统内核态代码运行在Ring0级别,因为它需要直接控制和修改CPU状态,而类似于这样的操作需要在Ring0级别的特权指令才能完成,而应用程序一般运行在Ring3级别。3处理器虚拟化技术介绍全虚拟化可以采用二进制代码动态翻译技术来解决客户机的特权指令问题,这种方法的优点在于代码的转换工作是动态完成的,无需修改客户机操作系统,因而可以支持多种操作系统。半虚拟化通过修改客户机操作系统来解决虚拟机执行特权指令的问题,被虚拟化平台托管的客户机操作系统需要修改其操作系统,将所有敏感指令替换为对底层虚拟化平台的超级调用。在半虚拟化中,客户机操作系统和虚拟化平台必须兼容,否则虚拟机无法有效操作宿主机。4vCPU本质是一个结构体,以IntelVT-x为例,vCPU-般可以划分为两个部分:一个是VMCS结构(VirtualMachineControlStructure,虚拟机控制结构),其中存储的是由硬件使用和更新的内容,这主要是虚拟寄存器。一个是VMCS没有保存而由VMM使用和更新的内容,主要是VMCS以外的部分。在具体实现中,VMM创建客户机时,首先要为客户机创建VCPU,然后再由VMM来调度运行。整个客户机的运行实际上可以看作是VMM调度不同的vCPU运行。vCPU5(1)vCPU的创建:创建vCPU实际上是创建vCPU描述符,由于vCPU描述符是一个结构体,因此创建vCPU描述符就是分配相应大小的内存。vCPU描述符在创建之后,需要进一步初始化才能使用。(2)vCPU的运行:vCPU创建并初始化好之后,就会被调度程序调度运行,调度程序会根据一定的策略算法来选择vCPU运行。(3)vCPU的退出:和进程一样,vCPU作为调度单位不可能永远运行,总会因为各种原因退出,例如执行了特权指令、发生了物理中断等,这种退出在VT-x中表现为发生VM-Exit。对vCPU退出的处理是VMM进行CPU虚拟化的核心,例如模拟各种特权指令。(4)vCPU的再运行:VMM在处理完vCPU的退出后,会负责将vCPU投入再运行。vCPU6IntelVT中的VT-x技术扩展了传统的IA32处理器架构,为处理器增加了一套名为虚拟机扩展(VirtualMachineExtensions,VMX)的指令集,该指令集包含十条左右的新增指令来支持与虚拟化相关的操作,为IA32架构的处理器虚拟化提供了硬件支持。此外,VT-x引入了两种操作模式,统称为VMX操作模式。(1)根操作模式(VMXRootOperation):VMM运行所处的模式,以下简称根模式。(2)非根操作模式(VMXNon-RootOperation):客户机运行所处的模式,以下简称非根模式。IntelVT-x7VMX操作模式如下所示。(1)VMM执行VMXON指令进入到VMX操作模式,此时CPU处于VMX根操作模式,VMM软件开始执行。(2)VMM执行VMLAUNCH或VMRESUME指令产生VM-Entry,客户机软件开始执行,此时CPU从根模式转换成为非根模式。(3)当客户机执行特权指令,或者当客户机运行时发生了中断或异常,VM-Exit被触发而陷入到VMM,CPU自动从非根模式转换到根模式。VMM根据VM-Exit的原因做相应处理,然后转到步骤(2)继续运行客户机。(4)如果VMM决定退出,则执行VMXOFF关闭VMX操作模式。IntelVT-x8在AMD的SVM中,有很多东西与IntelVT-x类似。但是技术上略有不同,在SVM中也有两种模式:根模式和非根模式在AMD中,引入了一个新的结构叫做VMCB(VirtualMachineControlBlock,虚拟机控制块),来更好地支持CPU的虚拟化。一个VMCB对应一个虚拟的CPU相关状态,例如,这个VMCB中包含退出领域,当VM-Exit发生时会读取里面的相关信息。此外,AMD还增加了八个新指令操作码来支持SV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论