处理器虚拟化——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 for Connectify

  VT 是对资源的虚拟化管理的结果
  在CPU端的虚拟化里 实现了VMX(Virtual-Machine Extensions,虚拟机扩展)架构
  包含两种角色环境 VMM(Virtual Machine Monitor,虚拟机监管者)host
  VM(Virtual Machine,虚拟机)guest
  guest端软件访问的资源受到VMM的监管

VMM通过EPT(Extend Page Table,扩展页表)来实现“guest端物理地址到Host端物理地址”的转化
使得Guest访问到其他的物理区域
在开启EPT机制下 会产生两个地址概念:GPA(Guest Physical Address) 和 HPA(Host Physical Address)
HPA 真正的物理地址

在VMX架构下 至少需要实现一个“VMXON region” 以及 “VMCS region”的物理区域
VMXON区域对应于VMM VMM使用VMXON区域对一些数据进行记录和维护
每个VM需要对应自己的VMCS(VIrtual Machine Structure 虚拟机控制结构)
VMM使用VMCS来配置VM的运行环境 以及控制VM的运行

检测VMX支持
VMX支持 检测CPUID.01H:ECX[5].VMX位来确定是否支持VMX架构 1表示支持

开启VMX进入允许
要开启VMX operation模式 必须先开启CR4.VMXE控制位 1表示开启

VMX root operation模式处理器的CPL(Current Privilege Level) 必须为0 VMM运行的环境
VMX non-root operation VM运行的环境

root ----------> non root VM-entry
non-root ---------> root VM-exit

导致VM exit发生的三大类途径如下。
1) 执行无条件引发VM exit的指令。包括CPUID,GETSEC,INVD与XSETBV指令以及所有的VMX指令(除了VMFUNC指令)
2) 遇到无条件引发VM exit的未被阻塞的事件。例如,INT信号,SIPI消息等。
3) 遇到VMM设置引发VM exit的条件,包括执行某些指令或者遇到某些事件发生。

时间: 2024-10-20 17:28:09

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

处理器虚拟化——VMCS

在VMCS架构中,当发生VMX operation模式的Root 与 non Root环境切换时VMCS用来配置当前发生切换的逻辑处理器的状态及执行环境 一个逻辑处理器管理着多个VMCS 同一时刻 一个逻辑处理器只有一个VMCS是current-VMCS VMCS三种状态 1) activity属性 包括 active(活动) 及 inactive(非活动)状态 2) current 属性 包括 current(当前的) 及 not current(非当前的)状态 3) launch 属性 包括

《处理器虚拟化技术》

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

解决VMware下64位linux系统不支持全虚拟化(vmx)

一.前提: cpu支持Inter VT-X或AMD虚拟化技术,具体参考官网说明. 二.问题描述: 物理机下,vmware workstation能安装64位CentOS系统,处理器Inter i3 M390,且支持Inter VT-X虚拟化技术,物理机BIOS中已打开Inter虚拟化开关(自己找),既然能安装64位系统,说明物理机BIOS中支持虚拟化开关已打开. 半虚拟化为pae 全虚拟化为vmx(Inter).svm(AMD) # uname -r 2.6.32-358.el6.x86_64

kvm虚拟化技术应用实战

本文根据上课笔记整理,大家都知道云计算的基础就是虚拟化,而开源的虚拟化基本以kvm技术为主导,因此kvm技术已成为运维工程师必备的技术,也是云时代必不可少的技术 在介绍kvm之前 我们先来了解一下vnc这个软件,后面安装kvm需要vnc来支持 1.vnc的安装及使用 # yum -y install tigervnc-server 首次启动 # vncserver :1 会提示输入两次密码 然后编辑/root/.vnc/xstartup,将最后一行twm替换为gnome-session或者sta

KVM虚拟化应用实战(1)

一.VNC的安装与使用 # yum -y install tigervnc-server 首次启动 # vncserver :1 会提示输入两次密码 然后编辑/root/.vnc/xstartup,将最后一行twm替换为gnome-session或者startkde 懒人可以直接用以下语句直接替换(执行任意一条即可,建议选择第一条稳定,但是占用内存较多) sed -i 's/twm/gnome-session/g' /root/.vnc/xstartup sed -i 's/twm/startk

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带有特别优化过的指令集来控制虚拟化过程.

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-

kvm虚拟化平台搭建入门

KVM虚拟化有两种网络模式:1)Bridge网桥模式2)NAT网络地址转换模式Bridge方式适用于服务器主机的虚拟化.NAT方式适用于桌面主机的虚拟化. 环境: 本次实验要开启VMWare中对应CentOS6.5虚拟机的虚拟化功能--在虚拟机设置--处理器--虚拟化引擎--勾选虚拟化Intel VT-x/EPT 或 AMD-V/RVI(V) 1.安装方式图形化安装CentOS6.5--采用最小化安装系统--选择桌面安装--选择虚拟化选项 2,安装kvm所需软件 [[email protecte

虚拟化技术(二)之KVM介绍

参考:http://www.cnblogs.com/sammyliu/ 一.KVM介绍 1.虚拟化简史 其中,KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它是一个 Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor: 它由 Quramnet 开发,该公司于 2008年被 Red Hat 收购. 它支持 x86 (32 and 64 位), s390, Powerpc 等 CPU. 它从 Linux 2.6.2