新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 网络学院 > 操作系统 > Linux教程 > 正文:Xen和虚拟化技术学习指南

Xen和虚拟化技术学习指南

新客网 XKER.COM 2006-05-24 来源: 收藏本文

对于直接的系统调用句柄来说,这种“懒惰(//第一个错误发生的时候,没有被检查到;直到Xen执行了iret之后才报错)”的检查也是安全的:当CPU试图直接跳至guest OS句柄的时候,会发生访问错误(//之前的过程都一样,只是直接的系统调用是不经过Xen的)。在这种情况下,产生错误的地址将处于Xen之外(因为Xen不会去执行guest OS系统调用),因此错误就以上文讲过的一般方式进行虚拟化即可。如果由于错误的传播导致了进一步的“双错误”,那么guest OS会像上文谈及的一样被终止。

2.1.3设备I/O

在完全虚拟化环境下需要仿真现有的硬件设备,而Xen不同于此。Xen给出了一套清楚、简单的设备抽象。这就使得我们能够设计一个接口以有效地满足我们对保护性和隔离性的需求。为了做到这一点,I/O和各个domain之间的数据传递都是要经过Xen的,可以使用的方法有共享内存,异步缓冲区描述符环等。这些方法能够在Xen有效地执行确认检查(例如,检查缓冲区是否包括在了domain的存储空间内)的同时,为在系统中的竖直方向上传递缓冲区信息提供了一个高性能的通信机制。和硬件中断类似,Xen支持一个轻量级的事件递交机制用于为一个domain传送异步通告(notification)。这些通告是在对未决事件类型的位图进行更新的时候产生的,也可以通过调用一个guest OS专有的事件句柄产生。这些调用的返回可以由guest OS来决定是否进行“拖延”处理。例如,这么做(//拖延处理)可以避免在频繁唤醒通告时带来的额外开销。

2.2移植OS到Xen的代价

当前我们的NetBSD移植还处于非常初级的阶段,因此我们就没有将其结果在这里报告。虽然XP的移植要更进一步,但也还处于移植过程中;当前移植的XP能够执行RAM上的用户空间的应用,但是缺乏虚拟的I/O驱动。基于这个原因,表中就没有给出和XP的虚拟设备驱动相关的数据。无论怎样,和Linux一样,我们可以想见这些驱动应该是小的和简单的,因为这要得益于Xen提供的理想的硬件抽象。

衡量代价的标准是与原先的x86代码相比修改或增加的那些必要的注释以及遵从一定格式的代码的行数(不包括设备驱动)。对Windows XP中体系结构无关(architecture independent)的代码所作的改动达到了一个惊人的数字,这是因为Windows XP使用了多种多样的结构和联合来访问页表项(PTE)。每次对页表的访问都不得不被单独地进行修改(//因为每次访问都可能用到不同的结构),当然这个过程是可以采用一些脚本来自动完成的。与此相反的,Linux需要的改动就少了很多,这是因为Linux的存储系统是使用预处理程序中的宏来访问PTE的— 这些宏定义为增加准虚拟化所需的转换和hypervisor调用提供了便利的位置(//就在这些位置上加即可)。

在这两个操作系统中,体系结构特有(architecture specific)的部分用于将x86代码向我们的准虚拟架构的移植。这包括重写那些使用了特权指令的程序,删除大量的低层的系统初始化代码。另外,Window XP需要有更多的改变,这主要是因为之前遗留下来的16位仿真代码的存在以及需要一个略有不同引导加载(boot-loading)机制。注意,XP中的x86特有的代码要比Linux多很多,因此可以预见到在做移植的时候也就需要做更多的工作。

2.3控制和管理

贯穿于整个Xen的设计与实现过程中,有一个目标就是尽可能地将策略从机制当中剥离出来。虽然hypervisor必须要被包含在数据通路(data-path aspects)上。例如,在domain之间调度CPU,在发送之前过滤网络数据包,或者在读数据块的时候进行执行访问控制(//必然的,因为Xen位于guest OS和底层硬件之间,guest OS又是彼此隔离的,所以数据传递是一定都要经由Xen的)。但是在更高层次的问题上,例如CPU如何被共享或者各个domain能够发送哪种数据包,这时就不需要将Xen包括在内了,甚至都不用考虑它(//hypervisor是实现机制,而如何共享CPU和如何进行任务分工都是策略问题)。

标签:
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 阅读排行
  • 推荐阅读
  • 随机推荐