已阅读5页,还剩73页未读, 继续免费阅读
(计算机软件与理论专业论文)硬件虚拟机的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 在计算机科学中,虚拟化技术被认为是可以组合或分割现有的计算机资源,使 得这些资源表现为一个或多个操作系统环境,从而提供优于原有资源配置的一种 新技术。虚拟化技术就是对计算机资源的重新分配,提高计算机资源的利用率。 模拟器是比较早的一种虚拟化技术,这种技术只模拟物理机器的最小的一个 指令的集合。由于这是一个完全的软件解决方案,每一条( 觚赋o s 的指令都需要 监控程序翻译执行,性能一直不高,但是可以支持比较广泛的操作系统。相对而 言,泛虚拟化技术已经比较成熟,可以比较稳定地启动修改过的g l 圮s to s ,经过 测试,具有比较好的性能。但是,泛虚拟化技术所支持的懈o s 必须要经过修 改。只有那些开源的操作系统才可以作为g u e s to s ,而商业的o s 则被拒之门外。 本文研究的硬件虚拟化技术就是对模拟器和泛虚拟化技术的一种结合,不但 要获得接近真实物理机器的性能,同时,也要支持更为广泛的g u e s to s ,成功地 启动未经过修改的g u e s to s 。 本文首先对虚拟化技术研究的意义和国内外研究情况进行了介绍,阐述了目 前虚拟化技术领域内的研究成果。总结出虚拟化技术的基本理论。通过虚拟化技 术的特征对其进行分类,对比各类虚拟化技术的优缺点以及适用的领域。 文章重点介绍我们对基于硬件指令支持的虚拟机的研究。我们预测,这类虚 拟机具有比较好的性能。本文详细的阐述了这类虚拟机的设计和实现,其中包括 虚拟机的c p u 的虚拟化,涉及到物理c p u 与v c p u 的映射和调度;在内存虚拟 化方面,我们采用了影子页表技术。通过阅读本文,读者可以完全了解硬件虚拟 机是如何工作的,按照本文所描述的步骤,借助参考文献读者可以自己完成一个 简单的虚拟机。 虚拟化技术在最近几年从技术上日趋成熟,并且开始走向多样化。应用相当广 泛,并且起着重要的作用,尤其是在服务器和存储领域,虚拟化技术将发挥决定 性的作用。限于篇幅,文中只对常见的应用作了简要的说明。 最后,我们成功地启动未经过修改的g u e s to s 。性能测试报告证明,我们设 计和实现的虚拟机性能接近真实的物理机器,成功地达到了我们预期的目标。 关键字:虚拟化,虚拟机监控程序,全虚拟化,内存虚拟化,影子页表 i a b s t r a c t a b s t r ac t f t i l a l i z 抓0 nt c 曲n o l o g yc 狮b eu s e dt od i v i d e0 rc 0 m b i i l e 吐l ec o m p u t e rr e s o u r c e ( c p u m e m o 巧a n dd i s k ) nr 印r e s 饥t sm eo i dr 懿o w c 瞄勰o n eo rm o r e 玳1 wo s m 衄i n ge l l v i m 衄e n t s i th e l p st 00 p 蛳z em er c s o 珊c 岱i i lo 、釉咄v i r t l l a l i z 灿n 砥,:h 1 0 l o g yc 觚h e l pt 0r c a r r 狮g em ec o i i l p u t e f 麟o u 觥,a n dm e nw ec 锄t a k e 向l l a 小,龃t a g 瞄o fm e m a sw eh o w 锄u l a t o ri so n eo f l es 0 蜥。粥i nv i 嘲l a l i z a t i o nf i e l d s i tc 锄c r e a t e 孤a b s t r a c ta n dp s e u d oh 觚1 w a r e ,a n d 虹l 既t t l eg l l e s to sc 锄m ni i l 黼s 胁v i l m 吼胁t ;i t 啪s u p p o r ta h n o s ta l l t l l eg l l 豁to s 骼t l l i si sap u 他s o f h a r es o l u t i o 玛a nt l l e i n s t m c t i o n so fg u 懿to s 销a 缸趾s l a 湖d y l l a m i c a l l yb ym eh y p e i s o r ,t h e p e 面衄锄c ei s l ef a t a li s s 眦p 锄一r t l 硷l 娩a t i o ni s 锄t t 燃s 0 胁a r es o i u t i o i l b u ti t d o e 跚te m l l l a t e 觚y t i l i i l 岛i tl e tt h eg u c s to sm ni nm et f l j e 姗w a r e ,b u tw em l l s t 他i n o v em e “s e 璐i t i v eh l s 仃u c t i o 璐”丘d mm e 锄o s ,w c 珊u s tm o d i 匆t h ec o d co f m e 删0 sa n d 姗m p i l ei t 1 n h a tm 啪sw em 蜮h a v em e 伽ls o u f c eo f g u c s t0 s ,a d l 恤 墨i e s t sc a n n o tb es u l p o r t e di fw eh a v en l eb i n a 巧r d e a o n l yt h a ti sn l ed i s a d v 锄t a g e i np a m - n u a l 讫a t i o mf u l lv i r 删戤i o nc a nc o m b 硫m e 础r 锄t a g e si nb o me l l l u l 咖r a n dp v i i t u a l i z 撕o i l1 1 l a ti st i l em a i l lp u i p o s eo ft l l i s l 髑i s w b 向c i 塔o nn l ep r i i l d p l ea r nm 。0 r ya b o u th o wt od e s i g na r l di m p l 翩【l 册ta h a r d w a 睇v i f t i l a l 加a c h i n em o n i t o r ( h 旧w b 诵l l 缸l l ka b o u t l ek e y 融l t u r 伪a n d t e c h n o l o 西e si i lf u l l 啊r t l l 2 l l i z a t i o l l a r e r 廿l er e a d i n go f 吐l i s l e s i s ,、eh o p e l er e a d e r c ml l l l d e r s t a i l dh o wt h ev m mw o 瓶,锄dh ec 觚、砸t eas i n l p l ev m m b yf o l l o w i n gt h e d i l l b c t i v e s 觚dn l er e f 溉c e si nm i st l l e s i s a t 觚t ,w e 、历l li n t r o d u c es o m eb a s i cb a c k g r o u n dr d a t e d 、厂r 百v e l er e a d e rs o m e o 训e wc o n c 印t s n e s ec o n t e r 姻i i l c l u d em en e wt h e 0 巧a b o u tv m m :m o d e l i n g 啊e w 吐l ei a t e s ti n t e n l a t i o n a lt r e n d s ,t h ec a t e g o r i e s ,m dt h es t a 芏l d a r d 泣a t i o i i i i lc h a p t e r3 ,w ew i i li n 仃o d u c ec p uv i r t i l a l i z a t i o nm e c l l o d o l o g yw i mt l l es u p p o r to f i n _ t e l d e r l 砷o l t e c l l i l o l o 醪n l ev m c ss 咖c t u r e 姐d 心似i i l s 觚c t i o 璐w i l lb e r c 6 耵。d w r e 、) i ,i nh i g l l l i g h t l es m pc p uv i r h m l i z a t i o nf i i l a l l y w bt a l ka b o u tm e r r l o 巧、,i n l 阳l 讫a t i o ni nc h a p 栅4 ;i ti s t t l em o s tc o m p l i c a t e d i i a b s h _ a c t m o d u l ei nv m m i ti sab i gc h a l l e n g ef o ri l s s h a d o wp a g e1 a b l ei sa l m o s tag 饥e r a l w a y i tw a sa p p l i e di nm a i l yv m m ,s u c ha l sv m w a r ea n dk 订w ew i l ls h o wy o uh o w w ed 骼i 印锄di m p l e m e i l ti ti i lo l l rp r o j o c t a 腑w e 五i l i s h e dm ed e s 谫觚di m p l 锄喇i o 玛o u rv m m b 硒i c a l l yw o r k s b u ti t h 雒s 伽p e d o 肌觚c ei s s u 船w bd e s i g n e da t e s ts c 铋撕ot 0h 觚d l em i si s s u e ,锄dt l l 饥 w ef o m dap e 疵l m l 狮c cb o t t l e c kb 弱e do nm e r o o t - c a 瑚e 弛a l y s i sw e9 0 tap e r f 鳅 s o l u 如n 缸a l l ym l ce n do ft h i sc h 印t w r e 丽ns h o w 锄i n t e g 国t i e dp e 而m 姗c e t 酬n gr e p o r ta b o u to u r 删1 1 1 i sr 印o r tc o m 骼丘o mo wq at e 锄w ew i nc o m p a r e t h cp e 触锄c e 枷ob e 抑嘲删锄dp a 船- v i m l a l i z a t i o 玛删锄dn 撕v eo s 1 k 搬;t 删s h o w sm a tw eb o o tu p 地l m m o d i f i e dg u e s to s0 no u rv m m s u c c 岱s f i l i l 弘nh 鹪即dp e 瓶姗眦c c i tr 髓c h 嚣o u re x p e c 雠。璐i nm ed 商g mi t p r o v t 络也ec o m e c 缸l 鹤so f 伽r 跚p p o s i t i o n s 柏dd 髂i g 皿b u t l e r ea r es t i l l m e p i 0 l n 难o np o i n t s ,w ec a n d oi b e 慵毅l dm a l ( ei tm 盘l n o f er o b u s w e 妫【o wn l a w h a t 、耽s h o l l l d d o i n n e 烈s t 印 k e y w o r d s :v i m l a 】妇i o n v i r t u a lm a c h i n em o i l i t i d r ( v m m ) ,f u l lv i r t l m l i z a t i o 玛 m 翩巧v i n l 场1 i z a t i o i l ,s h a d o wp a g et a b l e ( s p t ) i h 图表目录 图表目录 图2 1 单一资源的多个逻辑表示7 图2 2 多个资源的单一逻辑表示8 图2 3 在多个资源之间提供单一逻辑表示9 图2 - 4 单个资源的单一逻辑表示。l o 图2 5 网格计算组件一l o 图2 - 6 单操作系统独占所有硬件资源图1 l 图2 7 多操作系统共享硬件所有硬件资源1 2 图2 8 操作系统分层机制1 3 图2 9 硬分区技术1 4 图2 1 0 m 工作原理1 6 表2 1 虚拟化技术对比表1 7 图2 1 lb a l l 0 0 n 驱动程序1 9 图2 1 2 圣m 下的三种执行模式2 0 表3 1 泛虚拟化技术中c p u 的虚拟化2 3 图3 一i 虚拟机的生命周期。2 6 图3 2 订c s 结构体2 8 表3 - 2 管理订c s 的指令2 9 表3 3v m x 指令2 9 图3 3 处理器的环机制3 0 图3 4 环机制重新分配3l 图3 5 用v i c s 辅助完成对c p u 的虚拟化。3 2 图3 6 “敏感指令 处理过程3 3 图3 7 硬件虚拟机s m p 架构一3 5 图3 8s m p 的启动过程3 8 图4 1 内存管理的分页机制4 0 图4 _ 2n e l 开发手册中的t l b 插图4 1 图4 - 3 客户机物理内存和宿主机物理内存的对应关系4 2 图4 4l a ,g 队和h p a 的转换关系4 5 v h 图表目录 图禾5 客户机线性地址到h p a 的转换过程4 5 图4 6 地址转换方式的变化4 7 图4 7 页目录和页表项的格式4 8 图4 - 8 虚拟t l b 4 9 图禾9 缺页处理5 0 图4 _ los p t 和g p t 数据同步5 3 图年1 ls p t 和g p t 页表同步。5 4 图5 1 统计数据对比5 8 表5 1 性能测试硬件环境。6 0 表5 - 2 性能测试软件环境6 l 表5 3s p e cc p u 2 0 0 0 性能测试报告一6 l 图5 2c p u2 0 0 0 性能测试对比6 1 表5 - 4 性能可扩展性测试报告6 2 图5 - 4 性能可扩展性测试对比6 3 v i 主要符号表 主要符号表 符号,术语,缩略词 解释 1 婚眦v i r t u a lm a c h i n em o n i t o r ,虚拟机监控程序,虚拟机 监视器,本文中简称为监控程序或者v 删,有时我们也 称其为h y p e r y i s o r h vh y p e r v i s o r ,的另一个称谓 v mv i r t u a lm a c h i n e ,虚拟机,客户机 g u e s t d o m a in客户机,亦即v m m 抽象的虚拟机,又称。本文中提 到的v m g o s g u e s t d o m a i n 这几个词代表相同的意思 g u e s t0 s客户机( g o s ) ,与g u e s t d o m a i n v m 同 s e r v e ro s h o s t0 s宿主机 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 ,应用程序二进制接口 i s ai n s t r u c t i o ns e ta r c h i t e c t u r e , 肼u m e m o r ym a n a g e m e n tu n i t ,内存管理单元 p a r a v i r t u a l i z a t i o n 到目前为止有以下几种译法:泛虚拟化,半虚拟化,准 虚拟化。本文中称为泛虚拟化 f u l lv i r t u a l i z a t i o n 完全虚拟化,硬件虚拟化 h ,mh a r d w a r e a s s i s t e dv i r t u a lm a c h i n e h a l h a r d w a r ea b s t r a c tl a y e r ,硬件抽象层 s v ms e c u r ev i r t u a lm a c h i n e v tv i r t u a l i z a t i o nt e c h n o l o g y , v a n d e r p o o lt e c h n o l o g y 也简称v t 。一般翻译为虚拟化技术,也简称虚拟技术。 c rc o n t r o lr e g is t e r k k e r n e l b a s e dv i r t u a lm a c h i n e m s rm o d e ls p e c i f i cr e g i s t e r d m t fd is t ri b u t e dm a n a g e m e n tt a s kf o r c e 处理器虚拟化相关术语和缩略词 l x 主要符号表 a p i ca d v a n c e dp r o g r a m m a b l ei n t e r r u p tc o n t r 0 1 1 e r 、c p uv i r t u a lc p u s m p s y m m e t r i c a lm u l t i p r o c e s s i n g u p u n i f i e d p r o c e s s i n g a p a p p li c a ti o np r o c e s s o r i p ii n t e rp r o c e s s o ri n t e r r u p t l a p i cl o c a la d v a n c e dp r o g r a m m a b l ei n t e r r u p tc o n t r o ll e r i o a p i c i n p u t 0 u t p u ta d v a n c e dp r o g r a 册m a b l ei n t e r r u p t c o n t r o l1 e r i c r i n t e r r u p tc o 唧a n dr e g is t e r 删i o m e m o r ym a p p e di n p u t o u t p u t b s pb o o ts t r a pp r o c e s s o r 内存虚拟化相关术语和缩略词 g p tg u e s tp a g et a b l e ,客户操作系统页表 s p ts h a d 0 wp a g et a b l e ,影子页表 g p f n g f ng u e s tp a g ef r a m en u m b e r m f nl n a c h i n ep a g ef r a m en u m b e r p g d p m d p a g eg l o b a ld i r e c t o r y p a g em i d d l ed i r e c t o r y p d e p d p a g ed i r e c t o r ye n t r y ,页目录一级页表最高级页表, 也称为l l e p t e p t p a g et a b l ee n t r y ,页表条目最低级页表 l l e1 e v e llp a g et a b l ee n t r y 9 1 1 e s 1 1 e l e v e llg u e s t s h a d o wp a g et a b l ee n t r y p 2 m p h y s i c a lt om a c h i n em a p p i n g ,客户机物理地址到机 器地址的转换表 m 2 p p h y s i c a lt om a c h i n em a p p i n g ,机器地址到客户机物 理地址的转换表 t l bt r a n s l a t i o nl o o k a s i d eb u f f e r ,即旁路转换缓 冲,或称为页表缓冲,也称为快表 p f p a g ef a u l t x 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:垦 互埠 日期:步年5 月砀日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:叁辛! 圣生车 导师签名: 日期:年 月日 第一章引言 第一章引言 计算机技术的发展给人们的工作和生活带来了前所未有的便利和效率,随着 计算机在社会生活各个领域的广泛运用,计算机在人们生活中扮演着越来越重要 的角色。处理器的速度逐年提升,内存逐步加大,摩尔定律持续了5 0 多年依然 有效,目前计算机的速度已经足够快了。然而,对计算机资源的利用却不容乐观, 尤其是在大型机上计算机资源浪费相当的严重,由于存在运行环境的限制,所以 不能够把剩余的资源充分利用,虚拟化技术则是一个完美的解决方案。 1 1 选题背景 随着计算系统的资源规模不断扩展、处理能力快速增强、资源种类日益丰富、 应用需求灵活多样,寻求新型的计算机理与模式已成为未来信息技术领域面临的 重大挑战。计算系统虚拟化作为一种新型计算模式推动科技发展和社会进步,已 成为国际竞争的焦点和制高点。 虚拟化计算系统能够动态组织多种计算资源,隔离具体的硬件体系结构和软 件系统之间的紧密依赖关系,实现透明化的可伸缩计算系统架构,从而灵活构建 满足多种应用需求的计算环境,提高计算资源的使用效率,发挥计算资源的聚合 效能,并为用户提供个性化和普适化的计算资源使用环境。虚拟化计算系统可以 更加充分合理地利用计算资源,满足日益多样的计算需求,使人们能够透明、高 效、可定制地使用计算资源,从而真正实现灵活构建、按需计算的理念。 我们研究虚拟化技术主要是想支持高效率、可伸缩、个性化、易管理的虚拟 计算系统的动态构建。发展多层次的虚拟化架构及虚拟计算系统构建机制,建立 面向虚拟计算系统构建及优化的特征抽象方法及特征交互体系和方法。 我们希望实现特征可调整的虚拟机监控程序圆,根据用户计算任务的需求,合 理分配和调度虚拟化的计算资源,动态构建及调整满足用户需要的虚拟计算系统; 。摩尔定律是指i c 上可容纳的晶体管数目,约每隔1 8 个月便会增加一倍,性能也将提升一倍。摩尔定律是 由英特尔名誉董事长戈登摩尔( q ,f d m o o 他) 经过长期观察发现得之 。虚拟机监控程序:r t i i a lm a c i l i f i em 伽i 吲v m m ) ,也被称为h ) r p e i s o r l 电子科技大学硕士学位论文 满足新的应用环境下用户对虚拟计算系统的监控与管理需求。 通过对各类虚拟机的研究,最后建立一套适合现代计算机体系结构的新型系 统级虚拟化架构、理论、方法和技术。 1 2 国内外虚拟化技术研究现状 在国内,虚拟化技术才刚刚起步,相对于其它国家来说,还是有相当大的差 距的。我们处于虚拟化技术的应用的初期。到目前为止,国内还没有一款国人自 己设计和实现的虚拟机产品。专门从事虚拟化技术的理论研究工作的科研单位也 寥寥无几,所幸的是,基于国外设计和实现的虚拟机的应用还是有一些例子的。 据调查中国5 0 0 强企业中目前很少有用虚拟化的,而财富5 0 0 强企业中,9 9 都已经用到了虚拟化技术。d c 也预测,到2 0 0 9 年,企业在服务器虚拟化方面的 花费将接近1 5 0 亿美元,超过3 4 的5 0 0 人以上的企业都将部署虚拟化的服务器。 另外,根据对全球7 5 0 家企业做的服务器虚拟化调查,6 2 的受访者表示,他们已 经有一个虚拟化的解决方案,或者正在向虚拟化应用迁移的过程中,只有4 的受 访者没有任何服务器虚拟化的计划。 在欧美发达国家,虚拟化已经成为一种现实,而且正处于普及推广的阶段, 很自然的,i b m 、h p 、微软,i n t d 这些全球性的公司就会在国内进行推广。虚拟 化对整个r r 生态圈都是有利的,硬件厂商可以卖更高端的服务器,软件厂商可以 买更多的拷贝。因此,正是大量厂商的共同推动,使得虚拟化在中国已经成为一 股热潮。 从技术上来看,随着6 4 位、多核c p u 的发展,x 8 6 服务器性能的极大提升也 为虚拟化提供了温床。因为如果计算机的性能不够,应用会消耗掉大部分甚至全 部的资源,虚拟化也就很难应用起来。早期的虚拟化就曾面临当时计算机性能太 低的困惑。而且,虚拟化技术本身是已经比较成熟的了。 还有需求方面的因素也在促进虚拟化的发展。比如,这几年我们也看到,政 府、垂直行业系统、高校、银行等领域正在把原来分散的信息中心或数据中心进 行集中,但又不希望增加太多成本,在这种条件下,虚拟化是个不错的选择。 调查数据显示,国内只有1 2 成的用户用到了虚拟化技术。可见,国内外截然 不同的情况既证明虚拟化已经是一种成熟的技术,用户完全可以放心使用,同时 d 虚拟化技术:咖a l i 强l ! i 锄1 k h n 0 1 刚t 技术) 2 第一章引言 也说明中国潜在的发展空间还很大。成熟的技术和不成熟的市场之间存在巨大的 鸿沟,这是国内目前面临的一个很微妙的时期。 从总体上说,我们存在两方面的差距。一方面是虚拟化技术理论的研究,这 个在国内已经有科研单位着手此项目,而本论文也是取材于此。第二方面是虚拟 化技术的应用和推广。 1 3 本人所做的研究工作 x e n 是一个开源的虚拟机产品,具有巨大发展潜力。i n t e l 公司结合自身的 v 卜x 芯片级虚拟技术,以l i n u x 删项目组为依托,通过参与x e n 项目与剑桥大 学合作,实现了包括泛虚拟化和完全虚拟化在内的虚拟机模型,包括虚拟外部设 备等复杂逻辑的实现。 两年来,笔者有幸作为l i n u x 删项目小组的一员,主要参与在硬件的支持 下处理器虚拟化和内存虚拟化方法的研究。设计了一个简明的基于硬件支持的虚 拟机模型,并在该项目中参与部分工作,协助实现相关的功能模块。把这个设计 模型应用到实际的虚拟化项目中,并取得比较好的效果。 总结下来包括以下的工作: 1 ) 调查研究各种虚拟机的整体体系结构,了解了各种比较先进的虚拟化方法 和技术。作者在对目前存在的有虚拟机的产品进行研究和分析的基础上,总结出 各个平台虚拟化产品的一些特征和共性。 2 ) 完成了一个简明的基于硬件支持的虚拟机的设计,实现了一个虚拟机原 型。这个设计的虚拟机的模型中,成功地完成了对处理器,内存的虚拟化。同时 把这个模型中的设计思想应用到实际的项目中。 3 ) 完成了虚拟机的性能测试报告的分析和对虚拟机的优化,有效地提高虚拟 机的性能。用数据证明了基于硬件的虚拟机比普通虚拟机所具有的不可比拟性能 优势。 4 ) 研究和设计虚拟机的性能的提升方法,从而更进一步提高虚拟机的性能。 1 4 本文创新点 传统的泛虚拟化技术已经比较成熟,可以比较稳定地启动修改过的g u e s to s , 经过测试,具有比较好的性能。模拟器是比较早的一种虚拟化技术,这种技术只 3 电子科技大学硕士学位论文 模拟物理机器的最小的一个指令的集合,由于这是一个完全的软件解决方案,每 一条g u e s to s 的指令都需要监控程序翻译执行,因此性能一直不高,但是可以支 持比较广泛的操作系统。 相对而言,泛虚拟化技术已经是一个很大的进步。但是,泛虚拟化技术所支 持的g u e s to s 必须要通过h ) ,p e r c a l l 的形式与监控程序通讯,( 沁e s to s 必须要经 过修改。也就是说,只有那些开放源码的操作系统才可以作为g u 岱to s ( 目前来说, 只支持l i n u x ) ,而商业的操作系统则被拒之门外。 本文研究的硬件虚拟化技术需要克服模拟器和泛虚拟化技术的缺点,把它们 的优点结合起来。不但要获得接近真实物理机器的性能;同时,也要支持更为广 泛的嘲o s ,成功地启动未经修改的客户机操作系统。 1 5 论文的结构 本论文第一章为引言,主要介绍本课题的背景、虚拟化计算研究现状、本人 所做的工作以及本论文的结构脉络。 第二章为虚拟化技术概述,给出了虚拟化技术的定义,总结出虚拟化技术的 理论基础。得出虚拟化技术的特征、分类和结构。 第三章开始正式介绍本课题的正文:处理器的虚拟化。文中概要地介绍了泛 虚拟化的工作原理,同时简要地说明了处理器对硬件虚拟机的支持。再在泛虚拟 化技术的基础上,详细地讨论了处理器虚拟化的基本原理,并且阐述了对s m p 的 虚拟化的支持。 第四章讲述内存虚拟化。内存虚拟化是虚拟化技术中至关重要的环节,也是 虚拟化技术当中最复杂的部分,也是对我们的一个很大的挑战。为了能够更清楚 地介绍影子页表,先回顾了“n u x 操作系统的内存管理方式。然后提及了常见的几 种内存虚拟化的方式。文章深入地介绍了引入影子页表后的地址转换方式的变化, 影子页表的创建的以及维护等基本原理。最后介绍了我们是如何实现影子页表, 对虚拟t l b 机制、缺页的处理等。 第五章讨论虚拟机的性能优化和性能测试。经过对虚拟机的测试和调查,我 们发现了一个虚拟机的性能瓶颈,并介绍了其改进的方案,最终彻底地解决该问 。啦,p 哪a i l :v m 与监控程序通信的调用接口,一般用于泛虚拟化技术中与传统操作系统下的系统调用非 常相似。 4 第一章引言 题,使得虚拟机的性能得到提升。本章最后介绍来自q a 团队针对硬件虚拟机的 综合性能测试报告和性能可扩展性测试报告。从测试报告中,我们发现硬件虚拟 机有比较好的性能。 第六章为总结。通过对实际的测试数据的分析。我们得出结论:具有硬件支 持的虚拟化技术,具有接近n a t i v e 机器的性能。同时,又很好地支持不用修改客 户机操作系统的虚拟机。最后,指出了系统的不足和改进方案,以及下一步工作 和未来研究的方向。 5 电子科技大学硕士学位论文 第二章虚拟化技术概述 2 1 虚拟化技术的基本概念 虚拟计算机的概念最早由i b m 公司在上世纪六七十年代提出,并将其运用于 w 3 7 0 系统中以共享昂贵的大型机系统。之后的发展缓慢,一度由于分时操作系 统的出现而处于停滞状态。上世纪九十年代随着j a v a 虚拟机的推出,尤其是之 后v m w 舳c 【2 1 公司v 【w a 陀e s xs e r v e r 和、q 讧w a w o 出s t a t j o n 虚拟机的推出,使对 虚拟机技术的研究再次成为处理器设计人员、软件设计人员、服务器设计人员和 网络安全设计人员的热门研究课题。 虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上 而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配 置过程。c p u 的虚拟化技术可以单c p u 模拟多c p u 并行,允许一个平台同时运行多 个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显 著提高计算机的工作效率。 目前很多企业都宣称自己使用了虚拟化技术,这些技术涵盖的范围可以从j a v a 虚拟机技术到系统管理软件,虚拟化技术有很多定义,下面就给出了一些这样的 定义。然而,主要看作者站在什么立场,本文也会从纯粹的技术角度给出的简洁 的定义。 “虚拟化是以某种用户和应用程序都可以很容易从中获益的方式来表示计算 机资源的过程,而不是根据这些资源的实现、地理位置或物理包装的专有方式来 表示它们。换句话说,它为数据、计算能力、存储资源以及其他资源提供了一个 逻辑视图,而不是物理视图。 j o n a t h a ne u n i c e ,i1 1 u m i n a t ai n c “虚拟化是表示计算机资源的逻辑组( 或子集) 的过程,这样就可以用从原 始配置中获益的方式访问它们。这种资源的新虚拟视图并不受实现、地理位置或 底层资源的物理配置的限制。 w i k i p e d i a d l “虚拟化:对组类似资源提供一个通用的抽象接口集,从而隐藏属性和操 作之间的差异,并允许通过一种通用的方式来查看并维护资源。o p e ng r i d s e r v i c e sa r c h it e c t u r eg l o s s a r yo ft e r m s 【4 1 虚拟机是通过在物理平台上添加的软件给出的一个或多个不同的平台。一个 6 第二章虚拟化技术概述 虚拟机可以有一个操作系统,指令集或两者兼有之,但可以不同于底下的真实的 硬件。j e s m i m 和r a 、,in a i r 嘲 而我们认为,在计算机科学中,虚拟化技术是一种通过组合或分割现有的计 算机资源( c p u 、内存、磁盘空间等) ,使得这些资源表现为一个或多个操作环境, 从而提供优于原有资源配置的访问方式的技术。 简单地说:虚拟化技术就是对计算机资源的重新分配,以便提高计算机资源 的利用率。 2 2 虚拟化的理论基础 虚拟化可以通过很多方法来证实。它不是一个单独的实体,而是一组模式和 技术的集合,这些技术提供了支持资源的逻辑表示所需的功能,以及通过标准接 口将其呈现给这些资源的消费者所需的功能。这些模式本身都是各种不同虚拟形 式的重复出现。 下面是在实现虚拟化时常常使用的一些模式和技术: 1 ) 单一资源的多个逻辑表示 这种模式是虚拟化最广泛使用的模式之一。它只包含一个物理资源,但是它 向消费者呈现的逻辑表示却仿佛它包含多个资源一样。消费者与这个虚拟资源进 行交互时就仿佛自己是惟一的消费者一样,而不会考虑他正在与其他消费者一起 共享资源。虚拟机就是这种模式的一个例子。硬件物理分区和逻辑分区或软件产 品都实现了服务器的虚拟化。数据库视图的使用将数据与消费者隔离开来,这样 物理谥舔 f o - - _ - - _ _ _ - - _ t - _ - _ _ _ _ _ - _ 幢 漓费者ll 演费者l l ! 塑型墼:ll 垒磐些曼笪l 图2 一l 单一资源的多个逻辑表示 7 电子科技大学硕士学位论文 可以基于消费者的角色和身份验证对资源进行访问,即使在所有消费者同时访问 相同的数据库时,也不会出现任何问题。另外,网格使用虚拟化技术来管理网络 上的数据,并在逻辑上将其作为一个系统呈现给消费者。图2 1 说明了服务器和信 息的虚拟化。 2 ) 多个资源的单一逻辑表示 这种模式包含了多个组合资源,以便将这些资源表示为提供单一接口的单个 逻辑表示形式。在利用多个功能不太强大的资源来创建功能强大且丰富的虚拟资 源时,这是一种非常有用的模式。 存储虚拟化就是这种模式的一个例子。消费者并不知道自己的数据被分散到 了多个磁盘上。在服务器方面,集群技术可以提供这样的幻想:消费者只与一个 系统( 头节点) 进行交互,而集群事实上可以包含很多的处理器或节点。 实际上,这就是从兀 技术设施的角度看到的网格可以实现的功能。多种资 源集都是通过一个简化的用户界面呈现出来,例如用户使用的门户网站,或应用 程序使用的标准接口函数。从计算角度来看,网格在接受任务请求以后,对任务 负载进行调度和管理,并在提供资源和返回结果的同时提供任务负载虚拟化的能 力。 国翟& 图2 2 多个资源的单一逻辑表示 3 ) 在多个资源之间提供单一逻辑表示 8 圉l 圃 磊竺;圆; 第二章虚拟化技术概述 这种模式包括一个以多个可用资源之一的形式表示的虚拟资源。虚拟资源会 根据指定的条件来选择一个物理资源实现,例如资源的利用、响应时间或临近程 度。尽管这种模式与上一种模式非常类似,但是它们之间有一些细微的差别。首 先,每个物理资源都是一个完整的副本,它们不会在逻辑表示层上聚集在一起。 其次,每个物理资源都可以提供逻辑表示所需要的所有功能,而不是像前一种模 式那样只能提供部分功能( 例如,前一种模式是文件的一部分,这种模式是文件 的一个完全副本) 。 这种模式的一个常见例子是使用应用程序容器来均衡任务负载。在将请求或 事务提交给应用程序或服务时,消费者并不关心到底是几个容器中执行的哪一个 应用程序的副本为请求或事务提供服务。消费者只是希望请求或事务得到处理。 一个具体的例子是文件虚拟化,其中为了满足冗余或性能的需要,可能为数据维 护提供多个副本,比如r a d 就是一个非常实际的应用。当消费者访问文件时, 文件系统( 如通用并行文件系统g p f s ) 就会定位这些文件众多副本中的一个,但 是消费者并不知道正在使用的文件副本的具体位置。 圈 陌褥 lq ) n s 愀l i j 一 图2 3 在多个资源之间提供单一逻辑表示 4 ) 单个资源的单一逻辑表示 这是用来表示单个资源的一种简单模式;就仿佛它是别的什么资源一样。启 用w e b 的企业后台应用程序就是一个常见的例子。在这种情况下,我们不是修改 后台的应用程序,而是创建一个前端来表示w e b 界面,它会映射到应用程序接口 中。这种模式允许通过对后台应用程序进行最少的修改( 或根本不加任何修改) 9 圄国圄国圄 电于科技大学硕十学位论文 来重用一些基本的功能。也可以根据无法修改的组件,使用相同的模式构建服务 图24 单个资源的单逻辑表示 5 ) 复合或分层虚拟化 这种模式是前面介绍的一种或多种模式的组合,它使用物理资源来提供丰富 的功能集。信息虚拟化是这种模式一个根好的例子。它提供了底层所需要的功能, 这些功能用于管理对资源、包含有关如何处理和使用信息的元数据以及对信息进 行处理的操作的全局命名和引用。这个框架中的每一层都是更低一层的抽象,它 为r 层提供了一个定义好的接口。随着我们在这个架构叶】的层次( 或框架堆栈) 的上升底层提供的资源都组合成了更复杂的功能。例如,任务负载虚拟化和信 息虚拟化就为已经虚拟化过的基础设施( 系统、存储和网络) 提供了更高级的虚 拟化。 ;统虚拟化 负载管理, 4 分区技术 图z5 网格讨算纽件 通过上面这些理论介绍,我们町以看出,虚拟化技术其实就是一个整合系统 h 匿 圈 磊一 第二章虚拟化技术概述 的所有资源框架,为其它客户( 在虚拟机中,这个客户就是g u e s to s ) 提供一个透 明的接口,通过这个接口来组合或分割系统资源。而这个角色我们是传统的操作 系统来完成了的。引入了虚拟化技术以后,我们称它为虚拟机监控程序( m ) , 也就是h y p e f v i s o r 。 结合上面的这些理论的模型,以及对现有的虚拟化技术的调查。我们总结出 虚拟化技术所能够解决的问题。 _ 硬件分区软件分区( 硬分区,软分区技术) 物理机器的部分或者完全模拟 一硬件资源共享 一硬件资源的m - n 映射。把m 个真实的资源映射为n 个虚拟的资源,有很 多类似的例子。如虚拟机( m 邶,网格计算( m 1 ) ,多任务( 1 n ) 。 2 3 认识虚拟化技术 对于只拥有一个单操作系统的计算机来说,所有的系统资源都是由机器上的 操作系统来统一管理和调度,如图2 6 所示。操作系统为所有硬件提供驱动程序, 通过驱动程序为用户和应用程序提供一个虚拟的接口。应用程序运行在操作系统 之上,通过这些接口和设备通信。这样传统的操作系统就有效的完成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电信服务专员招聘面试题库及参考答案
- 2025年商用房地产顾问招聘面试题库及参考答案
- 2025年财务控制专员招聘面试参考题库及答案
- 城阳护士考试题库及答案
- 鸡西教师招聘题库及答案
- 银行柜员风险题库及答案
- 2025年AIGC产品专员招聘面试题库及参考答案
- 2025年云安全顾问招聘面试题库及参考答案
- 2025年巡检工程师招聘面试题库及参考答案
- 2025年战略分析师招聘面试题库及参考答案
- 工程周报月报管理制度
- 天津职业技术师范学院-单招真题-机械基础
- 非自然人低压分布式光伏并网调度协议
- 助播劳务合同协议书
- n1护士考试试题及答案2025
- 青海城市介绍旅游宣传
- 2025年中级政工师考前通关必练题库
- 青青河畔草-古诗十九首其二-赏析-汉
- 数据魔方Fine BI考试FCBA考试题
- 统编版四年级语文上册第三单元主题阅读(含答案)
- 周一清晨的领导课(原版)
评论
0/150
提交评论