中国教育在线 中国教育网 加入收藏 设为首页

linux认证:Xen起源与工作原理

http://itpx.eol.cn  来源:  作者:网络转载  2011-07-12    

  linux认证:Xen起源与工作原理,如今,虚拟化市场上满是各种不同的虚拟化解决方案。多年以来,VMware一直控制着基于i386的虚拟化市场。然而,现在的开源解决方案Xen也在迅速地扩张自己的市场。在本文中,TechTarget中国的特约虚拟化专家Sander van Vugt将介绍什么是Xen、它如何工作以及Xen如何与其它虚拟化解决方案一争高下。

  要理解Xen的虚拟化方法,首先你必须了解什么是虚拟化。在计算时代早期,虚拟化并不存在。那时,使用的是模拟(Emulation)。在模拟技术中,软件程序模拟了计算机(硬件和软件)的行为。模拟层与操作系统对话,而操作系统与计算机硬件对话。在模拟层中安装的操作系统并不知道自己是被安装在模拟环境下的,你可以按照常规的方法安装操作系统。市场上有两大开源的模拟器:QEMU和Bochs.

  模拟技术最重要的特点之一是所有硬件都是模拟的,包括CPU.此外,还能在自己的架构中运行为其它架构开发的操作系统。不过,它也有一个缺点:虚拟完整的CPU要付出很大的性能代价。

  在下一代中,虚拟化被带到了一个更高的级别。在模拟层(负责被虚拟机器的指令翻译)和硬件之间,不需要任何主机操作系统运行硬件上的虚拟机。虚拟机监控器(也称hypervisor或管理程序)被直接放在硬件之上运行。有了这种新型架构之后,虚拟化变得更加高效。例如,VMware在VMware ESX中应用了该架构,取得了巨大的成功。

  在基于hypervisor的虚拟化中,有两种实现方法。第一种,虚拟机器产生的所有指令都需要被翻译成CPU能识别的指令格式,这会给 hypervisor带来大量的工作负荷。另一种方法(VMware ESX Server采用的就是这种方法)直接执行大部分子机CPU指令,直接在主机物理CPU中运行指令,性能负担很小。

  在Xen使用的方法中,没有指令翻译。这是通过两种方法之一实现的。第一,使用一个能理解和翻译虚拟操作系统发出的未修改指令的CPU(此方法称作完全虚拟化或full virtualization)。另一种,修改操作系统,从而使它发出的指令最优化,便于在虚拟化环境中执行(此方法称作准虚拟化或 paravirtualization)。

  完全虚拟化与准虚拟化

  完全虚拟化(full virtualization)是虚拟一台机器的一种方法。在此方法中,虚拟机与一个叫做虚拟机监控器(VMM)的部件进行通信,而VMM则与硬件平台进行通信。要在Xen中利用完全虚拟化方法,需要一个特殊的CPU,此CPU能理解虚拟操作系统发出的未修改指令。如果没有这样的特殊CPU功能,是不可能在Xen中使用完全虚拟化的。这是因为,在Xen方法中不是每条虚拟操作系统发出的指令都可以被翻译为每个CPU都能识别的格式,因为这非常耗费资源。完全虚拟化的主要优势在于,它安装了一个未修改的操作系统,这意味着运行于同样架构的所有操作系统都可以被虚拟化。

推荐给好友    我要收藏    我要纠错    分享到

免责声明:

① 凡本站注明“稿件来源:中国教育在线”的所有文字、图片和音视频稿件,版权均属本网所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本站协议授权的媒体、网站,在下载使用时必须注明“稿件来源:中国教育在线”,违者本站将依法追究责任。

② 本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。

内容推荐
eol.cn简介 | 联系方式 | 网站声明 | 京ICP证140769号 | 京ICP备12045350号 | 京公网安备 11010802020236号
版权所有 北京中教双元科技集团有限公司 EOL Corporation
Mail to: webmaster@eol.cn