(计算机应用技术专业论文)vmx虚拟机设备模型设计研究与虚拟网卡实现.pdf_第1页
(计算机应用技术专业论文)vmx虚拟机设备模型设计研究与虚拟网卡实现.pdf_第2页
(计算机应用技术专业论文)vmx虚拟机设备模型设计研究与虚拟网卡实现.pdf_第3页
(计算机应用技术专业论文)vmx虚拟机设备模型设计研究与虚拟网卡实现.pdf_第4页
(计算机应用技术专业论文)vmx虚拟机设备模型设计研究与虚拟网卡实现.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机应用技术专业论文)vmx虚拟机设备模型设计研究与虚拟网卡实现.pdf.pdf 免费下载

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

文档简介

奄宁理丁大学硕士学论文v m x 虚芋c ! 机设备模型铲究与虚拟网卡蛮现 摘要 随着互联网的发展,对软件兼容性和可移植性需求剧增,虚拟机的发展进入了一 个繁荣的时代。同时,随着x 8 6 服务器市场的快速增长,x 8 6 虚拟机更是为人们看好。 根据v m m ( v i r t u a lm a c h i n em o n i t o r ) 抽象的虚拟机架构的不同,或根据是否需要修 改客户操作系统,虚拟化技术又可以分为泛虚拟化( p a r a v i r t u a l i z a t i o n ) 和完全虚拟化 ( f u h v i r t u a l i z a t i o n ) 。所以目前x 8 6 平台下的主流虚拟机有两种:完全虚拟实现方案 v m w a r e ,它不需要修改就可以直接运行各种主流操作系统,但虚拟机的性能消耗很 大;泛虚拟实现方案x e n ,虚拟机中的操作系统需要修改小量的平台相关代码,与虚 拟机管理器配合工作性能出色,但该方案无法应用于闭源的w i n d o w s 主流操作系统。 市场的驱动催生了v t - x ,i n t c l 在芯片级为对虚拟机提供支持的一种技术。v t - x 大大提升了v m m 对虚拟机的掌控灵活性和粒度,而且充分考虑了如何有效减小虚拟 机的开销。利用x e n 开源和性能优异的特点,i n t e ll i n u xv m m 小组在其基础上加入 了对v t - x 技术的支持,提出了v m x 虚拟机模型,目标是要实现高性能的纯虚拟实 现方案,克服v m w a r e 和x c n 各自的弊端。对v t - x 的支持已经是x e n 3 0 中的一部分 为了使x e n 支持v t - x 技术,在x e n 的基础上进行一定程度的改进和扩充,很重 要的一部分就是模拟p c 平台的设备模型( d e v i c em o d e l ) 。设备模型( d e v i c em o d e l ) 提供了对一个v m x 虚拟域的p c 平台设备的模拟。它作为一个软件模型模拟了所有 的硬件级编程接口,从而使得一个普通的未经修改的设备驱动程序可以用这些接口来 进行y o 操作,站在v m x 虚拟域的角度向一个物理设备提交请求。 在设备模型的实现中,论文借鉴了q e m up c 平台模拟器,它提供了为v m x 虚 拟域进行i o 模拟的大多数功能。本论文设计是将设备模型运行在虚拟域0 的用户空 间,然后为每个v m x 虚拟域运行一个进程,即将所有的c p u 模拟的代码从这些模 拟器中移除出去,并且修改那些模拟物理内存( r a m ) 的代码。 论文在对设备模型的体系结构进行研究的基础上,实现了虚拟的n e 2 0 0 0 网卡。 主要的工作包括对n 0 2 0 0 0 的工作流程进行了细致的分析和研究,并将其用软件进行 模拟,然后再结合设备模型的体系结构,引入事件驱动机制,将n e 2 0 0 0 加入到设备 模型当中。应用结果表明,引入的虚拟n e 2 0 0 0 网卡可以在v m x 虚拟机设备模型中 流畅的工作,并且具有较好的性能。 关键词:v t - x ,x e n 虚拟机,v m x 虚拟机,设备模型,n e 2 0 0 0 网昔 审京雩i 大学妒学位论文v m x 虚捌机设备模犁酽究与虚拟啊睾实现 a b s t r a c t w i t ht h ed e v e l o p m e n to fn e t w o r ka n dt h eg r o w i n gn e e df o rs o f t w a r ec o m p a t i b i l i t y , t h er e s e a r c ho fv i r t u a lm a c h i n eh a se n t e r e di n t oag l o r i o u st i m e m e a n w h i l e 耐血t h er a p i d e n h a n c e m e n to ft h em a r k e tf o rx 8 6s e a - v e t , t h ev i r t u a lm a c h i n ef o rx 8 6a t t r a c t sm o r e i n t e r e s t s h o w e v e r , t h e r ee x i t sv i r m a l i z a t i o nh o l ei ni n t e lx 8 6a r c h i t e c t u r ef o rh i s t o r i c a l r e a s o n a c c o r d i n gt od i f f e r e n tv m m a b s t r a c tv i r t u a lm a c h i n e a r c h i t e c t u r e ,a c c o r d i n gt o w h e t h e rt h eg u e s to sn e e dt ob em o d i f i e d v i r t o a l i z a t i o nt e c h n o l o g yc o u l db ed i v i d e di n t o t w ok i n d s :p a r a v i r t u a h z a t i o na n df u l l v i r t u a l i z a t i o n ,t h e r e f o r e ,t h e r ea r et w ok i n d so f m a j o rv i r t u a lm a c h i n eo nx 8 6p l a t f o r m :v m w a r ew h i c hu s ef u l l - v i r t u a l i z a t i o na n dx e n w h i c hu s ep a r a v i r m a l i z a t i o n v m w a r ec o u l db eo p e r a t e do ns e v e r a lo sw i t h o u t m o d i f y i n g ,b u tt h ep e r f o r m a n c er e g r e s s i o ni sg r e a t x e nr e q u i r e so sc o d er e l a t i n gw i t h p l a t f o r mt ob em o d i f i e d 。a n dg a i n se x c e l l e n tp e r f o r m a n c eb yc o - w o r k i n g 谢也v m m 。b u t i t c o u l dn o tb eu s e dw i 也w i n d o w so sw h o s ec o d ei sn o ta v a i l a b l e t h ed r i v i n gp o w e ro fm a r k e ta s k sf o rv t x ap r o c e s s o rl e v e ls u p p o r tf o rv i r t u a l m a c h i n eo fi n t e l v t - xg r e a t l yi m p r o v e st h ef l e x i b i l i t yo fv m m a n dg i v e sf u l l c o n s i d e r a t i o nf o rh o wt ol i m i tt h ec o s to fv i r t u a lm a c h i n e t a k i n ga d v a n t a g eo fx e n sg o o d p e r f o r m a n c e ,w h i c hi so p e ns o u r c e 。i n t e lv m m t e a ma d d ss u p p o r tf o rv t - xo nb a s i so fi t , a n dc o m e sa b o u tv m xv i r t u a lm a c h i n em o d e l ,w h i c ha i m sa tg i v i n gam e t h o df o rh i g h p e r f o r m a n c eo ff u l l v i r t u a l i z a t i o na n do v e r c o m e s 也ed i s a d v a n t a g e so fv i v i w a r ea n dx e n r i g h tn o w t h es u p p o r tf o rv t - xh a sb e e np a r to fx e n3 0 i no r d e rt os u p p o r tv t - xi nx e n w en e e dt om a k es o m em o d i f i c a t i o na n da d ds o m e e x t e n s i o n so nb a s i so fx e n ,a m o n gw h i c he m u l a t i n gp cp l a t f o r md e v i c em o d e li so n eo f m a j o rp a r t s it a k eg r e a tp l e a s u r et oj o i ni nt h ep r o j e c t ,a n df o c u so nr e s e a r c ha n dr e a l i z e t h ed e v i c em o d e l a sas o f t w a r em o d e lw h i c he m u l a t e sa l lt h eh a r d w a r el e v e lp r o g r a m m i n g i n t e r f a c e w h i c hm a k ea nu n m o d i f i e dd e v i c ed r i v e rc o u l du s et h e s ei n t e r f a c e sd oi o o p e r a t i o n s i no r d e rt or e a l i z ev m xd e v i c em o d e l ,w er e f e r e n c eq e m up cp l a t f o r me m u l a t o r , w h i c hi sa no p e ns o u r c ep r o j e c ta n dp r o v i d em o s to ft h ef u n c t i o n sf o ri oe m u l a t i o n o u r b a s i cd e s i g ni st or u nd e v i c em o d e li nt h eu s e rs p a c eo fd o m a i n0 ,a n dr u sap r o c e s sf o r e a c hd o m a i n w en e e dt or e m o v ea l lt h ec o d e se m u l a t i n gc p uf r o mt h ee m u l a t o r , a n d m o d i f yt h o s ec o d e se m u l a t i n gp h y s i c a lr a m t h i se x p e r i m e n tr e a l i z eav i r t u a ln e 2 0 0 0n e t w o r kc o n t r o l l e ro nb a s i so fr e s e a r c h i n g d e v i c em o d e l t h em a i nw o r ki n c l u d ea n a l y z et h en e 2 0 0 0l o g i ca n de m u l a t ei ta c c o r d i n g 帝尊理工大学矽士学位论文 v m x 虚拟机设善模犁铲究与虚拟网卡实现 t oi t sl o g i c 。t h e nw ea d dn e 2 0 0 0t ot h ed e v i c em o d e la n da d de v e n tm e c h a n i s m t h er e s u l t o ft h ee x p e r i m e n tp r o v e st h a tt h ev i r t u a ln e 2 0 0 0n e t w o r kc o n t r o l l e rc o u l dw o r k s u c c e s s f u l l yi nv m x v i r t u a lm a c h i n e ,a n dt h e p e r f o r m a n c ei sa c c e p t a b l e k e yw o r d s :v t - x ,x e nv i r t u a lm a c h i n e ,v m xv i r t u a lm a c h i n e ,d e v i c em o d e l , n e 2 0 0 0n e t w o r kc o n t r o l l e r l l i 摩京跫工大学矽士学位论文v m x 虚咧札设备模型研究与虚 ;( 呵卡实现 图表目录 图1 2 1 虚拟机技术的分类3 图1 2 2 虚拟机经典模型4 图1 2 2 1v 删实现的三种模型( 监控模型,主机模型和混合模型) 5 图l i3 1 1v m w a r e 虚拟机模型6 图1 3 1 2b a l l o o n 驱动程序7 图1 3 2 1x e n 的虚拟机模型8 图2 1 1 虚拟机的生存期1 1 图2 1 1 1 虚拟机控制结构1 2 图2 4 1v e x 虚拟机的运行优先级1 7 图2 4 2x e n 3 0 架构1 8 图2 4 2 1 虚拟设备结构1 9 图2 4 4 1h y p e r v i s o r 地址空间分布2 2 图3 1 1x e n 的设备模型2 4 图3 。2 2 1v m x 虚拟机设备模型2 7 图3 3 1x e n + v t - x 模型中i 0 请求的流程3 l 图3 4 1x e n + v t l 【模型中硬件中断递送流程3 3 图4 1 1 1 双总线系统3 6 图4 1 2 1 网卡的接收缓冲环3 7 图4 1 2 2 初始化接收缓冲环3 8 图4 1 2 3 接收到的包进入缓冲环3 8 图4 1 2 4 链接接收缓冲页3 9 图4 1 2 5 收包操作结束( 成功接受) 4 0 图4 1 3 1 通常的发送包格式4 l 图4 1 6 1d f a 寄存器功能描述“ 图4 2 2 1t u n t a p 驱动示意图4 6 图4 4 3 1 虚拟n e 2 0 0 0 网乍i 0 请求流程。5 5 图5 4 l1v m x 虚拟机向主机传送数据6 4 图5 4 1 2 主机向v m x 虚拟机传送数据6 4 图5 4 1 3v m x 虚拟机向网络中其它机器传送数据6 5 图5 4 1 4 网络中其它机器向v m x 虚拟机传送数据6 5 图5 4 1 5v m x 虚拟机之问传送数据6 6 表4 1 5 1 命令寄存器的功能描述4 2 表4 3 i 1 第o 页地址分配( p s l = 0 ,p s 0 = 0 ) m 。4 7 表4 4 3 1e x r r _ q u a l i f i c a t i o n 结构描述5 5 表5 4 1 1s o p 测试结果。6 6 表5 4 2 1n e t p t f 比较结果6 6 8 v i 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发 表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历而使用过的材料。与我一同工作的同事对本学位论支做出的贡献均 己在论文中作了明确的说明。 , 研究生签名: 芝坦b 。o 年月加日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网公布本学位论文的部分或全部内容,可以向有关部门或机构送 交并授权其保存、借阅或上网公布本学位论文的部分或全部内容。对 于保密论文,按保密的有关规定和程序处理。 研究生签名:乱 劢6 年b 月切日 膏京珲工大学谛士学伊论文v m x 虚拟札设冬够型酽究t i 虚艰网卡实现 1 引言 1 1 研究背景 近年来,人们对软件兼容性和可移植性的需求剧增,因此虚拟机逐渐成为计算机 世界一个非常重要的概念。指令集体系结构( i s a ) 及现代操作系统已经为实现软件 的灵活性和可移植性提供了很大便利,但结果还是远远不能另人满意。由于历史原因, 存在许多不同的、不相兼容的i s a 和操作系统,从而导致了软件的可移擅性仅仅局限 在有限的平台上,而且这些平台必须遵循与软件开发平台同样的标准:这是因为用户 程序只能运行在特定的指令集和操作系统上,而操作系统又运行在实现了特定的指令 集、内存系统和i o 系统接口的计算机上。近年来随着计算机网络的迅猛发展,人们 希望能够像移植数据一样方便的在网络中移植应用程序,但是在一个大型网络中往往 包含基于各种i s a 和操作系统的计算机,于是软件可移植性的矛盾变得尤为尖锐了。 由此可见,造成软件可移植性缺陷的瓶颈在于人们假定软件运行的平台或者“机 器”是一个有着某些特定属性的物理机器,比如运行一个特定的i s a 或操作系统。简 单来说,软件仅仅能运行于一种类型的真实机器上。而虚拟机概念的引入就消除了这 种真实机器的局限,并且提供了更高程度的可移植性和灵活性。简单的讲,虚拟机的 实现就是通过在硬件执行平台上加一层软件,使它看起来像另一个不同的平台,或者 多个平台。一个虚拟机的操作系统或指令序列或两者都不同于底层硬件上的操作系统 或指令序列。 自从m m 公司在上世纪六七十年代最早提出虚拟计算机的概念,并将其运用于 v m 3 7 0 系统中至今,虚拟机的发展已经有了四十多年的历史。上世纪九十年代随 着j a v a 虚拟机的推出,尤其是之后v m w a r e 公司v m w a r ee s xs e r v e r 和v m w 缸e w o r k s t a t i o n 虚拟机的推出,使对虚拟机技术的研究成为处理器设计人员、软件设计人 员、服务器设计人员和网络安全设计人员的热门研究课题。 对于s u n 公司的u l t r a s p a r c 和i b m 的p o w e r 5 处理器,处理器本身就已经有对虚 拟机技术的支持,丽作为今天最主流的也是每一个计算机领域工作人员最普遍使用的 x 8 6 体系结构处理器如i n t e l 公司的奔腾系列和a m d 公司的毒龙,恕龙系列都存在虚 拟化漏洞( v i r t u a l i z a t i o nh o l e ) 。这使得9 0 年代末之前的虚拟机技术研究均主要集中 在泛虚拟化( p a r a v i r t u a l i z a t i o n ) 领域,直到v m w 缸e 在1 9 9 9 年推出了业界第一个基 于x 8 6 的完全虚拟化技术( f u l lv i r t u a l i z a t i o n ) 的系统虚拟机即v m w a r ew o r k s t a t i o n 和此后的面向服务器j l 场的v m w a r ee s xs e r v e r 和v m w a r eg s xs e r v c r 等。 2 0 0 5 年1 月,i n t e l 公司向全球发布了其称之为v i r t i a l i z a t i o nt e c h n o l o g y 的虚拟化 寓京理工大学硕士学位论文v m x 虚拟机设备椎犁研究与虚拟网卡实现 技术( 简称v t ) 。支持x 8 6 体系结构的、叩技术简称v t - x ,本文研究涉及的v m x 虚拟机模型即基于i n t d 的v t - x 技术。另外a m d 也在其后向外界发布了代号为 p a c i f i c a 的虚拟化技术( 简称s v m ) 。硬件虚拟化技术( v t 和s v m ) 弥补了x 8 6 的 虚拟化漏洞,因此使得完全虚拟化技术变得更加容易,更加高效。 1 2 经典的虚拟机模型 在计算机系统当中有不同的虚拟级别,“机器”的含义与看待它的角度相关闭。 从进程的角度来看,进程是由分配给进程的内存空间组成的,还包括用户级寄存 器和执行属于这个进程的代码的指令。从进程的角度看,i o 系统是相当抽象的。磁 盘和其它的二级存储器就像是一些文件的集合,进程拥有对它们的访问权限。在桌面 环境中,进程和用户之间通过进程创建的窗口进行交互。进程和它所在机器的i o 系 统的交互是通过操作系统的系统调用实现的。进程的存在大多是暂时的,它们被创建, 执行一段时间,可能产生一些新的进程,最后消亡。 从一个更高的角度来看,整个系统是由一个底层的机器来支持的。系统是一个可 以同时支持很多进程的完整的执行环境,这些进程可以属于不同的用户。所有的进程 共享一个文件系统和其它的i o 资源。系统环境可以一直存在,其上的进程可以产生 或消亡。系统分配物理内存和i o 资源给进程,并且允许进程和它们的资源通过操作 系统进行交互。 与以上两种看待机器的角度相对应,虚拟机技术可以相应的分为两种,如图1 2 1 所示:a ) i s a ( i n s t r u c t i o ns e ta r c h i t e c t u r e ) 级虚拟机,又叫系统虚拟机,和b ) a b i ( a p p l i c a t i o nb i n a r yi n t e r f a c e ) 级虚拟机,又叫进程虚拟机。j a v a 虚拟机属于a b i 级虚拟机,而v m w a r e 属于i s a 级虚拟机,另外如m i c r o s o f t 的v i r t u a l p c ,v i r t u a l s e r v e r 和本研究涉及的x en 也属于i s a 级虚拟机。本文所讨论的内容均属于系统虚拟机及 其相关技术,下面文章中所提到的虚拟机除非特别说明均指系统虚拟机。 2 礴 京理工大学碜 学位论文v m x 虐捌机设冬模掣铲究与虚拟罔卡实现 毳 应用程序 调 用 t 操作系统 用户i s a 系统i s a 硬件平台 ( a ) i s a 接口 l营 主 应用程序 翻卜a 硬件平台 ( b ) a b l 接口 图1 2 1 虚拟机技术的分类 虽然目前虚拟机基于的硬件平台和实现细节多种多样,但基本上都是基于图 1 2 2 这个经典的虚拟机模型。虚拟化技术通过在现有平台( 机器) 上添加一层薄的 虚拟机监控器( v i r t u a lm a c h i n em o n i t o r ,简称v m m ) 软件而实现对系统的虚拟化, 如虚拟处理器,虚拟内存管理器( m m u ) 和虚拟i o 系统等。虚拟机监控器( v m m ) 介于物理硬件和虚拟机之间,运行在特权模式,隔离并且管理上层运行的多个虚拟机。 它为每个虚拟机虚拟出一套独立于实际硬件的虚拟硬件环境( 包括处理器,内存,i o 设备) 。一个时间片内,一个逻辑处理器上有且只有一台虚拟机在连续运行,直到时 间片用完v m m 收回控制,调度下一个虚拟机继续运行。从应用程序的角度看,程序 运行在虚拟机上与运行在其对应的实体计算机上一样。虚拟机技术使得一台物理计算 机可以生成多个不同的虚拟机分别运行不同或相同的操作系统。通过将不同的应用运 行在不同的虚拟机上,可以避免不同应用程序之间的互相干扰,例如一个应用的崩溃 不会影响到其它的应用等。这种由虚拟机技术实现的各个应用之问的完全隔离在服务 器领域具有尤其莺要的意义,同时虚拟机技术也可以使得企业,高校或研究所可以在 不必布置大量物理计算机的情况下实现大规模的计算机网络以从事生产及研究例如 网络及网络应用研究,操作系统核心软件的开发和用户操作系统的开发等。随着硬件 性能按照摩尔定律的速度不断提高,在一台物理的机器上运行多个高性能的虚拟机已 经成为越来越切实、有效的方案。 3 南京理工大学硕士学位论文v m x 虚拟机设备模型铲究与虚拟呵卡实现 虚拟机1 应用程序 l 内核 l l 虚拟机2 应用程序 内核i i 虚拟机n 应用程序 l 内核 i 图1 2 2 虚拟机经典模型 1 2 1 虚拟化技术分类 v m m 抽象的虚拟机的i s a 可以等同于它运行的物理机器,也可以做些修改。当 虚拟的i s a 与物理的i s a 相同时,该虚拟机可以运行没有任何修改的操作系统;而 当两者不相同时,客户机的操作系统就必须修改。根据v m m 抽象的虚拟机的架构的 不同,或根据是否需要修改客户o s ,虚拟化技术又可以分为( 1 ) 泛虚拟化 ( p a r a v i r m a l i z a f i o n ) 和( 2 ) 完全虚拟化( f u h v i r t u a l i z a t i o n ) 。 完全虚拟化由于不需要修改客户o s ,因此具有很好的兼容性和同时支持异种o s 或不同版本o s 的能力。泛虚拟化因为需要修改客户o s 以适应新的体系结构从而产生 对现有o s 的兼容性问题,但同时它也就因此可以按照需求变动客户机的体系结构, 并以此来提高虚拟机的总体性能。因此泛虚拟化技术通常具有比完全虚拟化技术更好 的性能。 泛虚拟化技术在最早的m mv m 3 7 0 上就已经使用,但它的使用仅仅是为了支持 传统的o s ,因此被限制在很小的范围。美国华盛顿大学计算机科学与工程系的d e n a l i 项月和英固剑桥大学计算机实验室的x e n 项目组实现了x 8 6 p c 上的泛虚拟化,并且 有比完全虚拟化更佳的性能,从而使泛虚拟化技术重新成为最热门的虚拟化技术之 一。 在x 8 6 架构虚拟化漏洞弥补之前的完全虚拟化技术如v m w a r ew o r k s t a t i o n 和 m i c r o s o f t 的v i r t u a lp c 均采用如b i n a r y t r a n s l a t i o n 之类的纯软件实现方法。它的实现 在性能和复杂度上都存在很大的提高空间。硬件虚拟化技术通过处理器硬件辅助,捕 捉客户机的对优先级级别较高的资源操作同时财部分优先资源直接提供虚拟化操作, 从而具有更好的性能。 1 2 2v m m ( 虚拟机监控器) 分类 根据v m m 在整个物理系统中( 或上一层虚拟机系统中) 的实现位置及实现方法 毒争理_ 大学硕士学位论文v m x 虚掣机设备模犁研究与虚硝嘲卡实现 f :同,如图1 2 2 1 所示系统虚拟机的模型可以分为: ( 1 ) 监控模型( h y p c r v i s o rm o d e l ) ,即v m m 直接运行在裸机上( 没有操作系统) 。 采用这种模型的v m m 运行在处理器的最高特权级,而所有的客户机则运行在较低的 特权级以使v m m 可以截取所有客户o s 对系统资源的访问,从而实现对系统资源的 虚拟化。 ( 2 ) 主机模型( h o s t b a s e dm o d e l ) ,即v m m 运行在主机o s 上( h o s to s ) 这 种方式的虚拟机也叫有宿主的虚拟机,它使得v m m 可以充分利用宿主0 s 所提供的 设备驱动及底层服务且不需要去除原来机器上已经安装的操作系统。但缺点是宿主 o s 的介入可能会导致系统性能的损失。 ( 3 ) 混合模型( h y b r i d ) 。混合模型集成两者的优点,既可以利用主机0 s 的现成 设备驱动实现虚拟机的设备模型,又可以利用监控模型的高效率。 ( h y p e r 监v 控l s o 模r 型w 。d e l )( h 。s t - :e b a 机s 模e d 型m 。d e l ) ( h y 嚣寞8 怒e 1 ) g u e s t j a p p 5 a p p sj p r e f e r r e cg u e s t ; o so s 一2 p bh y ”州”国 a p p s u l m g u e s t ; 囝 a p p s , s e r v i c p r e f e r r e cv m g u e s t i o s o s! 国 p u - h y p e r v i s o r op m m 。rm g tc o d e 囝d e v l c d r l v r u l m :u s e r h m “ m e m o r y m g tc o d e 囝d e v i c e m o d e l i k m :u v l n gh m o d - 图1 2 2 1v 瑚实现的三种模型( 监控模型,主机模型和混合模型) 1 3 虚拟化技术的最新进展 1 3 iv a r e 1 9 9 8 年1 月,s t a n f o r d 大学的m e n d e lr o s e n b l u m 教授带领他的学生以及多年来 对虚拟化技术及虚拟机的研究成果成立了v m w a r e 公司。今天v m w a r e “1 是这个市场上 的当然领航者和全球增长最快的软件公司之一,其首先提出并采用的气球驱动程序 ( b a l l o o nd r i v e r ) ,影子页表( s h a d o wp a g et a b l e ) ,虚拟设备驱动程序等均已 被后来的其它虚拟机如x e n 采用,其基本结构如图1 3 1 1 所示。 5 南京理工大学硕士学位论文v m x 虚捌机设备模,研究与虚唰呵卡实现 图1 3 1 1v m - a r e 虚拟机模型 v m w a r ew o r k s t a t i o n v m w a r ew o r k s t a t i o n 是一个基于主机模型的虚拟机,可以在w i n d o w sn t w i n d o w s2 0 0 0 和l i n u x 上运行。如图1 4 所示v m w a r ew o r k s t a t i o n 利用一个主机系 统上的用户应用程序( v ma p p ) 部件来实现u o 的虚拟化,使v m m 可以远离各种 不同的设备而直接专注于提供高性能的c p u 虚拟化。 v m w a r ee s xs e r v e r v m w a r ee s xs e r v e r 是一个直接运行在裸机上的一薄层软件( at h i ns o f t w a r e ) 即 v m m 来实现对硬件资源的有效复用。v m w a r ee s x $ 1 0 r v e r 首次提出了称之为“气球 ( b a l l o o n ) 一的内存管理技术 如图1 3 1 2 所示。当系统内存被过量使用 ( o v e r c o m m i t t e d ) 或有多余时,v m w a r ee s xs e r v e r 通过客户机上的气球驱动实现内 存页面的回收和再分配。当v m m 需要回收内存时,通过让气球向客户o s 申请内存 空间( 气球膨胀) 而使客户操作系统实际使用的内存空间减少,从而让v m m 回收该 空间。当v m m 有多余空间时( 如原v m 中止) ,通过让气球向客户o s 释放内存宅 间( 气球缩小) 而使客户操作系统实际使用的内存空间增大。 6 南京理工大学矽士学竹论之v m x 老彬以设簪雌掣弘窀与扉拟碍卡寓现 图1 3 1 2b a l o o n 驱动程序 1 3 2 x e n x e n 【l ”是一个基于开放源代码( o p e ns o u r c e ) 的混合模型系统虚拟机,最初基于 3 2 位x 8 6 体系结构而设计开发,支持多至约1 0 0 个运行x e n o 操作系统的虚拟机, 所谓x c n o 操作系统就是为了在x e n 泛虚拟域上运行而修改了内核的操作系统。x e n 引入的管理接口( h y p e r c a i l s ) 和事件( e v e n t s ) 机制事实上修改了x 8 6 体系架构, 同时预先定义的客户机和虚拟机监控器v m m 之间的共享内存数据交换机制都使得 新的客户机体系架构( x e n 架构) 具有更高的总体性能。但同时x e n 作为一个泛虚拟 化实现也就注定了它必须修改客户机操作系统。 x e n 将客户机称之为虚拟域( d o m a i n ) ,其中虚拟域0 ( d o m a i n0 ) 为服务域作 为监控程序的扩展提供系统的管理服务。监控程序拥有部分硬件1 0 资源如定时器处 理期间中断i p i 等,隔离的设备驱动域( i s o l a t e dd r i v e rd o m a i n ) 也拥有部分的i o 资 源如硬盘网乍等( 其中虚拟域0 也为设备驱动域) ,而普通虚拟域只有虚拟的设备而 没有直接的硬件i o 资源。另外x e n 也将监控程序( h y p e r v i s o r ) 简称为x e n 。x e n 本身主要基于开源的l i n u x 核心代码移植而来,同时运行其上的x e n o l i n u x ( 或 x e n l i n u x ) 也从l i n u x 移植而来,意为支持x e n 架构的l i n u x 。同样支持x e n 架构的 f r e eb s d 和w i n d o w s x p 也已经能够在x e n 上运行。所有原来的x 8 6 应用程序均不 需任何修改就可以在x e n 上运行,如x 8 6 的l i n u x 应用程序可以在x e n o l i n u x 上运 。行;x 8 6 的w i n d o w s x p 应用程序可以在x e n o x p 上运行。 x e n 3 0 除了3 2 位x 8 6 体系架构外也支持6 4 位的i n t e l 的e m 6 4 t ( x 8 66 4 ) 体 系结构和i n t e l 的安腾架构( i a 6 4 ) ,对m m 的p o w e r p c 架构支持也正在开发中( 但 7 南京理工大学硕士学位论文v m x 虚拟机设蕃模犁铲究与靡魁同卡实现 尚不存在与今天的源码中) 。x e n 3 0 除了对泛虚拟化的支持外,同时也支持硬件虚拟 化技术( i n t e l 的v t 技术) 以实现对未经修改操作系统的支持如w i n d o w s 。 l物理硬件( 处理器,内存,l ,o 设备)l 图1 3 2 1x e n 的虚拟机模型 1 3 3 其他软件虚拟化技术 m i c r o s o f t 在2 0 0 3 年2 月收购了c o r m e c t i x 公司,后者基于m a c i n t o s h w i n d o w s 的v i r t u a lp c 【9 1 可以使用户在m a c i n t o s h w i n d o w s 机器上运行w i n d o w s 及其应用程序, 而v i r t u a ls c r v 盯则是一个面向服务器领域的主机模型v m m 。最新的基于w i n d o w s 的产品是m i c r o s o f tv i r t u a lp c2 0 0 4 和v i r t u a ls e r v e r2 0 0 5 。计划于2 0 0 7 年推出的长角 ( l o n g h o m ) 操作系统可能将集成基于m i c r o s o f th y p e r v i s o r 技术的虚拟化技术。 v i r t u a li r o n 是一个分布式虚拟机( c l u s t e r e dv i r t u a lm a c h i n em o n i t o r 或c v m m ) 。 它将众多的独立的物理服务器( 节点) 通过高速以太网或光纤( f i b e r ) 由c v m m 紧 密地联系在一起。同时它可以将一组互相通信的v m m 组成一个虚拟的计算机。在 v i r t u a li r o nc v m m 管理下的任何的物理资源如处理器,内存,设备甚至节点本身均 可以热插拔( h o tp l u g ) 以适应分布式计算环境。 1 4 研究任务及目标 考虑到x e n 泛虚拟化( p a r a v i r t u a l i z a t i o n ) 虚拟机的高性能,以及其开放源代码 的巨大发展潜力,本研究以其为依托,结合最新的i n t c l v t _ x 芯片级硬件化虚拟技术, 实现了完全虚拟化( f u l l - v i r t u a l i z a t i o n ) 的v m x 虚拟机。v m x 虚拟机的实现包括虚 拟内存、虚拟设备等等复杂逻辑的实现,本研究上要侧重对v m x 虚拟机设备模型体 系架橱的研究,并根据所做的研究为客户机操作系统实现了虚拟的n e 2 0 0 0 网昔:主 要任务包括: 调查研究x e n 及v m x 虚拟机的整体体系结构; 8 南吏理工大学硕士学位论童v m x 虚捌机设备模型研究与虚剪网七实现 结合i n t e l 的v t x 芯片级虚拟化技术,研究设计虚拟设备模型的框架结构及f o 操作机制; 研究n e 2 0 0 0 网卡的操作业务逻辑; 结合对虚拟设备模型的研究和n e 2 0 0 0 的操作逻辑,为v m x 虚拟机实现虚拟的 n e 2 0 0 0 网乍并优化其性能。 1 5 本文主要工作及论文结构 本文的主要工作包括几点: 给出了x e n 及v m x 虚拟机的整体体系结构的分析 给出了v m x 虚拟机虚拟设备模型的体系结构的分析及设计 实现了基于v m x 虚拟机设备模型的n e 2 0 0 0 虚拟网卡 本文共分为六章。 第一章介绍了虚拟机技术发展的背景及重要意义。随后总结了经典的虚拟机模 型,介绍了常见种类的虚拟化技术和虚拟机监控器( v m m ) 。最后具体介绍了两个著 名的虚拟机:v m w a r c 和x e n 。其中x e n 是本文研究所基于的v m x 虚拟机的原型, 确切的说,v m x 是基于h a u l 的v t - x 技术对x e n 的一个完全虚拟化( f u l l v i r t u a u z a f i o n ) 的扩充。最后介绍了本文的研究内容。 第二章研究了v m x 虚拟机模型的体系架构。在这一章中,我们首先介绍了v m x 虚拟机的硬件基础:i n t e l 的v t - x 技术然后研究了在x e n 泛虚拟化虚拟机基础上结 合v t - x 技术实现完全虚拟化v m x 虚拟机所需要做的几方面工作。接下来对v m x 虚拟机体系结构中的秀要元素一一进行分析。 第三章从x e n 虚拟机的设备模型框架结构谈起,给出了v m x 虚拟机的设备模型 体系结构及设备虚拟化设计,并从i o 请求流程和中断消息传送流程的角度剖析了设 备模型的功能及结构。 第p q 章介绍了实验进行的主要工作:虚拟n e 2 0 0 0 网乍的实现。首先研究了 n 0 2 0 0 0 网络接口控制器的工作逻辑,进而根据其工作逻辑给出了软件模拟方法。接 下来结合对v m x 设备模型的研究给出了将虚拟n e 2 0 0 0 网t ;) j n 入设备模型的具体实 现。最后榭应的也从虚拟网# 的i o 请求流程和中断递送流程剖析了虚拟网# 的工作 流程。 , 第五章对实验结果进行测试和验证。介绍了软硬件环境的搭建和准备,给出了测 试的数据和分析,并对实验结果进行了验证。 第六章总结与

温馨提示

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

评论

0/150

提交评论