虚拟化技术

虚拟化技术
虚拟化技术

虚拟化技术简介

什么是虚拟化

虚拟化(Virtualization)技术最早出现在20 世纪60 年代的IBM 大型机系统,在70年代的System 370 系列中逐渐流行起来,这些机器通过一种叫虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例。随着近年多核系统、集群、网格甚至云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了IT 成本,而且还增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中。

虚拟化是一个广义的术语,对于不同的人来说可能意味着不同的东西,这要取决他们所处的环境。在计算机科学领域中,虚拟化代表着对计算资源的抽象,而不仅仅局限于虚拟机的概念。例如对物理内存的抽象,产生了虚拟内存技术,使得应用程序认为其自身拥有连续可用的地址空间(Address Space),而实际上,应用程序的代码和数据可能是被分隔成多个碎片页或段),甚至被交换到磁盘、闪存等外部存储器上,即使物理内存不足,应用程序也能顺利执行。

虚拟化技术的分类

虚拟化技术主要分为以下几个大类[1]:

平台虚拟化(Platform Virtualization),针对计算机和操作系统的虚拟化。

资源虚拟化(Resource Virtualization),针对特定的系统资源的虚拟化,比如内存、存储、网络资源等。

应用程序虚拟化(Application Virtualization),包括仿真、模拟、解释技术等。我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用控制程序(Control Program,也被称为Virtual Machine Monitor 或Hypervisor),隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境(称为虚拟机)。虚拟机中运行的操作系统被称为客户机操作系统(Guest OS),运行虚拟机监控器的操作系统被称为主机操作系统(Host OS),当然某些虚拟机监控器可以脱离操作系统直接运行在硬件之上(如VMWARE 的ESX 产品)。运行虚拟机的真实系统我们称之为主机系统。

平台虚拟化技术又可以细分为如下几个子类:

全虚拟化(Full Virtualization)

全虚拟化是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可以在虚拟机中运行。操作系统与真实硬件之间的交互可以看成是通过一个预先规定的硬件接口进行的。全虚拟化VMM 以完整模拟硬件的方式提供全部接口(同时还必须模拟特权指令的执行过程)。举例而言,x86 体系结构中,对于操作系统切换进程页表的操作,真实硬件通过提供一个特权CR3 寄存器来实现该接

口,操作系统只需执行"mov pgtable,%%cr3" 汇编指令即可。全虚拟化VMM 必须完整地模拟该接口执行的全过程。如果硬件不提供虚拟化的特殊支持,那么这个模拟过程将会十分复杂:一般而言,VMM 必须运行在最高优先级来完全控制主机系统,而Guest OS 需要降级运行,从而不能执行特权操作。当Guest OS 执行前面的特权汇编指令时,主机系统产生异常(General Protection Exception),执行控制权重新从Guest OS 转到VMM 手中。VMM 事先分配一个变量作为影子CR3 寄存器给Guest OS,将pgtable 代表的客户机物理地址(Guest Physical Address)填入影子CR3 寄存器,然后VMM 还需要pgtable 翻译成主机物理地址(Host Physical Address)并填入物理CR3 寄存器,最后返回到Guest OS中。随后VMM 还将处理复杂的Guest OS 缺页异常(Page Fault)。比较著名的全虚拟化VMM 有Microsoft Virtual PC、VMware Workstation、Sun Virtual Box、Parallels Desktop for Mac 和QEMU。

超虚拟化(Paravirtualization)

这是一种修改Guest OS 部分访问特权状态的代码以便直接与VMM 交互的

技术。在超虚拟化虚拟机中,部分硬件接口以软件的形式提供给客户机操作系统,这可以通过Hypercall(VMM 提供给Guest OS 的直接调用,与系统调用类似)的方式来提供。例如,Guest OS 把切换页表的代码修改为调用Hypercall 来直接完成修改影子CR3 寄存器和翻译地址的工作。由于不需要产生额外的异常和模拟部分硬件执行流程,超虚拟化可以大幅度提高性能,比较著名的VMM 有Denali、Xen。

硬件辅助虚拟化(Hardware-Assisted Virtualization)

硬件辅助虚拟化是指借助硬件(主要是主机处理器)的支持来实现高效的全虚拟化。例如有了Intel-VT 技术的支持,Guest OS 和VMM 的执行环境自动地完全隔离开来,Guest OS 有自己的“全套寄存器”,可以直接运行在最高级别。因此在上面的例子中,Guest OS 能够执行修改页表的汇编指令。Intel-VT 和AMD-V 是目前x86 体系结构上可用的两种硬件辅助虚拟化技术。

部分虚拟化(Partial Virtualization)

VMM 只模拟部分底层硬件,因此客户机操作系统不做修改是无法在虚拟机中运行的,其它程序可能也需要进行修改。在历史上,部分虚拟化是通往全虚拟化道路上的重要里程碑,最早出现在第一代的分时系统CTSS 和IBM M44/44X 实验性的分页系统中。

操作系统级虚拟化(Operating System Level Virtualization)

在传统操作系统中,所有用户的进程本质上是在同一个操作系统的实例中运行,因此内核或应用程序的缺陷可能影响到其它进程。操作系统级虚拟化是一种在服务器操作系统中使用的轻量级的虚拟化技术,内核通过创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程,不同实例中的进程完全不了解对方的存在。比较著名的有Solaris Container [2],FreeBSD Jail 和OpenVZ 等。

这种分类并不是绝对的,一个优秀的虚拟化软件往往融合了多项技术。例如VMware Workstation 是一个著名的全虚拟化的VMM,但是它使用了一种被称

为动态二进制翻译的技术把对特权状态的访问转换成对影子状态的操作,从而避免了低效的Trap-And-Emulate 的处理方式,这与超虚拟化相似,只不过超虚拟化是静态地修改程序代码。对于超虚拟化而言,如果能利用硬件特性,那么虚拟机的管理将会大大简化,同时还能保持较高的性能。

本文讨论的虚拟化技术只针对x86 平台(含AMD 64),并假定虚拟机中运行的Guest OS 也是为x86 平台设计的。

--------------------------------------------------------------------------------

回页首

纯软件虚拟化技术的原理及面临的挑战

虚拟机监控器应当具备的条件

1974 年,Popek 和Goldberg 在《Formal Requirements for Virtualizable Third Generation Architectures》[3] 论文中提出了一组称为虚拟化准则的充分条件,满足这些条件的控制程序可以被称为虚拟机监控器(Virtual Machine Monitor,简称VMM):

资源控制。控制程序必须能够管理所有的系统资源。

等价性。在控制程序管理下运行的程序(包括操作系统),除时序和资源可用性之外的行为应该与没有控制程序时的完全一致,且预先编写的特权指令可以自由地执行。

效率性。绝大多数的客户机指令应该由主机硬件直接执行而无需控制程序的参与。

尽管基于简化的假设,但上述条件仍为评判一个计算机体系结构是否能够有效支持虚拟化提供了一个便利方法,也为设计可虚拟化计算机架构给出了指导原则。

原理简介

我们知道,传统的x86 体系结构缺乏必要的硬件支持,任何虚拟机监控器都无法直接满足上述条件,所以不是一个可虚拟化架构,但是我们可以使用纯软件实现的方式构造虚拟机监控器。

虚拟机是对真实计算环境的抽象和模拟,VMM 需要为每个虚拟机分配一套数据结构来管理它们状态,包括虚拟处理器的全套寄存器,物理内存的使用情况,虚拟设备的状态等等。VMM 调度虚拟机时,将其部分状态恢复到主机系统中。并非所有的状态都需要恢复,例如主机CR3 寄存器中存放的是VMM 设置的页表物理地址,而不是Guest OS 设置的值。主机处理器直接运行Guest OS 的机器指令,由于Guest OS运行在低特权级别,当访问主机系统的特权状态(如写GDT 寄存器)时,权限不足导致主机处理器产生异常,将运行权自动交还给VMM。此外,外部中断的到来也会导致VMM 的运行。VMM 可能需要先将该虚拟机的当前状态写回到状态数据结构中,分析虚拟机被挂起的原因,然后代

表Guest OS 执行相应的特权操作。最简单的情况,如Guest OS 对CR3 寄存器的修改,只需要更新虚拟机的状态数据结构即可。一般而言,大部分情况下,VMM 需要经过复杂的流程才能完成原本简单的操作。最后VMM 将运行权还给Guest OS,Guest OS 从上次被中断的地方继续执行,或处理VM M “塞”入的虚拟中断和异常。这种经典的虚拟机运行方式被称为Trap-And-Emulate,虚拟机对于Guest OS 完全透明,Guest OS 不需要任何修改,但是VMM 的设计会比较复杂,系统整体性能受到明显的损害。

面临的挑战

在设计纯软件VMM 的时候,需要解决如下挑战[4]:

确保VMM 控制所有的系统资源。

x86 处理器有4 个特权级别,Ring 0 ~ Ring 3,只有运行在Ring 0 ~ 2 级时,处理器才可以访问特权资源或执行特权指令;运行在Ring 0 级时,处理器可以访问所有的特权状态。x86 平台上的操作系统一般只使用Ring 0 和Ring 3 这两个级别,操作系统运行在Ring 0 级,用户进程运行在Ring 3 级。为了满足上面的第一个充分条件-资源控制,VMM 自己必须运行在Ring 0 级,同时为了避免Guest OS 控制系统资源,Guest OS 不得不降低自身的运行级别,运行在Ring 1 或Ring 3 级(Ring 2 不使用)。

特权级压缩(Ring Compression)。

VMM 使用分页或段限制的方式保护物理内存的访问,但是64 位模式下段限制不起作用,而分页又不区分Ring 0, 1, 2。为了统一和简化VMM的设计,Guest OS 只能和Guest 进程一样运行在Ring 3 级。VMM 必须监视Guest OS 对GDT、IDT 等特权资源的设置,防止Guest OS 运行在Ring 0级,同时又要保护降级后的Guest OS 不受Guest 进程的主动攻击或无意破坏。

特权级别名(Ring Alias)。

特权级别名是指Guest OS 在虚拟机中运行的级别并不是它所期望的。VMM 必须保证Guest OS 不能获知正在虚拟机中运行这一事实,否则可能打破等价性条件。例如,x86 处理器的特权级别存放在CS 代码段寄存器内,Guest OS 可以使用非特权push 指令将CS 寄存器压栈,然后pop 出来检查该值。又如,Guest OS 在低特权级别时读取特权寄存器GDT、LDT、IDT 和TR,并不发生异常,从而可能发现这些值与自己期望的不一样。为了解决这个挑战,VMM 可以使用动态二进制翻译的技术,例如预先把“push %%cs” 指令替换,在栈上存放一个影子CS 寄存器值;又如,可以把读取GDT 寄存器的操作“sgdt dest”改为“movl fake_gdt, dest”。

地址空间压缩(Address Space Compression)。

地址空间压缩是指VMM 必须在Guest OS 的地址空间中保留一部分供其使用。例如,中断描述表寄存器(IDT Register)中存放的是中断描述表的线性地址,如果Guest OS 运行过程中来了外部中断或触发处理器异常,必须保证运行权马上转移到VMM 中,因此VMM 需要将Guest OS 的一部分线性地址空

间映射成自己的中断描述表的主机物理地址。VMM 可以完全运行在Guest OS 的地址空间中,也可以拥有独立的地址空间,后者的话,VMM 只占用Guest OS 很少的地址空间,用于存放中断描述表和全局描述符表(GDT)等重要的特权状态。无论如何哪种情况,VMM 应该防止Guest OS 直接读取和修改这部分地址空间。

处理Guest OS 的缺页异常。

内存是一种非常重要的系统资源,VMM 必须全权管理,Guest OS 理解的物理地址只是客户机物理地址(Guest Physical Address),并不是最终的主机物理地址(Host Physical Address)。当Guest OS 发生缺页异常时,VMM 需要知道缺页异常的原因,是Guest 进程试图访问没有权限的地址,或是客户机线性地址(Guest Linear Address)尚未翻译成Guest Physical Address,还是客户机物理地址尚未翻译成主机物理地址。一种可行的解决方法是VMM 为Guest OS 的每个进程的页表构造一个影子页表,维护Guest Linear Address 到Host Physical Address 的映射,主机CR3 寄存器存放这个影子页表的物理内存地址。VMM 同时维护一个Guest OS 全局的Guest Physical Address 到Host Physical Address 的映射表。发生缺页异常的地址总是Guest Linear Address,VMM 先去Guest OS 中的页表检查原因,如果页表项已经建立,即对应的Guest Physical Address 存在,说明尚未建立到Host Physical Address 的映射,那么VMM 分配一页物理内存,将影子页表和映射表更新;否则,VMM 返回到Guest OS,由Guest OS 自己处理该异常。

处理Guest OS 中的系统调用。

系统调用是操作系统提供给用户的服务例程,使用非常频繁。最新的操作系统一般使用SYSENTER/SYSEXIT 指令对来实现快速系统调用。SYSENTER 指令通过IA32_SYSENTER_CS,IA32_SYSENTER_EIP 和

IA32_SYSENTER_ESP 这3 个MSR(Model Specific Register)寄存器直接转到Ring 0级;而SYSEXIT 指令不在Ring 0 级执行的话将触发异常。因此,如果VMM 只能采取Trap-And-Emulate 的方式处理这 2 条指令的话,整体性能将会受到极大损害。

转发虚拟的中断和异常。

所有的外部中断和主机处理器的异常直接由VMM 接管,VMM 构造必需的虚拟中断和异常,然后转发给Guest OS。VMM 需要模拟硬件和操作系统对中断和异常的完整处理流程,例如VMM 先要在Guest OS 当前的内核栈上压入一些信息,然后找到Guest OS 相应处理例程的地址,并跳转过去。VMM 必须对不同的Guest OS 的内部工作流程比较清楚,这增加了VMM 的实现难度。同时,Guest OS 可能频繁地屏蔽中断和启用中断,这两个操作访问特权寄存器EFLAGS,必须由VMM 模拟完成,性能因此会受到损害。Guest OS 重新启用中断时,VMM 需要及时地获知这一情况,并将积累的虚拟中断转发。

Guest OS 频繁访问特权资源。

Guest OS对特权资源的每次访问都会触发处理器异常,然后由VMM 模拟执行,如果访问过于频繁,则系统整体性能将会受到极大损害。比如对中断的屏蔽

和启用,cli(Clear Interrupts)指令在Pentium 4 处理器上需要花费60 个时钟周期(cycle)。又如,处理器本地高级可编程中断处理器(Local APIC)上有一个操作系统可修改的任务优先级寄存器(Task-Priority Register),IO-APIC 将外部中断转发到TPR 值最低的处理器上(期望该处理器正在执行低优先级的线程),从而优化中断的处理。TPR 是一个特权寄存器,某些操作系统会频繁设置(Linux Kernel只在初始化阶段为每个处理器的TPR 设置相同的值)。

软件VMM 所遇到的以上挑战从本质上来说是因为Guest OS 无法运行在它

所期望的最高特权级,传统的Trap-And-Emulate 处理方式虽然以透明的方式基本解决上述挑战,但是带来极大的设计复杂性和性能下降。当前比较先进的虚拟化软件结合使用二进制翻译和超虚拟化的技术,核心思想是动态或静态地改变Guest OS 对特权状态访问的操作,尽量减少产生不必要的硬件异常,同时简化VMM 的设计。

--------------------------------------------------------------------------------

回页首

Intel-VT 硬件辅助虚拟化技术详解

2005 年冬天,英特尔带来了业内首个面向台式机的硬件辅助虚拟化技术

Intel-VT 及相关的处理器产品,从而拉开了IA 架构虚拟化技术应用的新时代大幕。支持虚拟化技术的处理器带有特别优化过的指令集来自动控制虚拟化过程,从而极大简化VMM 的设计,VMM 的性能也能得到很大提高。其中IA-32 处理器的虚拟化技术称为VT-x,安腾处理器的虚拟化技术称为VT-i。AMD 公司也推出了自己的虚拟化解决方案,称为AMD-V。尽管Intel-VT 和AMD-V 并不完全相同,但是基本思想和数据结构却是相似的,本文只讨论Intel-VT-x 技术。

新增的两种操作模式

VT-x 为IA 32 处理器增加了两种操作模式:VMX root operation 和VMX non-root operation。VMM 自己运行在VMX root operation 模式,VMX

non-root operation 模式则由Guest OS 使用。两种操作模式都支持Ring 0 ~ Ring 3 这4 个特权级,因此VMM 和Guest OS 都可以自由选择它们所期望的运行级别。

这两种操作模式可以互相转换。运行在VMX root operation 模式下的VMM 通过显式调用VMLAUNCH 或VMRESUME 指令切换到VMX non-root operation 模式,硬件自动加载Guest OS的上下文,于是Guest OS 获得运行,这种转换称为VM entry。Guest OS 运行过程中遇到需要VMM 处理的事件,例如外部中断或缺页异常,或者主动调用VMCALL 指令调用VMM 的服务的时候(与系统调用类似),硬件自动挂起Guest OS,切换到VMX root operation 模式,恢复VMM 的运行,这种转换称为VM exit。VMX root operation 模式下软件的行为与在没有VT-x 技术的处理器上的行为基本一致;

而VMX non-root operation 模式则有很大不同,最主要的区别是此时运行某些指令或遇到某些事件时,发生VM exit。

虚拟机控制块

VMM 和Guest OS 共享底层的处理器资源,因此硬件需要一个物理内存区域来自动保存或恢复彼此执行的上下文。这个区域称为虚拟机控制块(VMCS),包括客户机状态区(Guest State Area),主机状态区(Host State Area)和执行控制区。VM entry 时,硬件自动从客户机状态区加载Guest OS 的上下文。并不需要保存VMM 的上下文,原因与中断处理程序类似,因为VMM 如果开始运行,就不会受到Guest OS的干扰,只有VMM 将工作彻底处理完毕才可能自行切换到Guest OS。而VMM 的下次运行必然是处理一个新的事件,因此每次VMM entry 时,VMM 都从一个通用事件处理函数开始执行;VM exit 时,硬件自动将Guest OS 的上下文保存在客户机状态区,从主机状态区中加载VMM 的通用事件处理函数的地址,VMM 开始执行。而执行控制区存放的则是可以操控VM entry 和exit 的标志位,例如标记哪些事件可以导致VM exit,VM entry 时准备自动给Guest OS “塞”入哪种中断等等。

客户机状态区和主机状态区都应该包含部分物理寄存器的信息,例如控制寄存器CR0,CR3,CR4;ESP 和EIP(如果处理器支持64 位扩展,则为RSP,RIP);CS,SS,DS,ES,FS,GS 等段寄存器及其描述项;TR,GDTR,IDTR 寄存器;IA32_SYSENTER_CS,IA32_SYSENTER_ESP,

IA32_SYSENTER_EIP 和IA32_PERF_GLOBAL_CTRL 等MSR 寄存器。客户机状态区并不包括通用寄存器的内容,VMM 自行决定是否在VM exit 的时候保存它们,从而提高了系统性能。客户机状态区还包括非物理寄存器的内容,比如一个32 位的Active State 值表明Guest OS 执行时处理器所处的活跃

状态,如果正常执行指令就是处于Active 状态,如果触发了三重故障(Triple Fault)或其它严重错误就处于Shutdown 状态,等等。

前文已经提过,执行控制区用于存放可以操控VM entry 和VM exit 的标志位,包括:

External-interrupt exiting:用于设置是否外部中断可以触发VM exit,而不论Guest OS 是否屏蔽了中断。

Interrupt-window exiting:如果设置,当Guest OS 解除中断屏蔽时,触发VM exit。

Use TPR shadow:通过CR8 访问Task Priority Register(TPR)的时候,使用VMCS 中的影子TPR,可以避免触发VM exit。同时执行控制区还有一个TPR 阈值的设置,只有当Guest OS 设置的TR 值小于该阈值时,才触发VM exit。

CR masks and shadows:每个控制寄存器的每一位都有对应的掩码,控制Guest OS 是否可以直接写相应的位,或是触发VM exit。同时VMCS 中包括影子控制寄存器,Guest OS 读取控制寄存器时,硬件将影子控制寄存器的值返回给Guest OS。

VMCS 还包括一组位图以提供更好的适应性:

Exception bitmap:选择哪些异常可以触发VM exit,

I/O bitmap:对哪些16 位的I/O 端口的访问触发VM exit。

MSR bitmaps:与控制寄存器掩码相似,每个MSR 寄存器都有一组“读”的位图掩码和一组“写”的位图掩码。

每次发生VM exit时,硬件自动在VMCS 中存入丰富的信息,方便VMM 甄别事件的种类和原因。VM entry 时,VMM 可以方便地为Guest OS 注入事件(中断和异常),因为VMCS 中存有Guest OS 的中断描述表(IDT)的地址,因此硬件能够自动地调用Guest OS 的处理程序。

更详细的信息请参阅Intel 开发手册[5]。

解决纯软件虚拟化技术面临的挑战

首先,由于新的操作模式的引入,VMM 和Guest OS 的执行由硬件自动隔离开来,任何关键的事件都可以将系统控制权自动转移到VMM,因此VMM 能够完全控制系统的全部资源。

其次,Guest OS 可以运行在它所期望的最高特权级别,因此特权级压缩和特权级别名的问题迎刃而解,而且Guest OS 中的系统调用也不会触发VM exit。

硬件使用物理地址访问虚拟机控制块(VMCS),而VMCS 保存了VMM 和Guest OS 各自的IDTR 和CR3 寄存器,因此VMM 可以拥有独立的地址空间,Guest OS 能够完全控制自己的地址空间,地址空间压缩的问题也不存在了。

中断和异常虚拟化的问题也得到了很好的解决。VMM 只用简单地设置需要转发的虚拟中断或异常,在VM entry 时,硬件自动调用Guest OS 的中断和异常处理程序,大大简化VMM 的设计。同时,Guest OS 对中断的屏蔽及解除可以不触发VM exit,从而提高了性能。而且VMM 还可以设置当Guest OS 解除中断屏蔽时触发VM exit,因此能够及时地转发积累的虚拟中断和异常。

--------------------------------------------------------------------------------

回页首

未来虚拟化技术的发展

我们可以看到,硬件辅助虚拟化技术必然是未来的方向。Intel-VT目前还处在处理器级虚拟化技术的初级阶段,尚需在如下方面进行发展:

提高操作模式间的转换速度。

两种操作模式间的转换发生之如此频繁,如果不能有效减少其转换速度,即使充分利用硬件特性,虚拟机的整体性能也会大打折扣。早期的支持硬件辅助虚拟化技术的Pentium 4 处理器需要花费2409 个时钟周期处理VM entry,花费

508 个时钟周期处理由缺页异常触发的VM exit,代价相当高。随着Intel 技术的不断完善,在新的Core 架构上,相应时间已经减少到937 和446 个时钟周期。未来硬件厂商还需要进一步提高模式的转换速度,并提供更多的硬件特性来减少不必要的转换。

优化翻译后援缓冲器(TLB)的性能。

每次VM entry 和VM exit 发生时,由于需要重新加载CR3 寄存器,因此TLB(Translation Lookaside Buffer)被完全清空。虚拟化系统中操作模式的转换发生频率相当高,因此系统的整体性能受到明显损害。一种可行的方案是为VMM 和每个虚拟机分配一个全局唯一ID,TLB 的每一项附加该ID 信息来索引线性地址的翻译。

提供内存管理单元(MMU)虚拟化的硬件支持。

即使使用Intel-VT 技术,VMM 还是得用老办法来处理Guest OS 中发生的缺页异常以及Guest OS 的客户机物理地址到主机物理地址的翻译,本质原因是VMM 完全控制主机物理内存,因此Guest OS 中的线性地址的翻译同时牵涉到VMM 和Guest OS 的地址空间,而硬件只能看到其中的一个。Intel 和AMD 提出了各自的解决方案,分别叫做EPT(Extended Page Table)和Nested Paging。这两种技术的基本思想是,无论何时遇到客户机物理地址,硬件自动搜索VMM 提供的关于该Guest OS 的一个页表,翻译成主机物理地址,或产生缺页异常来触发VM exit。

支持高效的I/O 虚拟化。

I/O 虚拟化需要考虑性能、可用性、可扩展性、可靠性和成本等多种因素。最简单的方式是 VMM为虚拟机模拟一个常见的 I/O 设备,该设备的功能由 VMM 用软件或复用主机 I/O 设备的方法实现。例如 Virtual PC 虚拟机提供的是一种比较古老的 S3 Trio64显卡。这种方式提高了兼容性,并充分利用 Guest OS 自带的设备驱动程序,但是虚拟的 I/O 设备功能有限且性能低下。为了提高性能,VMM 可以直接将主机 I/O 设备分配给虚拟机,这会带来两个主要挑战:1. 如果多个虚拟机可以复用同一个设备,VMM 必须保证它们对设备的访问不会互相干扰。2. 如果 Guest OS 使用 DMA 的方式访问 I/O 设备,由于 Guest OS 给出的地址并不是主机物理地址,VMM 必须保证在启动 DMA 操作前将该地址正确转换。Intel 和 AMD 分别提出了各自的解决方案,分别称为 Direct I/O(VT-d)和 IOMMU,希望用硬件的手段解决这些问题,降低 VMM 实现的难度。

常见四种虚拟化技术优劣势对比

常见四种虚拟化技术优劣势对比-兼谈XEN与vmware的区别 蹦不路磅按: 好多人估计对XEN和vmware到底有啥区别有所疑问. 可能如下的文章会有所提示 据说本文作者系SWsoft中国首席工程师.没找到名字, 故保留title ---------------- Update: 13-11-2008 关于xen Hypervisor个人理解的一点补充. xen hypervisor 类似一个linux的kernel .位于/boot/下名字xen-3.2-gz. 系统启动的时候它先启动。然后它在载入dom0. 所有对其他domainU的监控管理操作都要通过domain0. 因为hypervisor 只是一个类kernel. 没有各种application. 需要借助domain0的application 比如xend xenstore xm 等。 个人猜想,hypervisor 能集成一些简单的管理程序也是可能的。vmware好像也正在作植入硬件的hypervisor 将来的发展可能是是hypervisor 会和bios一样在每个服务器上集成了。然后每台服务器买来后就自动支持 可以启动数个操作系统了。彻底打破一台裸机只能装一个操作系统的传统。 ----------------- 虚拟化技术(Virtualization)和分区(Partition)技术是紧密结合在一起,从60年代Unix诞生起,虚拟化技术和分区技术就开始了发展,并且经历了从“硬件分区”->“虚拟机”->“准虚拟机”->“虚拟操作系统”的发展历程。最早的分区技术诞生自人们想提升大型主机利用率需求。比如在金融、科学等领域,大型Unix服务器通常价值数千万乃至上亿元,但是实际使用中多个部门却不能很好的共享其计算能力,常导致需要计算的部门无法获得计算能力,而不需要大量计算能力的部门占有了过多的资源。这个时候分区技术出现了,它可以将一台大型服务器分割成若干分区,分别提供给生产部门、测试部门、研发部门以及其他部门。 几种常见的虚拟化技术代表产品如下: 类型代表产品 硬件分区IBM/HP等大型机硬件分区技术 虚拟机(Virtual Machine Monitor)EMC VMware Mircosoft Virtual PC/Server Parallels 准虚拟机(Para-Virtualization)Xen Project 虚拟操作系统(OS Virtualization)SWsoft Virtuozzo/OpenVZ Project Sun Solaris Container HP vSE FreeBSD Jail Linux Vserver 硬件分区技术 硬件分区技术如下图所示:硬件资源被划分成数个分区,每个分区享有独立的CPU、内存,并安装独立的操作系统。在一台服务器上,存在有多个系统实例,同时启动了多个操作系统。这种分区方法的主要缺点是缺乏很好的灵活性,不能对资源做出有效调配。随着技术的进步,现在对于资源划分的颗粒已经远远提升,例如在IBM AIX系统上,对CPU资源的划分颗粒可以达到0.1个CPU。这种分区方式,在目前的金融领域,比如在银行信息中心

虚拟现实技术简介

虚拟现实简介及行业发展前景 一、虚拟现实简介 虚拟现实(Virtual Reality,简称VR,又译作灵境、幻真)是近年来出现的高新技术,也称灵境技术或人工环境。虚拟现实是利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察三度空间内的事物 百科内容: VR是一项综合集成技术,涉及计算机图形学、人机交互技术、传感技术、人工智能等领域,它用计算机生成逼真的三维视、听、嗅觉等感觉,使人作为参与者通过适当装置,自然地对虚拟世界进行体验和交互作用。使用者进行位置移动时,电脑可以立即进行复杂的运算,将精确的3D世界影像传回产生临场感。该技术集成了计算机图形(CG)技术、计算机仿真技术、人工智能、传感技术、显示技术、网络并行处理等技术的最新发展成果,是一种由计算机技术辅助生成的高技术

模拟系统。 概括地说,虚拟现实是人们通过计算机对复杂数据进行可视化操作与交互的一种全新方式,与传统的人机界面以及流行的视窗操作相比,虚拟现实在技术思想上有了质的飞跃。 虚拟现实中的“现实”是泛指在物理意义上或功能意义上存在于世界上的任何事物或环境,它可以是实际上可实现的,也可以是实际上难以实现的或根本无法实现的。而“虚拟”是指用计算机生成的意思。因此,虚拟现实是指用计算机生成的一种特殊环境,人可以通过使用各种特殊装置将自己“投射”到这个环境中,并操作、控制环境,实现特殊的目的,即人是这种环境的主宰。 二、虚拟现实分类 行业概况: 北京傲唯刃道科技有限公司甘健先生认为:供求关系是一个行业能否快速发展的前提。目前来看,市场需求是很大的,而供应方面却略显不足,尤其是拥有核心知识产权,专利产品及服务质量过硬的企业并不多,行业整体缺乏品牌效应。在需求旺盛的阶段,行业需求巨大,

硬件虚拟化技术浅析

硬件虚拟化技术浅析 ==================================== 目录 1 硬件虚拟化技术背景 2 KVM的内部实现概述 2.1 KVM的抽象对象 2.2 KVM的vcpu 2.3 KVM的IO虚拟化 2.3.1 IO的虚拟化 2.3.2 VirtIO 3 KVM-IO可能优化地方 3.1 Virt-IO的硬盘优化 3.2 普通设备的直接分配(Direct Assign) 3.3 普通设备的复用 =================================== 1 硬件虚拟化技术背景 硬件虚拟化技术通过虚拟化指令集、MMU(Memory Map Unit)以及IO来运行不加修改的操作系统。 传统的处理器通过选择不同的运行(Ring 特权)模式,来选择指令集的范围,内存的寻址方式,中断发生方式等操作。在原有的Ring特权等级的基础上,处理器的硬件虚拟化技术带来了一个新的运行模式:Guest模式[1],来实现指令集的虚拟化。当切换到Guest模式时,处理器提供了先前完整的特权等级,让Guest 操作系统可以不加修改的运行在物理的处理器上。Guest与Host模式的处理器上下文完全由硬件进行保存与切换。此时,虚拟机监视器(Virtual Machine Monitor)通过一个位于内存的数据结构(Intel称为VMCS, AMD称为VMCB)来控制Guest系统同Host系统的交互,以完成整个平台的虚拟化。 传统的操作系统通过硬件MMU完成虚拟地址到物理地址的映射。在虚拟化环境中,Guest的虚拟地址需要更多一层的转换,才能放到地址总线上: Guest虚拟地址 -> Guest物理地址 -> Host物理地址 ^ ^ | | MMU1 MMU2 其中MMU1可以由软件模拟(Shadow paging中的vTLB)或者硬件实现(Intel EPT、AMD NPT)。MMU2由硬件提供。

几种虚拟化技术

这五种虚拟化技术分别是:CPU虚拟化、网络虚拟化、服务器虚拟化、存储虚拟化和应用虚拟化。让我们逐步揭开它们的面纱,看看它们各自的美丽。 CPU虚拟化 虚拟化在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。简单说来,CPU的虚拟化技术就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。 纯软件虚拟化解决方案存在很多限制。“客户”操作系统很多情况下是通过VMM(Virtual Machine Monitor,虚拟机监视器)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位茫。如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。这种转换必然会增加系统的复杂性。 CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。 虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。 两大CPU巨头英特尔和AMD都想方设法在虚拟化领域中占得先机,但是AMD 的虚拟化技术在时间上要比英特尔落后几个月。英特尔自2005年末开始便在其处理器产品线中推广应用英特尔Virtualization Technology(Intel VT)虚拟化技术。目前,英特尔已经发布了具有Intel VT虚拟化技术的一系列处理器产品,包括桌面平台的Pentium 4 6X2系列、Pentium D 9X0系列和Pentium EE 9XX 系列,还有Core Duo系列和Core Solo系列中的部分产品,以及服务器/工作站平台上的Xeon LV系列、Xeon 5000系列、Xeon 5100系列、Xeon MP 7000系列以及Itanium 2 9000系列;同时绝大多数的Intel下一代主流处理器,包括Merom核心移动处理器,Conroe核心桌面处理器,Woodcrest核心服务器处理器,以及基于Montecito核心的Itanium 2高端服务器处理器都将支持Intel VT 虚拟化技术。

毕业论文:浅谈虚拟现实技术

论文虚拟现实技术

浅谈虚拟现实技术 摘要虚拟现实(Virtual Reality,VR)技术是近年来新兴的借助计算机及最新传感器技术创造的一种崭新的人机交互手段,其核心是建模与仿真。概括介绍了虚拟现实技术的概念、特征及应用领域,涉及的关键技术,最新研究进展,应用与前景展望。 关键词虚拟现实技术,研究现状,相关应用,信息安全 一.虚拟现实的概念、特征及应用领域 虚拟现实是一种由计算机和电子技术创造的新世界,是一个看似真实的模拟环境,通过多种传感设备,用户可根据自身的感觉,使用人的自然技能对虚拟世界中的物体进行考察和操作,参与其中的事件,同时提供视、听、触等直观而自然的实时感知,并使参与者“沉浸”于模拟环境中。虚拟现实(Virtual Reality,VR)技术是指借助计算机及最新传感器技术创造的一种崭新的人机交互手段,其核心是建模与仿真。 虚拟现实技术主要包括模拟环境、感知、自然技能和传感设各等方面。模拟环境是由计算机生成的、实时动态的三维立体逼真图像。感知是指理想的VR应该具有一切人所具有的感知。除计算机图形技术所生成的视觉感知外,还有听觉、触觉、力觉、运动等感知,甚至还包括嗅觉和味觉等,也称为多感知。自然技能是指人的头部转动,眼睛、手势、或其他人体行为动作,由计算机来处理与参与者的动作相适应的数据,并对用户的输入作出实时响应,并分别反馈到用户的五官。传感设备是指三维交互设备。常用的有立体头盔、数据于套、三维鼠标、数据衣等穿戴于用户身上的装置和设置于现实环境中的传感装置,如摄像机、地板压力传感器等。 (虚拟现实技术穿戴的装备)

GrigoreBurdea和Philippe Coiffet在著作“Virtual Reality Technology”一书中指出,虚拟现实具有三个最突出的特征,即人们称道的“3I”特性:交互性(interactivity) 、沉浸感(Illusion of Immersion) 和构想性(imagination)。交互性主要是指参与者通过使用专门输入和输出设备,用人类的自然技能实现对模拟环境的考察与操作的程度。沉浸感是虚拟现实最主要的技术特征,它是指参与者在纯自然的状态下,借助交互设备和自身的感知觉系统,对虚拟环境的投入程度。构想性是指借助虚拟现实技术,使抽象概念具像化的程度。另外还有多感知性(Multi-Sensory)。所谓多感知是指除了一般计算机技术所具有的视觉感知之外,还有听觉感知、力觉感知、触觉感知、运动感知,甚至包括味觉感知、嗅觉感知等。理想的虚拟现实技术应该具有一切人所具有的感知功能,由于相关技术,特别是传感技术的限制,目前虚拟现实技术所具有的感知功能仅限于视觉、听觉、力觉、触觉、运动等几种。 所以,“3I+M”就是虚拟现实系统的基本特征。 自1968年Ivan Sutherland发表一篇名为“The Ultimate Display”的论文至今,虚拟现实技术已经伴随着计算机技术的进步得到长足的发展。如今,众多的设备可被用于虚拟现实,包括头戴式显示器、数据手套、动作捕捉系统等[1]。虚拟现实技术已经在诸如建筑设计、军事仿真、虚拟制造、游戏娱乐、医学等领域得到广泛的应用。在教育、心理学、环保、文化艺术领域,虚拟现实技术也得到越来越多的关注[2]。 二.虚拟现实涉及的关键技术[3] 虚拟现实的关键技术主要包括:动态环境建模技术,实时三维图形生成技术,立体显示和传感器技术,应用系统开发工具,系统集成技术,实时三维计算机图形技术,广角立体显示技术,对观察者头、眼和手的跟踪技术,触觉、力觉反馈技术,立体声、语音输入输出技术。 动态环境建模技术:虚拟环境的建立是VR系统的核心内容,目的就是获取实际环境的三维数据,并根据应用的需要建立相应的虚拟环境模型。 实时三维图形生成技术:三维图形的生成技术已经较为成熟,那么关键就是“实时”生成。为了达到实时的目的,至少保证图形的刷新频率不低于15帧/秒,最好高于30帧/秒。

虚拟化优缺点

1 引言 随着网络维护管理模式由分散式粗放型向集中式精细化管理模式迈进,铁通公司提出了“强化支撑能力,加强网络集中化管理,在集中化维护管理的基础上,逐步实现核心机房的联合值守和非核心机房的无人值守”的目标。 如何在有限的资金投资的前提下实现网管集中的目标,同时满足降低网络维护成本,达到维护出效率,节能减排的指标要求,是我们在网管集中工作中重点关注和努力的方向。由于铁通陕西分公司部分网管未搭建统一的集中化平台,制约了网管集中及维护管理模式集中化推进工作的整体实施,通过搭建虚拟化平台,实现了网管集中化维护管理的要求。 2 现有网管集中技术的缺陷及弊端 2.1技术落后、效率低下 既有网管接入方式主要采取将放置在机柜中的几十台工作站终端逐个接人KVM,通过KVM终端盒接入显示器,通过显示器进行切换分别进入不同的工作站终端进行维护操作。 从以下流程中可以看到。运维人员在处理一个区域的告警信息时无法看到其他区域的告警信息,只有在处理完这个区域的告警信息后才能处理下一个区域的信息,那么排在后面检查的区域告警往往得不到及时的处理,且随着业务系统的增加,维护人员需要管理的系统越来越多,这种轮询检查的方式将越来越成为制约维护效率提升的瓶颈。 2.2网管终端设备数量多维护成本居高不下。 几十台网管终端占据机房机柜资源,大量的终端清扫、部件维护和更换等在增加维护人员工作量的同时也增加了维护成本。同时新增系统时需增加网管终端

及机柜,受机房条件制约性很大。不算人工工作量,仅终端维修费支出每年平均在6.8万元。 2.3带来耗电量及运营成本的增加 从维护成本支出上计算,每台工作站终端按250W 能耗计算,在不考虑空调等耗电量的情况下,每年需要消耗近20万度电。 2.4系统架构分散使得管理难度、网管系统安全隐患增大。 由于系统架构分散,无备用终端,一旦故障,不能得到及时修复,对网络正常运行形成潜在威胁。 3 虚拟机技术介绍 计算机虚拟技术是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。允许用户在一台服务器上同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。虚拟化能在虚拟机技术(Virtual Machine Monitor)中,不再对底层的硬件资源进行划分,而是部署一个统一的Host系统。 在Host系统上,加装了Virtual Machine Monitor,虚拟层作为应用级别的软件而存在,不涉及操作系统内核。虚拟层会给每个虚拟机模拟一套独立的硬件设备。包含CPU、内存、主板、显卡、网卡等硬件资源,在其上安装所谓的Guest操作系统。最终用户的应用程序,运行在Guest操作系统中。 虚拟可支持实现物理资源和资源池的动态共享,提高资源利用率,特别是针对那些平均需求远低于需要为其提供专用资源的不同负载。这种虚拟机运行的方式主要有以下优势。

网络虚拟化技术介绍及应用实例

网络虚拟化介绍及应用实例 技术背景 随着社会生产力的不断发展,用户需求不断发展提高,市场也不断发展变化,谁能真正掌握市场迎合用户,谁就能够占领先机提高自己的核心竞争力。企业运营中关键资讯传递的畅通可以帮助企业充分利用关键资源,供应链、渠道管理,了解市场抓住商机,从而帮助企业维持甚至提高其竞争地位。作为网络数据存储和流通中心的企业数据中心,很显然拥有企业资讯流通最核心的地位,越来越受到企业的重视。当前各个企业/行业的基础网络已经基本完成,随着“大集中”思路越来越深入人心,各企业、行业越来越迫切的需要在原来的基础网络上新建自己的数据中心。数据中心设施的整合已经成为行业内的一个主要发展趋势,利用数据中心,企业不但能集中资源和信息加强资讯的流通以及新技术的采用,还可以改善对外服务水平提高企业的市场竞争力。一个好的数据中心在具有上述好处之外甚至还可以降低拥有成本。 1.虚拟化简介 在数据大集中的趋势下,数据中心的服务器规模越来越庞大。随着服务器规模的成倍增加,硬件成本也水涨船高,同时管理众多的服务器的维护成本也随着增加。为了降低数据中心的硬件成本和管理难度,对大量的服务器进行整合成了必然的趋势。通过整合,可以将多种业务集成在同一台服务器上,直接减少服务器的数量,有效的降低服务器硬件成本和管理难度。 服务器整合带来了巨大的经济效益,同时也带来了一个难题:多种业务集成在一台服务器上,安全如何保证?而且不同的业务对服务器资源也有不同的需求,如何保证各个业务资源的正常运作?为了解决这些问题,虚拟化应运而生了。虚拟化指用多个物理实体创建一个逻辑实体,或者用一个物理实体创建多个逻辑实体。实体可以是计算、存储、网络或应用资源。虚拟化的实质就是“隔离”—

软硬件虚拟化技术问题

软硬件虚拟化技术问题 [摘要]随着计算机应用的广泛和功能的丰富,计算机软件开发商普遍开始重点研制计算机软件、硬件“虚拟技术”方面的产品。文章对计算机的虚拟化种类与相关技术进行研究和探讨。 [关键词]软件;硬件;虚拟化技术 [作者简介]刘一威,广东省电力设计研究院工程师,研究方向:网络信息管理,广东广州,510663 [中图分类号]TP311.5 [文献标识码] A [文章编号]1007-7723(2011)01-0030-0003 为了达到广大用户的使用需要,计算机软件开发商开始重点研制“虚拟技术”方面的产品。软件、硬件是计算机内部的重要组成部分,虚拟化技术的运用必须重视软硬件虚拟化的相关问题。 一、虚拟化种类与相关技术 从计算机理论知识看,虚拟化技术是一种与其他网络技术不同的形式。早期计算机控制模式还局限在远程、多任务控制状态下,但现代控制系统的运用实现了虚拟化操作模式,在相同时间里能对2个以上的操作系统控制,让各个操作指令程序运用于虚拟的CPU中。当前,虚拟化程度划分与

相关技术包括: (一)虚拟化种类 1.完全虚拟。目前,市场上销售虚拟化产业最常见的是借助于各种形式的软件,如:hypervisor等,利用这类软件可以与虚拟服务器、底层硬件等创建一个特殊的抽象层。这种完全虚拟的技术最典型的产品要数VMware公司的Vsphere和微软公司的Hyper-V,能够在操作系统上实现各种虚拟操作。 2.准虚拟化。从系统运行程度上看,完全虚拟化常常要承载众多不同的程序控制,这就使得完全虚拟化成为一种密集型技术的控制器,其掌握的服务数据也相当繁多。为缓解这一状况,准虚拟化技术通常使用对操作系统调整的方式,实现和hypervisor共同操作。 (二)虚拟化相关的技术 1.Intel技术。若从计算机虚拟化技术发展历程看,Virtualization虚拟化技术是运用时间最长的一项。计算机刚刚普及的阶段,Intel虚拟化技术多数运用于服务器、主机等相关装置中。现代计算机技术的发展,促进了PC功能的改善,Intel技术能把IT优化调整为高性能的框架模式。 2.AMD技术。这类技术主要是在计算机硬件结构上形成的虚拟化技术,AMD虚拟化技术能够凭借不同的服务器广泛运用在不同的操作系统上,这对于改善服务器性能是很

存储虚拟化技术论文

存储虚拟化技术论文 浅谈存储虚拟化技术 摘要:本文主要就虚拟存储化技术的概念、主要特点、相关技术、虚拟存储化的作用以及怎样认识虚拟存储化作了有关的描述与解析。 关键词:存储虚拟化技术 计算机存储技术经历了从单个的磁盘、磁带、RAID到存储网络 系统的发展历程,这一路走来似乎缓慢而艰辛,随着存储数据的不断 增长,对存储空间的迫切需求推动着存储虚拟化技术不断向前。 1、什么是存储虚拟化 存储虚拟化:可以理解为把硬件资源抽象化,用虚拟形式来展示它们。虚拟化能够把物理的存储系统从数据驱动的具体工作中解放出来,从而使用户能够随意地按实际需要对有限的存储资源进行分配。 虚拟化可以将多个物理存储资源池合成一个虚拟的存储资源,再对其 实施集中管理或者以逻辑方式将其分成多个虚拟机。 存储虚拟化技术是通过把物理层资源抽象化,从而将一个灵活的、逻辑的数据存储空间展现在用户面前。最基础的存储虚拟化实现是 在主机层,通过计算机操作系统的逻辑卷管理器能够很便捷的为应用 系统和用户分配存储容量。 2、存储虚拟化的主要特点 (1)虚拟存储为大容量存储系统集中管理提供了一个手段,由网络中的一个环节(如服务器)进行统一管理,从而避免了由于扩充存储设 备为管理带来的麻烦。 (2)对于视频网络系统虚拟存储最值得一提的特点是:大幅度提高存储系统整体访问的带宽。多个存储模块组成了当前的存储系统,而 虚拟存储系统能够很好地实现负载平衡,把每次数据访问所需占用的

带宽十分合理地分配到各个存储模块上,这样整个视频网络系统的访问带宽就变大了。 (3)虚拟存储技术使得存储资源管理变得更加灵活,能够把不同类型的存储设备集中管理统一分配使用,有效保障了用户以往对存储设备的投资。 (4)虚拟存储技术能够通过相关管理软件,为网络系统提供许多其它的功能,现在比较流行的如无需服务器的远程镜像、数据快照等技术。 3、相关存储技术 现在虚拟存储的发展还没有一个统一的标准,从它的拓扑结构来看主要有两种方式:即对称式与非对称式。对称式虚拟存储技术是指虚拟存储控制设备与存储软件系统,交换设备集成为一个整体,内嵌在网络数据传输路径中;非对称式虚拟存储技术是指虚拟存储控制设备独立于数据传输路径之外。而从它的实现原理来看也有两种方式:即数据块虚拟与虚拟文件系统。 3.1对称式虚拟存储具有以下主要特点 3.1.1大容量高速缓存的应用,使数据传输速度明显提高 缓存是位于主机与存储设备之间的I/O路径上的中间介质被存储系统广泛采用的。当主机向存储设备读取数据时,会先把与当前数据存储位置相关联的数据读到缓存中,并将多次调用过的数据保留在缓存中;当主机读/写数据时,缓存这个中间介质就能够大大提高读/写速度。 3.1.2多端口并行技术,使I/O瓶颈消于无形 传统的存储设备中控制端口与逻辑盘之间关系就是一一对应,访问一块硬盘只能通过一个特定的控制器端口。但在对称式虚拟存储设备中,SANAppliance的存储端口与LUN的关系是虚拟的,即多台主机可以通过多个存储端口(最多8个)同时并发访问同一个LUN;在光纤通道100MB/带宽的大前提条件下,并行工作的端口数量越多,数据带宽就越高。

虚拟化技术介绍及应用

虚拟化技术介绍及应用 1 虚拟化技术简介 目前虚拟化技术深入人心,从服务器到桌面都呈现出一片繁荣的景象,由此相信多数人都不会怀疑虚拟技术的可用性和研究其的必要性。通俗说来,虚拟化就是把物理资源转变为逻辑上可以管理的资源,以打破物理结构间的壁垒。虚拟化技术就其本质而言属于一种资源管理技术,它将硬件、软件、网络、存储等硬件设备隔离开来,使用户能更合理更充分的控制与管理各种资源。 1.1 术语介绍 1).宿主机,即虚拟机管理器所在的系统 2).客户机,即运行在虚拟化管理器之上的系统 3).VMM, Virtual Machine Monitor. 虚拟机监视器 4).hypervisor,也称为虚拟机管理系统(包含VMM) 2 虚拟化技术历史 IBM 早在 20 世纪 60 年代开发 System/360?Model 67 大型机时就认识到了虚 拟化的重要性。Model 67 通过 VMM(Virtual Machine Monitor)对所有的硬件接口都进行了虚拟化。但在x86平台上的虚拟化技术起步较晚,但随着x86平台CPU性能越来越强健,在市场上的应用越来越广泛,x86平台下的虚拟化技术同样得到了快速发展,特别是支持虚拟化技术的芯片辅助技术(即CPU虚拟化技术)出现以后,x86平台一直以来对虚拟化支持不佳的形象发生了很大改变,x86 平台已经成为了虚拟化技术发挥作用的重要平台之一。 虚拟化技术的发展大概经历了下面两个阶段。 初级阶段:在虚拟化早期,人们采用模拟软件技术模拟出计算机硬件和软件。模拟层与操作系统对话,而操作系统与计算机硬件对话。在模拟层中安装的操作系统并不知道自己是被安装在模拟环境下的,你可以按照常规的方法安装操作系统。这种虚拟化需要付出很大的性能代价。 高级阶段:随着虚拟技术发展的不断深化,虚拟化被带到了一个更高的级别。在模拟层(负责被虚拟机器的指令翻译)和硬件之间,不需要任何主机操作系统运行硬件上的虚拟机。虚拟机监控器直接运行在硬件上。由此虚拟化变得更加高效。 3 虚拟化技术原理 我们首先简要介绍一下虚拟化技术及其涉及的元素。虚拟化解决方案的底部是要进行虚拟化的机器。这台机器可能直接支持虚拟化,也可能不会直接支持虚拟化;那么就需要系统管理程序层的支持。系统管理程序,或称为 VMM,可以看作是平台硬件和操作系统的抽象化。在某些情况中,这个系统管理程序就是一个操作系统;此时,它就称为主机操作系统。

虚拟化技术详解

虚拟化技术 虚拟化技术是继互联网后又一种对整个信息产业有突破性贡献的技术。对应于计算系统体系结构的不同层次,虚拟化存在不同的形式。在所有虚拟化形式中,计算系统的虚拟化是一种可以隐藏计算资源物理特征以避免操作系统、应用程序和终端用户与这些资源直接交互的去耦合技术,包括两种涵义:使某种单一资源(例如物理硬件、操作系统或应用程序)如同多个逻辑资源一样发挥作用,或者使多种物理资源(例如处理器、内存或外部设备)如同单一逻辑资源一样提供服务。通过分割或聚合现有的计算资源,虚拟化提供了优于传统的资源利用方式。 虚拟化技术的发展为信息产业特别是总控与管理子系统的建设带来了革新性的变化,其所涉及到的技术领域相当广泛。在总控与管理子系统的设计和实现中,虚拟化技术将体现在多个方面,为系统资源的整合及性能的提升产生重要的作用。 1.1.1虚拟化原理 虚拟机是对真实计算环境的抽象和模拟,VMM(Virtual Machine Monitor,虚拟机监视器)需要为每个虚拟机分配一套数据结构来管理它们状态,包括虚拟处理器的全套寄存器,物理内存的使用情况,虚拟设备的状态等等。VMM 调度虚拟机时,将其部分状态恢复到主机系统中。 1.1.2虚拟化有何优势 目前,大多数只能运行单一应用的服务器,仅能利用自身资源的20%左右,

而其他80%甚至更多的资源都处于闲置状态,这样就导致了资源的极大浪费,虚拟化技术通过资源的合理调配,利用其它的资源来虚拟其它应用将使得服务器变得更加经济高效。除能提高利用率外,虚拟化还兼具安全、性能以及管理方面的优势。 用户可以在一台电脑中访问多台专用虚拟机。如果需要,所有这些虚拟机均可运行完全独立的操作系统与应用。例如,防火墙、管理软件和IP语音—所有应用均可作为完全独立的系统。这为目前单一的系统使用模式提供了巨大的管理和安全优势。在单一的使用模式下,只要某个应用出现故障或崩溃,在故障排除之前,整个系统都必须停止运行,从而导致极高的时间和成本支出。 提供相互隔离、安全、高效的应用执行环境。用户可以在一台计算机上模拟多个系统,多个不同的操作系统,虚拟系统下的各个子系统相互独立,即使一个子系统遭受攻击而崩溃,也不会对其他系统造成影响,而且,在使用备份机制后,子系统可以被快速的恢复。同时,应用执行环境简单易行,大大提高了工作效率,降低总体投资成本。 采用虚拟化技术后,虚拟化系统能够方便的管理和升级资源。传统的IT服务器资源是硬件相对独立的个体,对每一个资源都要进行相应的维护和升级,会耗费企业大量的人力和物力,虚拟化系统将资源整合,在管理上十分方便,在升级时只需添加动作,避开传统企业进行容量规划、定制服务器、安装硬件等工作,提高了工作效率。 虚拟化的其它优势还包括:可以在不中断用户工作的情况下进行系统更新;可以对电脑空间进行划分,区分业务与个人系统,从而防止病毒侵入、保证数据安全。此外,虚拟化紧急情况处理服务器(Emergency Server)支持快速转移

虚拟现实技术的应用研究

虚拟现实技术的应用研究 来源:毕业论文网 摘要:随着计算机技术的迅猛发展,虚拟现实技术的应用日趋广泛和深入。基于此,本文 将深入浅出地对虚拟现实技术的定义、应用领域、未来的发展前景和存在的问题进行介绍,重点阐述虚拟现实技术的应用领域以及相关研究,以期使读者对于虚拟现实有一个相对明 晰的认知。本文内容介绍:在第2部分会对虚拟现实技术进行简单介绍;第3部分将部分应用虚拟现实技术的领域进行介绍;第4部分描述虚拟现实技术研究现状和前景;在第5部分 对全文进行总结。 关键词:虚拟现实技术研究现状虚拟现实应用虚拟现实发展前景 一、引言 虚拟现实对于很多人来讲还是一个比较新的词汇,也可能你听说过,但并不了解,只 是认为佩戴显示设备,观看虚拟出来的内容,有身临其境之感,以为这就是虚拟现实技术。不尽然,那虚拟现实技术究竟指什么呢?本文将为读者解决这个困惑。 二、虚拟现实技术简介 2.1什么是虚拟现实技术 虚拟现实技术即虚拟现实。虚拟现实(Virtual Reality,简称VR)是近年来出现的高 新技术。从本质上来说,虚拟现实是一种先进的计算机用户接口,它通过给用户同时提供视、听、触等各种直观而又自然的实时感知交互手段,因此具有多感知性、存在感、交互性、自主性等重要特征。虚拟现实技术并不是一项单一的技术,而是多种技术综合后产生的,其核心的关键技术主要有动态环境建模技术、立体显示和传感器技术、系统开发工具 应用技术、实时三维图形生成技术、系统集成技术等五大项。 2.2虚拟现实技术特征 虚拟现实技术主要有四个特征:(1)沉浸性:主要是指让计算机产生一种虚拟的环境,让参与到其中的人有一种和现实世界一样的感觉,就如身临其境一般。(2)交互性:主要是指用户对计算机模拟出的虚拟环境中的物体具有可操作性和从虚拟环境中的物体上得到的 反馈。(3)想象力:主要是指虚拟现实技术它具有很广阔的想象空间,不仅可以模拟出现实存在的世界,而且还可以模拟出不存在的环境。(4)多感知性:主要是指这项技术不仅能够让我们感受到视觉和听觉这两种一般计算机就可以给我们提供的感觉外,还可以给我们提 供触觉、味觉等一般计算机难以模拟出的感觉。 三、虚拟现实技术的应用领域 虚拟现实技术在很多领域内均有比较理想的应用,如教育与培训、娱乐与艺术、医学、军事、商业等领域,下面我们将就其中几个比较典型的应用领域展开叙述。 3.1教育与培训

无盘工作站与虚拟化桌面技术对比

无盘工作站与虚拟化桌面 技术对比 Last revision on 21 December 2020

无盘工作站与虚拟化桌面技术对比本文仅从管理复杂性,成本以及安全性等企业级关键特性来对无盘工作站与虚拟桌面对比。 相似点: 1、前端设备均不提供数据存储; 2、均为简化系统管理员管理工作量而设计的架构; 差异: 1、无盘工作站要求前端PC或瘦客户机有强大的运算能力,而虚拟桌面方式对前端瘦客户机设备的性能几乎没有要求。 虚拟化桌面与无盘工作站的优劣: 管理 1、无盘工作站要求前端硬件型号及配置一致,扩展性较差。而瘦客户机访问虚拟桌面时采用的是统一架构与协议,与瘦客户机及后端服务器品牌及型号均无要求。 2、无盘工作站具有PC的大部分缺点,例如:终端管理比较复杂、成本较高、易损坏等。而瘦客户机是一种实时客户端。其优点包括:硬件成本低廉,可以瞬间开机,而且相对无盘工作站方式来说更加安全。 安全性

1、无盘工作站与传统PC的唯一不同就是将本地的硬盘移除,但用户数据仍会驻留在工作站的内存中,非常容易被窃取。而虚拟桌面的运算均驻留在数据中心的服务器上,保证了数据及应用的安全性。 2、使用无盘工作站方式,用户仍然可以通过传统的打印,移动介质等途径窃取数据。而虚拟桌面前端的瘦客户机本身不驻留任何的数据,非提供高级别的安全功能开关选项。 3、无盘服务器不具有企业级的高可用及灾备等关键功能,一旦服务器停机或网络中断将造成前端用户的工作会话及数据丢失。而虚拟桌面后端的服务器可以实现如高可用性,在线迁移,实时容灾等企业级关键特性。即使前端瘦客户机损坏或网络中断,用户的所有操作及数据均驻留在数据中心服务器上。 可靠性 1、采用无盘工作站方式对客户端及服务器的资源要求均很高,当无盘工作站数量达到一定数量时,速度会变得缓慢,同时整体系统的稳定性不高,由此带来的维护成本也较高。 2、无盘工作站使用广播协议与无盘服务器进行连接,对网络要求非常高。同时对网络中其他应用系统有较大干扰。 无盘和虚拟桌面方案比较图表如下:

虚拟现实技术简介

虚拟现实技术 虚拟现实(简称VR),又称灵境技术,是以沉浸性、交互性和构想性为基本特征的计算机高级人机界面。他综合利用了计算机图形学、仿真技术、多媒体技术、人工智能技术、计算机网络技术、并行处理技术和多传感器技术,模拟人的视觉、听觉、触觉等感觉器官功能,使人能够沉浸在计算机生成的虚拟境界中,并能够通过语言、手势等自然的方式与之进行实时交互,创建了一种适人化的多维信息空间。使用者不仅能够通过虚拟现实系统感受到在客观物理世界中所经历的“身临其境”的逼真性,而且能够突破空间、时间以及其他客观限制,感受到真实世界中无法亲身经历的体验。 VR技术具有超越现实的虚拟性。虚拟现实系统的核心设备仍然是计算机。它的一个主要功能是生成虚拟境界的图形,故此又称为图形工作站。目前在此领域应用最广泛的是SGI、SUN等生产厂商生产的专用工作站,但近来基于Intel奔腾Ⅲ(Ⅳ代)代芯片的和图形加速卡的微机图形工作站性能价格比优异,有可能异军突起。图像显示设备是用于产生立体视觉效果的关键外设,目前常见的产品包括光阀眼镜、三维投影仪和头盔显示器等。其中高档的头盔显示器在屏蔽现实世界的同时,提供高分辨率、大视场角的虚拟场景,并带有立体声耳机,可以使人产生强烈的浸没感。其他外设主要用于实现与虚拟现实的交互功能,包括数据手套、三维鼠标、运动跟踪器、力反馈装置、语音识别与合成系统等等。虚拟现实技术的应用前景十分广阔。它始于军事和航空航天领域的需求,但近年来,虚拟现实技术的应用已大步走进工业、建筑设计、教育培训、文化娱乐等方面。它正在改变着我们的生活。 虚拟与现实两词具有相互矛盾的含义,把这两个词放在一起,似乎没有意义,但是科学技术的发展却赋予了它新的含义。虚拟现实的明确定义不太好说,按最早提出虚拟现实概念的学者https://www.360docs.net/doc/5811892651.html,niar的说法,虚拟现实,又称假想现实,意味着“用电子计算机合成的人工世界”。从此可以清楚地看到,这个领域与计算机有着不可分离的密切关系,信息科学是合成虚拟现实的基本前提。生成虚拟现实需要解决以下三个主要问题: ①以假乱真的存在技术。即,怎样合成对观察者的感官器官来说与实际存在相一致的输入信息,也就是如何可以产生与现实环境一样的视觉,触觉,嗅觉等。 ②相互作用。观察者怎样积极和能动地操作虚拟现实,以实现不同的视点景象和更高层次的感觉信息。实际上也就是怎么可以看得更像,听得更真等等。 ③自律性现实。感觉者如何在不意识到自己动作、行为的条件下得到栩栩如生的现实感。在这里,观察者、传感器、计算机仿真系统与显示系统构成了一个相互作用的闭环流程。 虚拟现实是多种技术的综合,其关键技术和研究内容包括以下几个方面: 1、环境建模技术 即虚拟环境的建立,目的是获取实际三维环境的三维数据,并根据应用的需要,利用获取的三维数据建立相应的虚拟环境模型。 2、立体声合成和立体显示技术

深信服服务器虚拟化-技术白皮书

深信服服务器虚拟化产品技术白皮书 深信服科技

声明 市深信服电子科技所有,并保留对本文档及本声明的最终解释权和修改权。 本文档中出现的任何文字叙述、文档格式、插图、照片、方法、过程等容,除另有特别注明外,其著作权或其它相关权利均属于市深信服电子科技。未经市深信服电子科技书面同意,任何人不得以任何方式或形式对本文档的任何部分进行复制、摘录、备份、修改、传播、翻译成其他语言、将其全部或部分用于商业用途。 免责条款 本文档仅用于为最终用户提供信息,其容如有更改,恕不另行通知。 市深信服电子科技在编写本文档的时候已尽最大努力保证其容准确可靠,但市深信服电子科技不对本文档中的遗漏、不准确、或错误导致的损失和损害承担责任。 信息反馈 如果您有任何宝贵意见,请反馈: 信箱:省市学苑大道1001号南山智园A1栋邮编:518055 电话:09 传真:09 您也可以访问深信服科技:https://www.360docs.net/doc/5811892651.html,获得最新技术和产品信息

缩写和约定 英文缩写英文全称中文解释 Hypervisor Hypervisor 虚拟机管理器(和VMM同 义) VMM VMM Virtual Machine Manager 虚拟机监视器 HA HighAvailability 高可用性 vMotion vMotion 实时迁移 DRS Distributed Resource Scheduler 分布式资源调度程序 FC Fibre Channel 光纤通道 HBA Host Bus Adapter 主机总线适配器 RAID Redundant Arrays of Independent Disks 磁盘阵列 IOPS Input/Output Operations Per Second 每秒读写(I/O)操作的次数VM Virtual Machine 虚拟机 LUN Logical Unit Number 逻辑单元号

虚拟化技术区别

x86平台三种不同的虚拟化之路 从1998年开始,VMware创造性的将虚拟化引入x86平台,通过二进制翻译(BT,Binary Translation)和直接执行的模式,让x86芯片可以同时运行不同的几种操作系统,并且确保性能、稳定性和安全性。从那时起,数以万计的企业已经从虚拟化中获得了极大的收益。但是,关于虚拟化的几种实现方式,引起了很多误解,为此,希望通过此文澄清几种虚拟化道路的优缺点,以及VMware公司对几种虚拟化之路的支持情况。图1总结了x86虚拟化技术的进展情况,从VMware的BT最近的内核部分虚拟化和硬件辅助虚拟化。 1.x86虚拟化概览 所谓x86服务器的虚拟化,就是在硬件和操作系统之间引入了虚拟化层,如图2所示。虚拟化层允许多个操作系统实例同时运行在一台物理服务器上,动态分区和共享所有可用的物理资源,包括:CPU、内存、存储和I/O设备。

图2. x86架构上的虚拟化层 近年来,随着服务器和台式机的计算能力急剧增加,虚拟化技术应用广泛普及,很多用户已经在开发/测试、服务器整合、数据中心优化和业务连续性方面证实了虚拟化的效用。虚拟架构已经可以将操作系统和应用从硬件上分离出来,打包成独立的、可移动的虚拟机,从来带来了极大的灵活性。例如:现在可以通过虚拟架构,让服务器7x24x365运行,避免因为备份或服务器维护而带来的停机。已经有用户在VMware平台上运行3年而没有发生任何的停机事件。 对于x86虚拟化,有两种常见的架构:寄居架构和裸金属架构。寄居架构将虚拟化层运行在操作系统之上,当作一个应用来运行,对硬件的支持很广泛。相对的,裸金属架构直接将虚拟化层运行在x86的硬件系统上,可以直接访问硬件资源,无需通过操作系统来实现硬件访问,因此效率更高。VMware Player、ACE、Workstation和VMware Server都是基于寄居架构而实现的,而VMware ESX Server是业界第一个裸金属架构的虚拟化产品,目前已经发布了第四代产品。ESX Server需要运行在VMware认证的硬件平台上,可以提供出色的性能,完全可以满足大型数据中心对性能的要求。 为了更好的理解x86平台虚拟化,在此简要介绍一下部件虚拟化的背景。虚拟化层是运行在虚拟机监控器(VMM,Virtual Machine Monitor)上面、负责管理所有虚拟机的软件。如图3所示,虚拟化层就是hypervisor(管理程序)直接运行在硬件上,因此,hypervisor 的功能极大地取决于虚拟化架构和实现。运行在hypervisor(管理程序)上的每个VMM进行了硬件抽取,负责运行传统的操作系统。每个VMM必须进行分区和CPU、内存和I/O设备的共享,从而实现系统的虚拟化。 图3. Hypervisor通过VMM管理虚拟机

虚拟现实技术软件VRP简介

虚拟现实技术软件(VRP)简介 什么事虚拟现实技术 虚拟现实技术(简称VR),又称灵境技术,是以沉浸性、交互性和构想性为基本特征的计算机高级人机界面。它综合利用了计算机图形学、仿真技术、多媒体技术、人工智能技术、计算机网络技术、并行处理技术和多传感器技术,模拟人的视觉、听觉、触觉等感觉器官功能,使人能够沉浸在计算机生成的虚拟境界中,并能够通过语言、手势等自然的方式与之进行实时交互,创建了一种适人化的多维信息空间,具有广阔的应用前景。 虚拟现实技术的实现靠什么?当然是虚拟现实软件。虚拟现实软件品类有很多,但一直以来,VRP虚拟现实软件凭借其强大的功能,在市场上占据主导地位。也是在虚拟现实行业应用最为广泛的一款软件。 VRP是什么 VRP(VR-Platform,简称VRP)VRP三维互动仿真平台是由中视典数字科技(https://www.360docs.net/doc/5811892651.html,)独立开发的具有完全自主知识产权的一款三维虚拟现实平台软件。可广泛的应用于工业仿真、古迹复原、桥梁道路设计、视景仿真、城市规划、室内设计、军事模拟等行业。该软件适用性强、操作简单、功能强大、高度可视化、所见即所得,它的出现将给正在发展的VR产业注入新的活力。 VRP的目标 低成本、高性能,让VR从高端走向低端,从神坛走向平民。让每一个CG人都能够从VR中发掘出计算机三维艺术的新乐趣。 VRP产品体系 (1)VRPIE-3D互联网平台 软件用途:将VRP-BUILDER的编辑成果发布到互联网,并且可让客户通过互联网进行对三维场景的浏览与互动 客户群:直接面向所有互联网用户 (2)VRP-BUILDER 虚拟现实编辑器 软件用途:三维场景的模型导入、后期编辑、交互制作、特效制作、界面设计、打包发布的工具 客户群:主要面向三维内容制作公司 (3)VRP-PHYSICS 物理系统 软件用途:可逼真的模拟各种物理学运动,实现如碰撞、重力、摩擦、阻尼、陀螺、粒子等自然现象,在算法过程中严格符合牛顿定律、动量守恒、动能守恒等物理原理

相关文档
最新文档