Xen 的整体架构和整体设计_第1页
Xen 的整体架构和整体设计_第2页
Xen 的整体架构和整体设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、 Xen 的整体架构和整体设计      1.Xen的整体架构如图:         (Domain 0)               Domain 1              

2、60;                                          图1   Xen 架构     

3、;  从图中可以看到,VMM介于硬件和虚拟机之间,截获虚拟机的特权指令并代替它们执行。VMM同时提供Domain间的共享内存和事件通道。 有一个特殊的虚拟机VM0(又称Domain0)运行着Linux,其主要作用是完成VM的创建、管理、配置等工作,并完成设备驱动。其他VM访问设备时,Xen获得该请求,然后将其转交给Domain0;当Domain0 完成请求的操作后,Xen再将结果返回给VM。这种做法的好处是Xen可以利用Linux中已有的驱动,不用在重新开发驱动了。2. Xen的泛虚拟化设计:     Xen采用的泛虚拟化技术需要对Guest

4、OS进行相应修改。 IA-32平台上Xen的泛虚拟化技术如下:   1)Guest OS使用特权指令的地方要修改为调用Xen提供的API:hypercalls。    2)硬件中断被轻量级的事件机制取代;对于异常,Guest OS要调用hypercalls来注册自己的异常处理函数。        陷阱的处理程序是注册到VMM上的,而不是直接注册到虚拟CPU上的,这样就节省了一步操作,否则要先引起虚拟硬件的陷阱,再由VMM处理。    &

5、#160;  系统调用注册到处理器。大多数操作系统中,系统调用是通过一个查找表和一个特殊的陷阱队列来处理的。虚拟化后,陷阱队列引起VMM的处理。而Xen跨过这个效率不高的一步,允许虚拟机上的操作系统直接将它们系统调用的处理绑定到处理器上,避免了VMM处理陷阱队列而进行上下文切换的开销。       3)修改内存管理机制:在每个Guest OS的虚拟内存空间保留64M给Xen,物理内存的申请和释放都要经过Xen。每个虚拟机可以对硬件页表进行只读访问,而更新页表的工作则由VMM完成。    

6、;   4)修改I/O使用方法:Xen只提供给VM一些通用快速的设备,VM只能根据Xen定义的API来访问设备。     Xen的I/O模型如下图所示:图2 Xen的I/O模型      Xen采用的是泛虚拟化技术,VM(也称为DomainU)的I/O操作不能直接通过自身的驱动程序访问硬件,而是要借助Domain0的驱动来访问。DomainU的I/O操作由两个主要的驱动模块来完成,即Fronten Driver和Backend Driver。Frontend Driver 位于Domain U中,负责接收Domainu的I/O请求,并把请求交给位于Domain 0的Backend Driver,随后由Backend Driver 调用Domain0中的相关驱动来处理,并把处理结果返回给Frontend,从而完成DomainU的一次I/O操作。    由于Frontend和Backend位于不同的OS中,它们之间的通信要依赖共享内存环和事件通道(Event Channel)来进行。通过共享内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论