(计算机软件与理论专业论文)嵌入式实时hypervisor:xtratum.pdf_第1页
(计算机软件与理论专业论文)嵌入式实时hypervisor:xtratum.pdf_第2页
(计算机软件与理论专业论文)嵌入式实时hypervisor:xtratum.pdf_第3页
(计算机软件与理论专业论文)嵌入式实时hypervisor:xtratum.pdf_第4页
(计算机软件与理论专业论文)嵌入式实时hypervisor:xtratum.pdf_第5页
已阅读5页,还剩79页未读 继续免费阅读

(计算机软件与理论专业论文)嵌入式实时hypervisor:xtratum.pdf.pdf 免费下载

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

文档简介

兰州大学硕士学位论文 摘要 本论文是作者对x t r a t u mh y p e r v i s o r 进行学习和研究的工作总结,涵盖了 作者为x t r a t u mh y p e r v i s o r 所做的研究内容:中断管理、h y p e r c a l l 、任务管理、 虚拟内存管理等模块向不同l i n u x 内核上的移植,域间通信工具、设备驱动模型 的设计和实现,基于x t r a t u mh y p e r v i s o r 的应用实例( 冗余实时控制系统) 开 发,x t r a t u mh y p e r v i s o r 系统的重要功能模块的评测和分析。 在x t r a t u mh y p e r v i s o r 系统的研究过程中,文章实现了两种域间通信工具: 命名管道( f i f o ) 和共享内存( s t i m :s h a r em e m o r y ) 。在命名管道和共享内存设计 和实现中,文章采用了h y p e r c a l l ,l o c k - f r e e ,内存映射等多种技术,从而保 证任务之间可以进行可靠有效的实时通信。为了提高系统的可用性,使x t r a t u m 能够支持外接设备,文章构建了一种适合x t r a t u m 系统的设备驱动模型:x m d e v , 基于该设备驱动模型,作者实现了实时串口设备驱动。另外,为了提高x t r a t u m 对不同l i n u x 内核的支持,文章对x t r a t u m 系统相关中断管理、h y p e r v a l l 、任 务管理等重要模块进行了优化和功能扩展,目前为止,x t r a t u m 运行的最高l i n u x 版本是2 6 2 4 4 。针对x t r a t u mh y p e r v i s o r 的特点,作者设计和实现了冗余实 时控制系统。该冗余实时控制系统采用软备份冗余技术,当主模块发生异常退出 时,备份模块将会被调度并恢复主模块的运行环境。最后,为了直观的评估系统, 文章对反映系统整体性能的中断延迟、调度延迟、h y p e r c a l l 延迟、f i f o 通信以 及串口通信进行了测试和分析。 关键字:h y p e r v i s o r ,准虚拟化,实时系统,x t r a t u m a b s t r a c t t h i st h e s i si st h es u m m a r yb yt h ea u t h o rf o rt h es t u d ya n dr e s e a r c ho fx t r a t u m h y p e r v i s o r i tc o v e r sa l lw o r kc o n t r i b u t e db yt h ea u t h o rt ox t r a t u mh y p e r v i s o r , p o r t i n gt h ei n t e r r u p tm a n a g e m e n t ,h y p e r c a l l ,t a s km a n a g e m e n t ,v i r t u a lm e m o r yt o k i n d so fl i n u xk e r n e l s ,d e s i g n i n ga n di m p l e m e n t i n gi n t e r - d o m a i nc o m m u n i c a t i o n t o o l s ,d e v i c ed r i v e rm o d e l ,b u i l d i n gac a s es t u d yb a s e do nx t r a t u mh y p e r v i s o r : r r t c s ( r e d u n d a n tr e a l t i m ec o n t r o ls y s t e m ) ,a sw e l l a sb e n c h m a r k i n gm a i n s y s t e mc o m p o n e n t s i nt h et h e s i s ,f i f oa n ds h m ( s h a r em e m o r y ) a l eb u i l tf o rx t r a t u mh y p e r v i s o r f i f oa n ds h ma r et h ee f f e c t i v ei n t e r - d o m a i nc o m m u n i c a t i o nt o o l s ,p l a y i n g i m p o r t a n tr o l e s i nd a t at r a n s m i s s i o na n dt a s k s y n c h r o n i z a t i o n t h eh y p e r c a l l , l o c k f r e ea n dm e m o r ym a p p i n gt e c h n o l o g i e sa l ea d o p t e dt oi m p l e m e n tt h ef i f oa n d s h m ,ad e v i c ed r i v e rm o d e li sd e s i g n e df o rx t r a t u mi nt h et h e s i s i no r d e rt om a k e x t r a t u ms u p p o r tm o l er e a l - t i m ed e v i c ed r i v e r s ,x m d e v ( x t r a t u md e v i c ed r i v e r m o d e l ) i sd e s i g n e da n db u i l t b a s e do nx m d e v , t h et h e s i si n t e r p r e t sh o wt o i m p l e m e n tu a r td e v i c ed r i v e r m o r e o v e r , t om a k ex t r a t u mr u no nm o r ea n dm o r e l i n u xk e m e l ,t h ei n t e r r u p tm a n a g e m e n t ,h y p e r c a l l ,d o m a i nm a n a g e m e n tm o d u l e sa r e r e f i n e do ru p d a t e d m e a n w h i l e ,i no r d e rt oe v a l u a t et h es y s t e m ,t h et h e s i sd i dm a n y b e n c h m a a r k sa n da n a l y s i s ,i n c l u d i n gi n t e r r u p tl a t e n c y , s c h e d u l e rl a t e n c y , h y p e r c a l l l a t e n c y , t r a n s l a t i o ns p e e do ff i f oa n du a r td r i v e r r r t c s ( r e d u n d a n tr e a l - t i m e c o n t r o ls y s t e m ) b a s e do i lx t r a t u mh y p e r v i s o ri sd e s i g n e da n di m p l e m e n t e di nt h e t h e s i st oi n t r o d u c et h eu s a g ea r e af o rx t r a t u mh y p e r v i s o rs y s t e m k e y w o r d s :h y p e r v i s o r , p a r a v i r t u a l i z a t i o n ,r e a l - t i m es y s t e m ,x t r a t u m i l 原创性声明 本人郑重声明:本人所呈交的学位论文,是在导师的指导下独立 进行研究所取得的成果。学位论文中凡引用他人已经发表或未发表的 成果、数据、观点等,均已明确著名出处。除文中已经注明引用的内 容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对 本文的研究成果做出重要贡献的个人和集体,均己在文中以明确方式 标明。 本声明的法律责任由本人承担。 论文作者签名: 关于学位论文使用授权的声明 本人在导师指导下所完成的论文及相关的职务作品,知识产权归 属兰州大学。本人完全了解兰州大学有关保存、使用学位论文的规定, 同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版, 允许论文被查阅和借阅;本人授权兰州大学可以将本学位论文的全部 或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和 汇编本学位论文。本人离校后发表、使用学位论文或与该论文直接相 关的学术论文或成果时,第一署名单位仍然为兰州大学。 保密论文的解密后应遵守此规定。 论文作者签名:篚复脚币签名:幽期: 2 竺乏:一 兰州大学硕士学位论文 1 1研究现状 第1 章绪论 h y p e r v is o r 也被称作虚拟机监控器( v m m ,v i r t u a lm a c h i n em o n i t o r ) ,它是 一个基于计算机硬件平台的软件( 可以是系统软件也可以是应用软件) ,允许多个 操作系统在一个硬件平台上并行运行。h y p e r v i s o r 系统被分为两类:i 型和i i 型 1 。 在i 型中,h y p e r v i s o r 作为系统软件直接运行于主机硬件之上,可以直接控 制物理设备和管理客户操作系统( g u e s to s :所有运行在h y p e r v i s o r 上的操作系 统) ,通过接口为客户操作系统提供服务,类i 具有很好的性能保障。属于i 型的 典型h y p e r v is o r 包含c m c m s ,v i r t u a l l o g i x 的v l x ,t r a n g o ,i b m 的p o w e r h y p e r v i s o r ( p o w e r v m ) ,i b m 的p r s m ,m i c r o s o f t 的h y p e r v 等。i i 型h y p e r v i s o r 做为一个应用软件运行于普通操作系统之上。i i 型h y p e r v i s o r 作为一个的软件应 用层,而客户操作系统运行于硬件以上第三层( 普通操作系统一 h y p e r v i s o r 一 客 户操作系统) 。由于软件层次复杂,从而导致i i 型h y p e r v i s o r 支持的客户操作系 统性能较低。属于i i 型的h y p e r v i s o r 有y m w a r es e r v e r ( 即g s x ) ,v m w a r e w o r k s t a t i o n ,s u n 的v i r t u a l b o x ,以及开源虚拟机软件q e 剐等。 h y p e r v i s o r 的概念最早由i b m 在三十多年前提出。当时,i b m 使用h y p e r v i s o r 目的是为了保证i b m i h 的操作系统可以运行在新的硬件平台上,以及加速操作系 统的开发和测试。虽然h y p e r v i s o r 使用给软件或硬件的开发、测试、系统健壮性 等方面带来很多优点,但是h y p e r v i s o r 技术的使用始终没有与大型主机的应用环 境脱离。直至u 1 9 9 9 年,y m w a r e 在个人计算机上成功的演示了v m w a r ew o r k s t a t i o n , 并获得理想性能,h y p e r v i s o r 技术开始在个人桌面领域应用和推广 2 。从此, 个人桌面领域的h y p e r v i s o r 主要由v m w a r e + w i n d o w s 占领。 近年来,一些新型的个人桌面h y p e r v i s o r 系统开始陆续出现。2 0 0 3 年,x e n h y p e r v i s o r 系统开始正式公开发布,当前x e n 的发布已经被包含在f r e e b s d 、 l i n u x 、n e t b s d 、以及p l a n9 等多种操作系统中。另外,基于o p e n s o l a r i s 操作系 统重新实现的x e n 被称作s u nx v ms e r v e r 也已经发布 3 。2 0 0 5 年,p a r a l l e l s 公 司发布了p a r a l l e l sw o r k s t a t i o n ,它是基于m a co sx 个人计算机的h y p e r v i s o r 兰州大学硕士学位论文 系统 4 。2 0 0 8 年六月,微软发布了i 翟9 h y p e r v i s o rh y p e r v ,从w i n d o w sv i s t a 开始的新版本的微软操作系统运行在h y p e r v 上有较好性能 5 。另外,基于l i n u x 的k v m ( f o rk e r n e l - b a s e dv i r t u a lm a c h i n e ) 以及q e m u 也是当前开源领域比较流 行的h y p e r v i s o r 。尤其是k v m ,已经被l i n u x 内核所接受,q e m u 作为虚拟机运行在 k v m 构建的h y p e r v i s o r 环境中 5 ,6 ,7 ,8 。 软件架构是区别i 型和i i 型h y p e r v i s o r 系统的决定因素,而h y p e r v i s o r 技术 则是影响h y p e r v i s o r 系统性能和推动h y p e r v i s o r 应用的关键原因。h y p e r v i s o r 技术可以从软件或硬件的角度被区别为软件虚拟化技术和硬件虚拟化技术。 硬件虚拟化技术的采用在于硬件平台的设计上,因此,硬件平台特点是制约 h y p e r v is o r 技术使用的重要因素。h y p e r v is o r 技术在大型服务器系统较早使用的 因素就在于系统性能高,具有特殊的支持虚拟技术的硬件模块和指令集。例如在 x 8 6 环境中,虽然x 8 6 平台拥有众多的个人计算机用户,但是由于系统本身的设计 性质,缺乏针对虚拟化技术的支持功能,从而导致h y p e r v i s o r 在x 8 6 平台上应用 较晚。伴随着市场对h y p e r v i s o r 系统的重视,x 8 6 供应商开始在其设备中添加了 硬件虚拟辅助部件。例如i n t e l 发布的i n t e lv t 9 以及a m d 的a m d v 1 0 等。这 些扩展主要是通过提供特殊的功能以解决x 8 6 平台上建立h y p e r v i s o r 存在复杂度 高、性能低的问题。 为了满足h y p e r v i s o r 系统对客户操作系统的支持,h y p e r v i s o r 主要采用两种 软件虚拟化技术:全虚拟化( f u l l - v i r t u a l i z a t i o n ) 和准虚拟化 ( p a r a v i r t u a l i z a t i o n ) 1 1 ,1 2 ,1 3 。全虚拟化一般是通过软件对所有的硬件 进行模拟,构建虚拟设备,从而可以保证客户操作系统不用修改就可以直接在相 应虚拟机平台上面运行。i i 型h y p e r v i s o r 通常采用全虚拟化技术。准虚拟化 ( p a r a v i r t u a l i z a t i o n ) 也被称为泛虚拟化、半虚拟化,该词的使用最早源于 d e n a l ih y p e r v i s o r 系统的相关文章中 1 4 。采用准虚拟化技术,h y p e r v i s o r 不 需要模拟所有的硬件设备,为了提高h y p e r v i s o r 环境的性能,系统通过实现针对 h y p e r v i s o r 的系统调用来执行服务请求,直接访问物理设备,例如i o 访问,而 不是通过虚拟设备间接的访问物理设备。这种技术在x e n 中被叫做准虚拟化技术, p a r a l l e l sw o r k s t a t i o n 中称为h y p e r c a l l ,而i b m 发布的v m 系统中,被叫做 “d i a g n o s ec o d e 。基于该类技术的h y p e r v i s o r 可以保障运行于其上的客户操 作系统能够获取接近于直接运行于硬件上的系统性能,但是运行于该类 兰州大学硕士学位论文 h y p e r v i s o r 的客户操作系统必须经过移植修改。i 型h y p e r v i s o r 通常采用这种技 术。当前,准虚拟化技术被广泛应用于h y p e r v i s o r 中。 在h y p e r v i s o r 系统的设计中,并不是每一个h y p e r v i s o r 只能采用一种虚拟化 策略,有些可能兼具二者,例如x e n 。x e n 是一个纯软件的h y p e r v i s o r ,它依赖于 一个通用操作系统,例! c i l i n u x ,通过硬件提供的虚拟扩展附件,x e n 可以支持准 虚拟化和全虚拟化技术。 如前所述,诸女h x e n 、v m w a r e 、k v m 、h y p e r - v 、v m w a r e 等h y p e r v i s o r 系统几 乎都应用于大型主机服务器或个人桌面计算机市场,而针对嵌入式领域的 h y p e r v i s o r 系统或研究还相当薄弱。嵌入式领域中,为了降低系统的开发周期和 成本,越来越多的开发商期望可以直接使用通用操作系统的应用软件,因此,研 究人员开始将通用操作系统向嵌入式系统领域移植。另外,嵌入式系统通常被用 于实时应用环境中,但是通用操作系统通常并不具有实时功能,为此,研究人员 不得不在移植过程中改善通用操作系统的实时功能,但是由此带来的工作量和技 术难度相当惊人,实时性能还不好。 为此,伴随着硬件平台性能的提升,h y p e r v i s o r 系统被引入到嵌入式系统中。 通过构建h y p e r v i s o r ,可以保证通用操作系统和实时操作系统的并行运行,从而 使嵌入式系统即能提供应用程序的通用操作系统接口,例如l i n u x 、w i n d o w s ,又 能支持的实时操作系统( r t o s :r e a l t i m eo p e r a t i n gs y s t e m s ) 的 a p i s ( a p p l i c a t i o np r o g r a mi n t e r f a c e ) 。除了具有支持多种应用软件以外,采 用h y p e r v i s o r 系统还可以保证整个嵌入式系统的可靠性、稳定性、有效性等。嵌 入式系统一般资源稀少、性能较低,因此,h y p e r v i s o r 系统在嵌入式领域中的应 用问题就是性能的问题,尤其是在实时环境中,性能问题更为重要。由h y p e r v i s o r 在其它行业的应用经验可以清晰的认识到,基于准虚拟化技术的i 型h y p e r v i s o r 具有明显的性能优势,因此,构建i 型h y p e r v i s o r 是嵌入式系统的不二选择。 创建有效的嵌入式实时h y p e r v i s o r 系统,主要是针对问题开展研究。性能是 h y p e r v i s o r 解决的首要问题,如上所述,该问题可以通过建立基于准虚拟化的i 型h y p e r v i s o r 系统解决。另外,h y p e r v i s o r 还有解决一定的功能问题,即满足嵌 入式软件程序的需求,嵌入式h y p e r v i s o r 必须提供对多种操作系统应用软件的支 持,提供相应的函数接口,支持实时任务和非实时任务的同台并行运行和计算。 兰州大学硕士学位论文 此外,嵌入式实时h y p e r v i s o r 还应该解决系统的整体可靠性问题,保证运行于客 户操作系统上层的实时应用软件具有确定性、可预测性。 现在,已经有一些组织和研究机构从解决嵌入式系统中h y p e r v i s o r 的主要问 题着手,设计和构建不同的嵌入式h y p e r v i s o r 系统。为了解决h y p e r v i s o r 系统的 性能和可靠性,通过将微内核或小型内核与虚拟技术的进行结合构建高性能的 h y p e r v i s o r ,例如o k l 4 ( 微内核) 1 6 与l y n x s e c u r e ( 小型分离内核) 系统 1 7 。 o k l 4 是早的嵌入式商用h y p e r v i s o r ,它于2 0 0 5 年在移动电话设备中发布。o k l 4 和l y n x s e c u r e 都是开源软件。近两年来,伴随着开源嵌入式h y p e r v is o r 系统的发 布,商用嵌入式h y p e r v i s o r 系统开始相继发布,l y n u x w o r k s 于2 0 0 7 发布 l y n x s e c u r e ,2 0 0 9 年二月发布最新的l y n x s e c u r e2 0 版本。g r e e nh i i i 于2 0 0 7 年2 月发布基于i n t e g r i t yr t o s 的p a d d e dc e l lh y p e r v i s o r ,p a d d e dc e l l 是一套 提供嵌入式和企业领域应用高安全h y p e r v i s o r 系统,当前已经支持w i n d o w s x p 1 8 。2 0 0 7 年7 月,t r a n g o 发布t r a n g oh y p e r v i s o r ,并且与2 0 0 8 年9 月低获得 c s p n ( c e r t i f i c a t i o nd es 6 c u r i t 6d ep r e m i e rn i v e a u f i r s tl e v e ls e c u r i t y c e r t i f i c a t i o n ) 安全认证 1 9 。 文章相关研究是基于x t r a t u mh y p e r v is o r 系统。x t r a t u m 系统是由西班牙瓦 伦西亚理工大学工业信息和实时系统研究组和兰州大学d s l a b 实验室共同开发的 基于l i n u x 的嵌入式实时虚拟机管理器。2 0 0 5 年,x t r a t u m0 1 版本在g p l 协议下 发布,当前x t r a t u m 的最高版本是x t r a t u m2 1 o ,已经支持x 8 6 、p o w e r p c 、m i p s 、 l e n 2 等多种处理器 2 0 。x t r a t u m 系统采用超微内核( n a n o k e r n e l ) 技术与虚拟化 技术相结合的设计模式。与微内核技术相比,超微内核要求内核更小,更简单。 在x t r a t u m 系统中,h y p e r v i s o r 内核仅仅负责中断、时钟等硬件资源的管理,以 及提供基于优先级的虚拟机实时调度器。在x t r a t u mh y p e r v i s o r 系统中,客户操 作系统通过h y p e r c a l l s 访问底层硬件。x t r a t u mh y p e r v i s o r 的目标就是精小、安 全、可靠、高效、稳定。 1 2 研究意义 h y p e r v i s o r 出现的早期是被应用到大型服务器中,伴随着h y p e r v i s o r 技术的 发展和推广以及硬件设备的发展,h y p e r v i s o r 逐渐被应用于个人桌面计算机环境 兰州大学硕士学位论文 中,近几年,h y p e r v i s o r 又逐渐在嵌入式环境中蔓延。显然,h y p e r v i s o r 具有一 定的价值或优点,才得以在这三种环境中生存和发展。下面列出了h y p e r v i s o r 技术的优点以及可以解决的问题 2 2 ,2 3 ,2 4 :1 ) 通过h y p e r v i s o r 技术,可以对新 架构平台和特权指令的进行调试和测试;2 ) 利用h y p e r v i s o r ,在平台移植前对软 件的调试和测试:3 ) 基于h y p e r v i s o r ,在同种平台上运行特殊和早期的操作系统; 4 ) 作为非可信软件的沙箱;5 ) 提高计算机的使用率;6 ) 提高操作系统的可移植性。 硬件的变动,不会引起操作系统和应用程序的修改;7 ) 简化系统的迁移、备份和 恢复。这些优点具有一定的通用性,针对嵌入式领域,h y p e r v i s o r 系通在某些方 面的优势更加突出。 h y p e r v i s o r 系统可以支持多种不同种类的应用软件( 例如实时任务和非实时 任务) 在同一平台并行运行。传统的嵌入式系统是封闭的,所有的软件栈是由设 备供应商提供,并且在销售前加载,后期不会被修改,尤其是固件系统,相应升 级更是稀少。另外,商用实时操作系统与开源实时嵌入式系统多种多样,并且都 具有固定的实时应用软件,由于对操作系统的依赖性强,由于单个操作系统独立 运行于硬件系统上,相应实时应用软件也只能运行于该操作系统,当操作系统发 生变化时,实时应用软件必须更新,以适应底层平台的改变,从而给整个嵌入式 系统开发和应用带来直接负面影响,增加了系统开发成本,延长了系统开发周期。 在h y p e r v i s o r 中,一个系统可以同时支持多种操作系统,可以是实时操作系统, 也可以是非实时操作系统,从而可以保证系统最上层可以支持实时和非实时应用 软件的并行运行。例如,在x t r a t u mh y p e r v i s o r 系统中,l i n u x 系统上的浏览器 和p a r t i k i e ( p a r t i c u l a rr e a l - t i m ek e r n e l ) 实时操作系统中的实时数字控制系 统( c n c :c o m p u t e rn u m e r i c a lc o n t r o l l e d ) 可以在一个平台上同时运行。 此外,嵌入式系统功能逐渐增多,相应软件数量和系统复杂度也迅速增加。 例如,当前在手机系统中的软件协议栈大小就是5 - 7 m ,这一数值还在增加。顶级 汽车的软件系统的大小已经达到g b 数量级,甚至“下载软件的时间比构建物理车 辆的时间还要长”。嵌入式软件存在封闭性强、软件需求繁多的现象,封闭性强 给软件的复用和移植带来不便,软件需求繁多直接导致开发难度大,开发周期长, 整体效率差等问题。另外,针对p c 平台开发的软件系统在嵌入式平台上使用的现 象已非常明显,这种现象被称之为软件通用化现象,并且很多新嵌入式应用软件 兰州大学硕士学位论文 的开发者并非懂得嵌入式开发技术。在这种情况下,一种支持多种操作系统a p i s 的高层面向应用的操作系统需要建立。也就是说,在应用软件通用化的趋势下, 需要有一种能够满足多种应用软件在同一个硬件平台上运行的机制或架构,用以 解决当前软件复用和开发的问题。而h y p e r v i s o r 恰好可以满足这种需要,可以很 好的解决该类问题。 h y p e r v i s o r 可以提高嵌入式系统的可靠性、安全性、稳定性、有效性。嵌入 式系统是普遍存在的,并且逐渐成为日常生活的一部分,无法想想离开嵌入式系 统人类如何生活,尤其是关系到个人生命安全和财产安全的领域,例如航宅航天、 医疗、火车、汽车、国防等。在这些特殊领域中,直接使用通用操作系统的应用 软件作为嵌入式软件显然不太适宜。嵌入式系统不仅仅需要满足实时需求,而且 还应该具有较高的安全性( s a f e t y ) 、可靠性( r e l i a b i l i t y ) 、有效性 ( a v a i l a b i l i t y ) 。但是,在这些关键领域中,由于历史的原因,多种实时操作系 统的封闭性,限制了不同实时软件的并行运行,例如v x w o r k s ,l y n x o s ,r t l i n u x , r t a i 等。类似于普通嵌入式系统,在这些关键领域,一种高安全性、高稳定性、 支持多种实时系统a p i s 的面向应用操作系统的被迫切期待 2 5 ,2 6 ,2 7 ,2 8 。通 过提供可靠的隔离和冗余机制,将临界组件与不可信任操作系统进行隔离,保证 临界组件的安全性、可靠性、和有效性,h y p e r v i s o r 可以改善以上需求。 h y p e r v i s o r 技术可以加速操作系统的移植。h y p e r v i s o r 的目的是在物理硬件 和操作系统之间建立一层硬件抽象层( h a l :h a r d w a r ea b s t r a c t i o nl a y e r ) ,它 将底层的物理硬件结构进行封装,例如寄存器、端口等,为操作系统提供相应的 软件接口,在操作系统移植过程中,操作系统就不需要了解繁缛的底层物理信息, 直接调用相应的软件接口就可以完成相应的服务请求或设备配置。但是,由于当 前存在系统管理层的多样化,并且各自为政,每种h y p e r v i s o r 都有自己的一套抽 象接口,没有统标准和规定,从而导致操作系统在h y p e r v is o r 上面的移植工作 不尽相同,但是这依然可以降低操作系统向不同平台移植的工作量和工作周期。 总之,h y p e r v i s o r 系统的研究在嵌入式实时系统领域具有重要意义i1 ) 可 以为现今嵌入式系统具有的功能多、平台开放、软件复杂等问题提供解决方案; 2 ) h y p e r v i s o r 可以在同一物理设备上并行运行多种操作系统,典型的应用就是 在系统底层运行提供实时任务的实时操作系统,同时,执行客户操作系统并提供 兰州大学硕士学位论文 相应的应用任务,例如l i n u x 或w i n d o w s ;3 ) 可以保护具有高安全需求的子系统, 例如通信协议栈,各户系统无法对其进行直接访问或攻击;4 ) 物理内存的分离, 可以阻止系统直接的相互干扰:5 ) 解决l i c e n s e 问题。另外,该技术的研究在国 内外还处于起步阶段,尽早展开对相关技术的研究,可以在未来嵌入式领域竞争 中取得主动。 x t r a t u nh y p e r v i s o r 的研究具有独特的意义。嵌入式系统领域中, h y p e r v i s o r 的应用根据系统的实时能力,可以被区分为三种:硬实时,软实时和 非实时。三种实时能力的划分是根据系统没有在指定的时刻完成任务所造成的后 果严重性上。硬实时将会造成严重的后果,甚至是财产损失或危机人身安全,例 如火车或汽车抱死系统。软实时影响较轻,几乎不会造成财产损失,对人可能是 感官影响,例如音乐系统或电影播放系统。非实时将不会造成任何影响。 x t r a t u m 系统是一种硬实时h y p e r v i s o r 。它主要是解决实时系统与非实时操 作系统并行运行而引起的安全问题。二十世纪九十年代中期,基于l i n u x 系统的 第一款硬实时操作系统r t l i n u x 发布,它是采用双核共存的机制使l i n u x 具有实时 能力。在r t l i n u x 系统,具有实时能力的r t l i n u x 系统与普通l i n u x 内核共存,同 时运行于系统内核态( 具有最高优先级,可以直接访问底层硬件) 。但是,在 r t l i n u x 系统中,实时系统与l i n u x 内核运行于同一个地址空间,最o l i n u x 内核可 以不加保护的非法访问r t l i n u x 内核空间,这必然会影响系统的安全性( s a f e t y ) 和可靠性。另外,r t l i n u x 系统还存在相应软件专利保护:实时系统运行于底层 硬件与l i n u x 系统之间,l i n u x 作为具有最低优先级的任务被调度和执行。因此, 通过h y p e r v i s o r 技术,可以避免这两个问题:1 ) 实时系统与l i n u x 内核在同一个 地址空间:2 ) r t l i n u x 相关软件结构专利。在这种情况下,x t r a t u mh y p e r v i s o r 应运而生,取代r t l i n u x 实时结构系统,构建新型h y p e r v i s o r 实时环境。 1 3研究内容 x t r a t u mh y p e r v i s o r 是超微内核技术与准虚拟化技术结合的产物,它是典型 的i 型h y p e r v i s o r 系统。超微内核技术是一种操作系统内核结构,它类似于微内 核技术,与微内核系统相比,它将一些“冗余”的功能模块从内核中移除,系统 内核负责底层最基本的中断管理、物理时钟管理、以及实时任务调度( 用于调度 兰州大学硕士学位论文 上层应用任务或操作系统) 。因此,也有人将x t r a t u m 视作硬件抽象层( h a l : h a r d w a r ea b s t r a c t i o nl a y e r ) 。通常,超微内核系统用于支持多个任务并行运 行,由于结合了虚拟化技术,可以将超微内核看成一种虚拟系统,它将底层中断 与物理时钟进行封装、虚拟化处理,为上层简单任务,通用操作系统( l i n u x , f r e e b s d ,m a co s ) 或实时操作系统( p a r t i k i e ,r t l i n u x ) 提供统一接口 2 9 。 x t r a t u mh y p e r v i s o r 作为h a l ( h a r d w a r ea b s t r a c t i o nl a y e r ) 运行于客户操 作系统和硬件平台之间,采用虚拟化技术将底层中断和时钟进行封装,为上层客 户操作系统提供服务。在x t r a t u m 系统中,l i n u x 和r t o s 分别作为独立的运行域 ( d o m a i n :具有一定硬件资源的任务单位,比进程范围更大) 被x t r a t u m 调度和 执行。l i n u x 作为通用操作系统,运行任务具有较低的实时性,但是作为硬实时 操作系统的r t o s ,如果x t r a t u m 系统提供的服务性能较低,将无法满足实时任务 的需求,从而使r t o s 的运行失去意义。另外,由于r t o s 系统应用于特殊的行业和 环境中,对软件的可靠性和安全性有较高要求,为此,x t r a t u mh y p e r v i s o r 系统 应尽可能的保证r t o s 的安全性,避免r t o s 受到其它操作系统或域的影响和威胁。 为了提高x t r a t u m 的性能和安全性,本文主要涉及中断管理、域间通信、驱动模 型、系统移植、可信应用、以及关键组件的性能测试和分析等几个方面的研究 3 1 。 系统运行时x t r a t u m 接管中断管理研究。通常,实时操作系统由事件驱动, 外界设备发生状态改变时,将会引起事件并告知操作系统,然后由操作系统做出 响应,而中断则是设备通知操作系统的途径,因此,中断是实时操作系统中的关 键资源。另外,操作系统对中断的响应速度,直接决定系统对事件或设备的反映 速度,从而影响着外接设备的服务和内部异常的处理( 本文中,如无特别解释, c p u 内部异常也被作为中断事件) 。因此,对于如何管理设备中断,处理中断服务 是操作系统,尤其是实时操作系统要考虑的方面。另外,由于x t r a t u m 操作系统 基于l i n u x 平台,为了提高系统的实时性能,中断必须由x t r a t u m 系统管理。但是, x t r a t u m 系统是作为l i n u xk e r n e lm o d u l e 加载的,耳i x t r a t u m 系统的运行在l i n u x 系统运行之后。因此,这部分的研究内容就是针对系统运行时x t r a t u m 接管中断 管理。 域间通信工具的研究。为了提高操作系统内部多任务之间的协作能力和通信 8 兰州大学硕士学位论文 能力,操作系统被创建了多种i p c ( i n t e r p r o c e s sc o m m u n i c a t i o n ) 工具,例如信 号、命名管道、共享内存、s o c k e t 等。同样,在x t r a t u m h y p e r v i s o r 中,为了达 到同样的目的,使系统中的域进行协调工作,尤其是设备驱动域和任务域之间, 域间通信( i d c :i n t e r - d o m a i nc o m m u n i c a t i o n ) 工具需要设计和实现。针对 x t r a t u mh y p e r v i s o r 系统,命名管道( n a m e df i f o ) 和共享内存被设计和实现。在 x t r a t u m 系统中,命名管道和共享内存的实现有多个关键问题。首先,普通的操 作系统中,命名管道或共享内存可以通过o p e n 0 、c l o s e0 或类似函数调用进行 访问,但是x t r a t u m 系统提供了很少的几个h y p e r c a l l s ,从而给设备访问带来困 难。文章详细介绍了高效访问命名管道和共享内存等设备资源的方法,以及如何 解决这些共享资源的竞争访问问题。 驱动模型的研究。驱动模型问题是h y p e r v i s o r 系统研究中一个重要内容。在 h y p e r v i s o r 系统中,多个客户操作系统作为单位域( d o m a i n ) 被调度执行。通常, 由于资源的有限性,它们往往需要共享一些硬件设备,为了有效地在h y p e r v i s o r 中添加或移植新的设备驱动,构建合适的驱动模型成为h y p e r v i s o r 研究的一个方 面。另外,在x t r a t u m 系统中存在两种不同的操作系统,一种是通用操作系统, 另外一种是实时操作系统,并且系统中可以并存多个系统域,从而为系统驱动模 型的构建又提供了难度系数。在x t r a t u m 系统的模型构建中,主要涉及到1 ) 驱动 的存在形式,例如,是选用类似于l i n u x 系统中模块驱动还是类似于特殊实时操 作系统的任务驱动;2 ) 驱动程序的可调度性,或者说驱动按照怎样的一个策略 分配将设备分配给上层客户操作系统域使用;3 ) 驱动程序的可复用性,当前存 在一定的设备驱动,为了降低新驱动程序的开发周期和开发难道系数,如何在保 证驱动程序安全的前提下最大可能的复用驱动程序也是一项研究内容。文章将上 述三点做为研究内容,对x t r a t u m 设备驱动模型展开了论述。 系统移植的研究。x t r a t u mh y p e r v i s o r 系统是基于l i n u x 存在,由于早期开 发时系统是基于2 6 1 7 4 版本的l i n u x 内核,经过几年的发展,当前l i n u x 内核 已经发展到2 6 2 7 或更高。较之早期的版本,新版本的l i n u x 内核具有更多的特 点和属性,为了能够让x t r a t u mh y p e r v i s o r 与l i n u x 内核的发展同步,必须要将 x t r a t u m 进行移植。通过移植手段,然x t r a t u mh y p e r v i s o r 可以支持更多更新的 l i n u x 内核版本。但是,由于不同版本之间的差异,尤其是在有些l i n u x 内核版本 兰州大学硕士学位论文 之间,中断、系统调用或寄存器使用等方面发生改变,为x t r a t u mh y p e r v i s o r 这一基于底层属性的系统的移植带来了困难 3 2 。 应用实例的开发。无论在任何领域和行业,技术研究永远是一种手段,实现 只是一种过程,而使用才是它的结果。同样,针对x t r a t u mh y p e r v i s o r 这种采用 新技术的实时系统运行平台,能否带来其独特的使用方式是研究最终的期望。 x t r a t u m 采用了h y p e r v i s o r 技术,可以让多个客户操作系统独立安全的运行,这 是x t r a t u m 与其它实时操作系统的最大区别,为此,为了验证该技术可以提高系 统的安伞性和可靠性,在项目的研究过程中,一种基于软件冗余机制的冗余实时 控制系统作为演示实例被开发。 性能测试和分析的相关研究。做为硬实时系统,为了提高系统的可确定性和 可预测性,关键组件的性能和响应时间必须清晰明确。为此,文章针对x t r a t u m

温馨提示

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

评论

0/150

提交评论