虚拟化技术基础
服务器虚拟化技术及应用

服务器虚拟化技术及应用随着信息技术的不断发展,服务器虚拟化技术逐渐成为企业IT基础架构中的重要组成部分。
本文将介绍服务器虚拟化技术的基本概念、原理以及在企业应用中的优势和应用场景。
一、服务器虚拟化技术概述服务器虚拟化技术是指利用虚拟化软件在一台物理服务器上创建多个独立的虚拟服务器,每个虚拟服务器可以运行不同的操作系统和应用程序,就好像是在多台独立的物理服务器上运行一样。
通过服务器虚拟化技术,可以充分利用服务器硬件资源,提高服务器的利用率和灵活性,降低IT成本,简化管理和维护工作。
二、服务器虚拟化技术原理1. 虚拟化软件:服务器虚拟化技术的核心是虚拟化软件,常见的虚拟化软件包括VMware vSphere、Microsoft Hyper-V、Citrix XenServer等。
这些虚拟化软件可以在物理服务器上创建虚拟服务器,并提供对虚拟服务器的管理和监控功能。
2. 虚拟机(VM):在服务器虚拟化技术中,虚拟机是指通过虚拟化软件创建的独立的虚拟服务器实例,每个虚拟机都有自己的虚拟CPU、内存、存储和网络资源。
虚拟机可以运行不同的操作系统和应用程序,相互之间相互隔离,互不干扰。
3. 虚拟化层:虚拟化软件在物理服务器和虚拟机之间增加了一层虚拟化层,负责将物理服务器的硬件资源虚拟化为多个虚拟服务器可以使用的资源。
虚拟化层还可以对虚拟机进行管理、调度和监控,确保虚拟机之间资源的公平分配和高效利用。
三、服务器虚拟化技术的优势1. 提高服务器利用率:通过服务器虚拟化技术,可以在一台物理服务器上同时运行多个虚拟服务器,充分利用服务器的计算、存储和网络资源,提高服务器的利用率。
2. 简化管理和维护:服务器虚拟化技术可以将多台物理服务器虚拟化为一台服务器,简化了服务器的管理和维护工作,减少了人力和时间成本。
3. 提高灵活性和可扩展性:通过服务器虚拟化技术,可以根据业务需求快速创建、部署和调整虚拟服务器,提高了IT基础架构的灵活性和可扩展性。
计算机虚拟化技术基础

计算机虚拟化技术基础计算机虚拟化技术是一种通过软件或硬件等手段创建虚拟的计算资源的技术,它将一个物理计算机划分为多个独立的虚拟机,每个虚拟机可以独立运行操作系统和应用程序。
虚拟化技术可以提供更高的资源利用率,降低硬件成本,并且提供更高的可扩展性和灵活性。
一、虚拟化技术的定义和原理计算机虚拟化技术是一种通过软件层面或硬件层面将物理计算机资源虚拟化的技术。
在软件层面,虚拟化技术使用虚拟机监视器(Hypervisor)作为管理工具,通过在宿主机上创建虚拟机来运行多个操作系统和应用程序。
在硬件层面,虚拟化技术则利用物理硬件的虚拟化扩展功能,将一台物理计算机模拟为多台虚拟计算机。
二、虚拟化技术的分类1. 完全虚拟化:完全虚拟化技术将整个操作系统运行在虚拟机内部,虚拟机对硬件的访问通过虚拟化层进行拦截和转发,从而实现对物理计算机的虚拟化。
2. 部分虚拟化:部分虚拟化技术将操作系统进行修改,使得操作系统能够意识到自己在虚拟机中运行,从而可以直接访问物理硬件,提高系统性能。
3. 容器化虚拟化:容器化虚拟化技术通过操作系统级别的虚拟化,将应用程序及其依赖项打包到一个独立的容器中,不同容器之间相互隔离,但共享同一套操作系统内核,从而实现对应用程序的虚拟化。
三、虚拟化技术的优势1. 资源利用率提高:通过虚拟化技术,可以将物理计算机的资源划分为多个虚拟机,实现资源的共享和提高资源的利用率。
2. 硬件成本降低:虚拟化技术可以通过合理规划和管理虚拟机,减少实际需要的物理计算机数量,从而降低硬件成本。
3. 灵活性和可扩展性:虚拟化技术可以随时增加或减少虚拟机的数量,根据实际需要动态调整计算资源,提供更高的灵活性和可扩展性。
4. 故障恢复和高可用性:虚拟化技术可以将虚拟机的状态保存到硬盘上,当发生故障时,可以快速恢复虚拟机的状态,提高系统的可用性。
四、虚拟化技术的应用领域1. 数据中心:虚拟化技术可以帮助企业实现数据中心的统一管理和资源的高效利用,降低运维成本。
虚拟化基础与KVM基础

虚拟化基础与KVM基础虚拟化基础与KVM基础1.【多选题】10分|2.哪些属于KVM虚拟化技术特点A 必须依赖CPU硬件辅助虚拟化B I/O设备可以依赖Qemu生成模拟设备C KVM使用的virtI/O技术属于半虚拟化I/O技术D KVM模块的源代码纳入到了Linux内核中,作为Linux内核源代码的一部分。
2.【多选题】10分|3.哪些可以作为KVM的上层管理工具?A LibvirtB virsC virt-managerD virt-viewe3.【多选题】10分|4.哪些属于KVM内核模块?A KVM.koB KVM-intel.koC KVM-amd.koD KVM-linux.ko4.【单选题】10分| 1.以下哪种属于KVM的守护进程?A LibvirtB VirshC Virt-ManagerD Libvirtd5.【多选题】10分| 5.哪些属于构建KVM的核心基础功能?ACPU配置B内存配置C 存储配置D 网络配置6.【多选题】10分| 6.KVM高级设备管理中支持哪些方法A 半虚拟化驱动安装B 硬件直通-设备直接分配C 网卡热插拔D 磁盘热插拔7.【多选题】10分| 7.KVM内存管理高级调度方法有哪些?A 大页内存B 透明大页C KSMD NUMA8.【多选题】10分| 8.以下关于KVM技术说法正确的是?A KVM主要由KVM内核模块和Qemu用户态工具构成B KVM内核模块负责CPU,内存虚拟化C qemu负责完成I/O设备模拟D qemu必须依赖KVM才可以运行,无法独立运行9.【多选题】10分| 9.KVM半虚拟化中涉及到的组件有哪些?A virtio-blkB virtio-netC virtio-balloonD virtio-console10.【多选题】10分| 10.以下哪些是KVM的CPU硬件辅助虚拟化驱动模块?A kvm.koB kvm-intel.koC kvm-amd.koD Kvm-linux.ko。
VMware虚拟化技术基础教程

VMware虚拟化技术基础教程第一章:虚拟化技术概述1.1 虚拟化技术的定义和作用虚拟化技术是通过在物理硬件上创建多个虚拟环境,将一个物理服务器分割成多个独立的虚拟机,从而实现资源的共享和利用率的最大化。
1.2 虚拟化的优势和应用领域虚拟化技术具有灵活性高、资源隔离、快速部署、动态扩展等优势。
它广泛应用于服务器虚拟化、桌面虚拟化、网络虚拟化等领域。
第二章:虚拟化软件VMware介绍2.1 VMware公司的背景和产品线VMware公司是一家全球领先的虚拟化解决方案提供商,其产品包括vSphere、VMware Workstation等。
2.2 VMware vSphere的特点和组成部分VMware vSphere是一款服务器虚拟化解决方案,包括ESXi虚拟化软件、vCenter服务器、vSphere客户端等组成部分,能够实现资源的集中管理和监控。
第三章:VMware虚拟化技术基础3.1 虚拟机的概念和特点虚拟机是在物理硬件上模拟出来的一台计算机,拥有操作系统、应用程序和资源等。
3.2 VMware虚拟机的创建和配置使用VMware Workstation可以创建和配置虚拟机,可以设置虚拟机的硬件配置、网络设置等。
第四章:虚拟机存储管理4.1 虚拟机存储的类型和特点虚拟机存储包括磁盘存储和共享存储两种类型,可以灵活地分配和管理存储资源。
4.2 VMware存储虚拟化技术VMware提供了多种存储虚拟化技术,包括虚拟磁盘、快照、存储迁移等,可以实现数据的高效管理和保护。
第五章:网络虚拟化技术5.1 虚拟网络的概念和应用场景虚拟网络是基于物理网络基础上创建的一种逻辑网络,可以构建复杂的网络拓扑,实现网络资源的灵活配置和管理。
5.2 VMware网络虚拟化技术VMware提供了一系列网络虚拟化技术,包括虚拟交换机、虚拟局域网、虚拟路由器等,可以实现虚拟机之间的高效通信和网络隔离。
第六章:VMware高级特性和管理技巧6.1 vMotion技术的原理和应用vMotion技术可以实现虚拟机的迁移,即将虚拟机从一台物理主机迁移到另一台物理主机上,实现资源的动态调整和负载均衡。
云计算的基础技术

云计算的基础技术云计算是一种基于互联网的计算服务模式,它通过虚拟化技术将计算资源、存储资源和网络资源整合在一起,用户可以根据自身需求弹性地使用和管理这些资源。
云计算的基础技术涵盖了虚拟化技术、容器技术、分布式系统、网络技术、存储技术等多个方面。
本文将从这些技术的角度介绍云计算的基础技术。
一、虚拟化技术虚拟化技术是云计算的基础之一,它通过将物理资源转化为虚拟资源,从而实现资源的隔离和动态分配。
虚拟化技术可以实现对CPU、内存、存储和网络等资源的虚拟化,使得用户可以根据需要在虚拟资源上创建和管理虚拟机,实现资源的灵活调度和高效利用。
1. CPU虚拟化CPU虚拟化是指将一个物理CPU变成多个逻辑CPU,使得多个操作系统能够同时运行在同一个物理服务器上。
目前比较流行的CPU虚拟化技术有Intel的VT-x和AMD的AMD-V等,它们通过提供多种CPU工作模式和指令集,实现了对CPU资源的虚拟化和隔离。
2.内存虚拟化内存虚拟化是指通过虚拟机监控程序(VMM)对内存资源进行管理和隔离,使得多个虚拟机可以共享物理内存,并且实现了内存资源的分配和回收。
内存虚拟化技术可以通过内存页面的共享和传输,以及对内存容量的动态分配等方式实现内存资源的高效利用。
3.存储虚拟化存储虚拟化是指通过虚拟存储设备将物理存储资源转化为虚拟存储资源,用户可以在虚拟存储资源上创建和管理虚拟磁盘、快照、镜像等存储对象。
存储虚拟化技术可以实现对存储资源的灵活管理和分配,提高了存储资源的利用效率。
4.网络虚拟化网络虚拟化是指通过虚拟交换机、虚拟路由器等网络设备将物理网络资源转化为虚拟网络资源,用户可以在虚拟网络资源上创建和管理虚拟网络,实现对网络资源的隔离和动态分配。
网络虚拟化技术可以实现对网络资源的高效利用和灵活管理,提高了网络资源的利用效率。
二、容器技术容器技术是一种轻量级的虚拟化技术,它通过将应用程序及其依赖环境打包成一个可移植的容器,使得应用程序可以在任何环境中运行。
第2章 云计算与虚拟化技术基础

服务器、桌面虚拟化
? ?
V V V V V
易受攻击
?
利用率不足
提升的整合率、使用率、和效率 虚拟服务器,虚拟桌面
管理成本不断攀升
V V
V V
V V
V
V
V
V
V V
V
8/18/2014
虚拟化主要解决方案
VMware
2
8/18/2014
XenServer产品家族
Platinum • Provisioning Server for DataCenter Edition
操作系统 Hyper-V ISV / IHV / OEM
父分区
Config Store Worker Processes
子分区
应用程序 应用程序 应用程序
Microsoft / XenSource
WMI Provider
Management Service
User Mode (Ring 3)
Windows Server 2008
虚拟化层
虚拟架构视图
File/Print
Operating System Operating System
虚拟化层
虚拟层
CPU池
内存池
VPN
Operating System Operating System
虚拟化层
CRM
Operating System Operating System
虚拟化层
存储池
4
每个层次的价值
云计算服务 应用软件服务(Software as a Service, SaaS) 办公 应用 信息 化应 用 通讯 应用 互联网 应用 终端用户可以增强业务 性能,降低业务提供成 本,降低终端要求 收益
服务器虚拟化基础知识

服务器虚拟化基础知识随着信息技术的快速发展,服务器虚拟化已成为企业IT架构中的重要技术。
服务器虚拟化能够提高服务器的利用率,降低运营成本,并增强系统的灵活性。
本文将介绍服务器虚拟化的基础知识。
一、服务器虚拟化的概念服务器虚拟化是指将物理服务器转化为多个虚拟服务器。
这些虚拟服务器共享物理服务器的硬件资源,但它们可以在同一时间内独立地运行不同的操作系统和应用程序。
通过服务器虚拟化,企业可以减少硬件设备的数量,提高硬件资源的利用率,并降低运营成本。
二、服务器虚拟化的优点1、提高资源利用率:传统的服务器在大多数时间里只运行一个操作系统和应用,导致硬件资源的大量浪费。
而通过服务器虚拟化,多个虚拟机可以共享硬件资源,使资源利用率大大提高。
2、降低运营成本:通过减少物理服务器的数量,企业可以降低电力消耗、冷却成本和设备维护成本。
服务器虚拟化还可以简化IT管理,提高系统的可靠性。
3、提高系统的灵活性:服务器虚拟化使得企业能够快速地创建、迁移和扩展虚拟机。
这使得企业能够更快地适应业务需求的变化,提高系统的灵活性。
三、服务器虚拟化的技术1、完全虚拟化:完全虚拟化是最早的虚拟化技术,它通过虚拟机监视器(Hypervisor)来管理和调度虚拟机的运行。
在完全虚拟化中,Hypervisor在物理服务器上运行,并允许多个虚拟机在Hypervisor 上运行。
2、准虚拟化:准虚拟化技术对操作系统进行了修改,使其能够直接运行在Hypervisor上。
与完全虚拟化相比,准虚拟化的性能更高,但实现起来更复杂。
3、半虚拟化:半虚拟化技术结合了完全虚拟化和准虚拟化的优点。
在半虚拟化中,Hypervisor仍然管理和调度虚拟机的运行,但操作系统对Hypervisor的依赖程度较低。
四、服务器虚拟化的应用场景1、数据中心:数据中心是服务器虚拟化的主要应用场景。
通过服务器虚拟化,企业可以降低数据中心的能源消耗和设备维护成本,并提高数据中心的可靠性。
云计算虚拟化技术基础与实践:虚拟化实现技术

虚拟化实现技术
目录
CONTENT
01.系统虚拟化架构 02.处理器虚拟化实现技术 03.内存虚拟化实现技术 04.I/O虚拟化实现技术
本章重点
1. 了解系统虚拟化架构。 2. 掌握Intel处理器虚拟化实现技术VT-x。 3. 了解AMD处理器虚拟化实现技术AMD SVM。 4. 熟悉Intel和AMD的两种内存虚拟化实现技术。 5. 熟悉Intel VT-d、IOMMU和SR-IOV的I/O虚拟化
实现技术。 6. 掌握Virtio的I/O虚拟化实现技术。
0 1 系统虚拟化架构
系统虚拟化架构
Intel VT是Intel在CPU层面提供的硬件虚拟化技术的 总称,主要提供下列技术: ➢ 在处理器虚拟化方面,提供了VT-x技术; ➢ 在 内 存 虚 拟 化 方 面 , 提 供 了 EPT ( Extended
➢ ADDR:下一级页表的物理地址。如果已经是最后一级 页表,那么就是GPA对应的物理地址。
➢ SP:超级页(Super Page)所指向的页是大小超过4KB的 超级页,CPU在遇到SP=l时,就会停止继续往下查询。 对于最后一级页表,这一位可以供软件使用。
➢ X:可执行,X=1表示该页是可执行的。
2. IOMMU
➢ 输 入 / 输 出 内 存 管 理 单 元 IOMMU ( Input/Output Memory Management Unit)是一个内存管理单元, 管理对系统内存的设备访问。
➢ 它位于外围设备和主机之间,可以把DMA I/O总线 连接到主内存上,将来自设备请求的地址转换为系统 内存地址,并检查每个接入的适当权限。
3. vCPU的退出:对vCPU退出的处理是VMM进行CPU虚 拟化的核心,例如模拟各种特权指令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VMM: MA = g(PA)
VMM维护一套页表,负责PA到MA的映射。
Guest OS维护一套页表,负责VA到PA的映射。
实际运行时,用户程序访问VA1,经Guest OS的页表转换得到PA1,再由VMM介入,使用VMM的页表将PA1转换为MA1.
该技术的引入使x86可以很容易地实现完全虚拟化。其被KVM-x86,新版VMWareESX Server 3,Xen3.0以及大量x86平台上的虚拟化软件所采用。
2.4其它体系结构分析
其它RISC之体系结构,如MIPS, PowerPC, SPARC等,似乎不存在有敏感指令为非特权指令的情形。即它们应该不存在虚拟化的困难。.
1974年,Popek和Goldberg在论文"Formal Requirements forVirtualizableThird Generation
Architectures"中将VM定义为物理机的一种高效、隔离的复制,且指出VM的三个特征:
I.同质(Equivalence)
即VM的运行环境和物理机的环境在本质上是相同的,表现上可以有一些差异。如CPU的ISA必须一致,CPU core的个数可以不同。
2.3.1基于二进制翻译(BT)的全虚拟化(Full virtualization)
其主要思想是在执行时将VM上执行的Guest OS之指令,翻译成x86 ISA的一个子集,其中的敏感指令被替换成陷入指令。翻译过程与指令执行交叉进行。不含敏感指令的用户态程序可以不经翻译直接执行。该技术为VMWareWorkstation,VMWareESX Server早期版本,Virtual PC以及QEMU所采用。
2.5其它体系所采用之虚拟化方法
目前可见的非x86体系的虚拟化产品,似乎都倾向于使用类虚拟化的技术手段。
3虚拟化技术概要之内存虚拟化
3.1概述
因为VMM (Virtual Machine Monitor)掌控有所有系统资源,因此VMM握有整个内存资源,其负责页式内存管理,维护虚拟地址到机器地址的映射关系。
2.3.2基于扫描与修补(Scan-and-Patch)的全虚拟化(Full virtualization)
主要思想:
(1) VMM会在VM运行每块指令之前对其扫描,查找敏感指令
(2)补丁指令块会在VMM中动态生成,通常每一个需要修补的指令会对应一块补丁指令
(3)敏感指令被替换成一个外跳转,从VM跳转到VMM,在VMM中执行动态生成的补丁指令块
通过空间上的分割、时间上的分时以及模拟,虚拟化可将一份资源抽象成多份,亦可将多份资源抽象成一份。
虚拟化中的两个重要的定语名词:宿主(Host)和客户(Guest)
Host用在物理资源前,Guest则用于虚拟出来的资源前。如将一个物理机器虚拟成多个虚拟机器,则称物理机为物理机(Host Machine),运行其上的OS为Host OS;称多个虚拟机为Guest Machine,运行其上的OS为Guest OS
(4)当补丁指令块执行完后,执行流再跳转回VM的下一条指令处继续执行
SUN之Virtualbox即采用该技术。
2.3.2OS协助的类虚拟化(Paravirtualization)
其基本思想是通过修改Guest OS的代码,将含有敏感指令的操作,替换为对VMM的超调用(Hypercall,类似OS的系统调用,可将控制权转移到VMM)。该技术的优势在于VM的性能能接近于物理机,缺点在于需要修改Guest OS.
由此可引入虚拟化对体系结构(ISA)的要求:
A.须支持多个特权级
此亦是现代操作系统的要求
B.非敏感指令的执行结果不依赖于CPU的特权级
“M模拟执行,大部分的非敏感指令还是照常运行。
C.CPU需支持一种保护机制,如MMU,可将物理系统和其它VM与当前活动的VM隔离
少数敏感指令是非特权指令,如x86的sgdt/sidt等,非特权指令可以在用户态读取处理器的状态,如sgdt/sidt则可在用户态(Ring3)将GDTR和IDTR的值读取到通用寄存器中。
对于一般RISC处理器,如MIPS,PowerPC以及SPARC,敏感指令肯定是特权指令,唯x86例外。
2.1经典的虚拟化方法
现代计算机体系结构一般至少有两个特权级,(即用户态和核心态,未加虚拟化扩展的SPARC和PowerPC即是,MIPS有三个特权级(外加一个Supervisor态,没什么用),而x86有四个特权级(Ring0 ~ Ring3))用来分隔系统软件和应用软件。
决大多数的敏感指令是特权指令,特权指令只能在处理器的最高特权级(内核态)执行,如果执行特权指令时处理器的状态不在内核态,通常会引发一个异常而交由系统软件来处理这个“非法访问”(陷入)。
经典的虚拟化方法主要使用“特权解除” (Privilegedeprivileging)和“陷入-模拟” (Trap-and-Emulation)的方式。即:将Guest OS运行在非特权级(特权解除),而将VMM运行于最高特权级(完全控制系统资源)。解除了Guest OS的特权后,Guest OS的大部分指令仍可以在硬件上直接运行,只有当执行到特权指令时,才会陷入到VMM模拟执行(陷入-模拟)。其早期的代表系统是IBM VM/370
1.4.3SPARC
2005年SUN即在SPARC中引入虚拟化支持。
2虚拟化技术概要之处理器虚拟化
VMM对物理资源的虚拟可以划分为三个部分:处理器虚拟化、内存虚拟化和I/O虚拟化(设备)。其中以处理器的虚拟化最为关键。
体系结构背景
简而言之,处理器呈现给软件的接口就是一堆的指令(指令集)和一堆的寄存器(含用于通用运算的寄存器和用于控制处理器行为的状态和控制寄存器)。而I/O设备呈现给软件的接口也就是一堆的状态和控制寄存器(有些设备亦有内部存储)。这些都是系统的资源,其中影响处理器和设备状态和行为的寄存器称为关键资源或特权资源,如x86之CR0 ~ CR4,MIPS的CP0寄存器,PowerPC的Privileged SPR(SPR编号第5位为1)。
因Guest OS本身亦有页式内存管理机制,则有VMM的整个系统就比正常系统多了一层映射:
A.虚拟地址(VA),指Guest OS提供给其应用程序使用的线性地址空间
B.物理地址(PA),经VMM抽象的、虚拟机看到的伪物理地址
C.机器地址(MA),真实的机器地址,即地址总线上出现的地址信号
映射关系如下:
数据来自"VIRTUALIZATION WITH LOGICAL DOMAINS AND SUN COOLTHREADS SERVERS"
1.4硬件虚拟化概况
1.4.1x86
鉴于x86本身完全虚拟化的困难以及虚拟化性能的考虑,Intel在2006年是引入VT (VT-x for IA32, VT-ifor Itanium)来解决之,AMD以AMD-V紧随之。
其后Intel又引入VT-d (AMD为IOMMU)对x86平台上的I/O虚拟化作了增强。
1.4.2PowerPC
2001年IBM在Power4中加入虚拟化支持,并在2004年的Power5中推出增强的虚拟化支持,且在2009年发布的Power ISA v2.06中规范化。Freescale亦在e500mc中实现PowerISAv2.06的虚拟化增强。
以上三个条件,现代体系结构一般都满足,唯有最后一个也是最重要的条件:
D.敏感指令需皆为特权指令
此为保证敏感指令在VM上执行时,能陷入到VMM.
因控制敏感指令的执行可能改变系统(处理器和设备)的状态,为保证VMM对资源的绝对控制力维护VM的正常运行,这类指令的执行需要陷入而将控制权转移到VMM,并由其模拟处理之。
1.2虚拟机
虚拟机(Virtual Machine)是由虚拟化层提供的高效、独立的虚拟计算机系统,其皆拥有自己的虚拟硬件(CPU,内存,I/O设备)。通过虚拟化层的模拟,虚拟机在上层软件看来,其就是一个真实的机器。这个虚拟化层一般称为虚拟机监控器(Virtual Machine Monitor, VMM)
II.高效(Efficiency)
即VM的性能必须接近物理机。因此,常见的模拟器(boches,simics...)就不能称为VM
为达此目的,软件在VM上运行时,大多数指令要直接在硬件上执行,只有少量指令需要VMM的模拟或处理。
III.资源受控(Resource control)
即VMM对物理机的所有资源有绝对的控制力
关于这些指令的详细分析可以参见:"Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor"
2.3 x86虚拟化方法
鉴于x86本身的局限,长期以来对x86的虚拟化都是通过软件方式实现,后来Intel和AMD都引入各自的硬件虚拟化技术来弥补处理器的缺陷。
该技术因Xen项目而广为人知。
目前嵌入式领域的虚拟化,考虑到性能的因素,亦会在可以使用经典虚拟化方法实现全虚拟的体系结构上采用类虚拟化技术。
2.3.3硬件协助的虚拟化
鉴于x86在虚拟化上的缺陷,Intel和AMD都引入自己的硬件虚拟化技术来协助完成虚拟化。
Intel VT-x (Virtualization Technology for x86)
Intel VT-i(Virtualization Technology for Itanium)
Intel VT-d (Virtualization Technology for Directed I/O)
AMD-V (AMD Virtualization)
其基本思想就是引入新的处理器运行模式和新的指令,使得VMM和Guest OS运行于不同的模式下,Guest OS运行于受控模式,原来的一些敏感指令在受控模式下全部会陷入VMM。而且模式切换时上下文的保存恢复由硬件来完成。