




已阅读5页,还剩55页未读, 继续免费阅读
(计算机软件与理论专业论文)基于l4的fifo通讯机制的研究和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
兰州大学硕士学位论文 摘要 目前,嵌入式电子设备已经广泛应用于人们生活的各个领域,除了要求实现 必须的功能外,某些特殊的领域还对嵌入式系统提出了更高的要求:在保证嵌入 式整体性能的前提下,嵌入式系统还要具有一定的实时性、可靠性和安全性,而 且嵌入式系统的应用软件还具有了通用化的趋势,这也对嵌入式的实现提出了新 的要求。以一体化内核为基础的传统嵌入式系统已经很难满足嵌入式系统的发展 需求。 本文研究的l 4 微内核由于从根本上解决了i p c 的通讯问题,使得整个微内 核性能有了质的提高,达到了实时要求,而且其本身的架构特点很好的保证了系 统的可靠性。德累斯顿大学的d r o p s 项目是典型的实时系统和虚拟化技术结合 的产物,它以具有实时特性的l 4 f i a s c o 微内核为核心子项目,使用l 4 e n v 提供 的服务来实现微内核之上的实例运行,实现了操作系统的虚拟化,同时它还允许 实时进程实例和非实时进程实例同时运行,典型的非实时实例是l a l i n u x ,它是 由标准l i n u x 内核经过简单修改而运行在u 佃i a s c o 之上的虚拟机。这样只要操 作系统可以运行到微内核上,应用就不必因硬件平台改变而做出修改,这种虚拟 化实现很好的满足了嵌入式系统应用通用化的趋势。因此研究d r o p s 项目中实 例的通信能使该系统本身功能得到进一步完善,以更好的应用到嵌入式领域,同 时也能使我们更好了解实时系统和虚拟化技术在在嵌入式系统应用。 目前,d r o p s 还没有可行的接口调用以实现实例之间的通信。为了实现 d r o p s 中实例之间的通信,作者给出了一个基于f i f o 的d r o p s 通信模型,模 型中实例之间通过f i f o 传递数据,实现实例之间的通讯。作者说明了几种可以 实现f i f o 的常见机制,并在实验中采用锁无关机制对模型中的f i f o 做了简单 实现,并用实例对实现的f i f o 作了测试,测试证明:f i f o 服务可以实现d r o p s 中实例之间的数据交换,达到了通信的目的。锁无关机制很好的解决了死锁和优 先级倒置的问题。 关键字:实时,虚拟化,i a ,d r o p s ,f i f o ,锁无关 兰州大学硕士学位论文 a b s t r a c t a tp r e s e n t ,t h ee m b e d d e de l e c t r o n i cd e v i c ei sw i d e l yu s e di na l la r e a so fo u rl i v e s ,a n d b e c a u s eo fi n c r e a s e dd e m a n df u n c t i o n ,m a k e sg r e a t e rd e m a n d so ne m b e d d e ds y s t e m s , e m b e d d e ds y s t e m sr e q u i r e dn o to n l ys u b s t a n t i a lp e r f o r m a n c e ,i th a sa l s or e q u e s t e d g o o dr e a l t i m ea n dr e l i a b i l i t y ,a p p l i c a t i o no ft h eg e n e r a lt r e n do ft h es y s t e mi sm a d e f o re m b e d d e ds y s t e m sf u r t h e rd e m a n d s t ot h ei n t e g r a t i o no ft r a d i t i o n a lc o r e b a s e d e m b e d d e ds y s t e mh a sb e e nd i f f i c u l tt om e e tt h ed e v e l o p m e n tn e e d so fe m b e d d e d s y s t e m s i nt h i sp a p e r , t h ei am i c r o k e r n e la st h ei p cf r o mt h er o o tt os o l v et h ec o m m u n i c a t i o n p r o b l e m ,m a k i n gt h ew h o l em i c r o - k e r n e lp e r f o r m a n c ei m p r o v e m e n t st h a tr e a c ht h e r e a lt i m er e q u i r e m e n t s ,a n dt h ef e a t u r eo fl 4a r c h i t e c t u r eg u a r a n t e er e l i a b i l i t yo ft h e s y s t e mv e r yw e l l d r e s d e nr e a l - t i m eo p e r a t i n gs y s t e m sp r o j e c t i s t y p i c a lo f r e a l t i m es y s t e ma n dt h ep r o d u c tv i r t u a l i z a t i o nt e c h n o l o g i e s ,i ti st oh a v er e a l t i m e c h a r a c t e r i s t i c so fl 4 f i a s c om i c r o - k e r n e la st h ec o r es u b p r o j e c t s ,u s i n gi a e n v p r o v i d es e r v i c e st oa c h i e v ea b o v ee x a m p l e so fm i c r o - k e r n e lr u n n i n g ,a c h i e v i n ga o p e r a t i n gs y s t e mv i r t u a l i z a t i o n ,w h i l ei t a l s oa l l o w sr e a l - t i m ep r o c e s si n s t a n c e sa n d i n s t a n c e so fn o n r e a l t i m ep r o c e s s e sr u n n i n gs i m u l t a n e o u s l y ,at y p i c a ln o n - r e a l t i m e e x a m p l eo fi a l i n u x ,i ti sb yt h es t a n d a r du n u xk e r n e la f t e ras i m p l em o d i f i c a t i o nt o r u no nt o po ft h ei a f i a s c ov i r t u a lm a c h i n e s ol o n ga st h eo p e r a t i n gs y s t e mc a nr u n t ot h em i c r o - k e r n e l ,t h ea p p l i c a t i o nw o u l dn o th a v em a d et h ec h a n g eb e c a u s eo ft h e h a r d w a r ep l a t f o r mc h a n g e s ,s u c hag o o dv i r t u a l i z a t i o ne m b e d d e ds y s t e ma p p l i c a t i o n s t om e e tt h eg e n e r a lt e n d e n c y s ot h er e s e a r c hp r o j e c ti n s t a n c ed r o p sc o m m u n i c a t i o n f u n c t i o n se n a b l et h es y s t e mi t s e l fh a sb e e nf u r t h e ri m p r o v e dt ob e t t e rt h ea p p l i e dt o t h ee m b e d d e df i e l d ,w h i l ee n a b l eu st ob e t t e ru n d e r s t a n dt h er e a l t i m es y s t e m ,a n d v i r t u a l i z a t i o no ft e c h n o l o g yi nt h ee m b e d d e ds y s t e m c u r r e n t l y ,d r o p sn o tf e a s i b l ei n s t a n c eo ft h ei n t e r f a c ec a l l s i no r d e rt oa c h i e v e c o m m u n i c a t i o nb e t w e e n d r o p si no r d e rt oa c h i e v et h ec o m m u n i c a t i o nb e t w e e n i n s t a n c e s ,t h ea u t h o rg i v e sac o m m u n i c a t i o nm o d e lb a s e do nf i f o ,d r o p s ,b e t w e e n i n s t a n c e so ft h em o d e ld a t at h r o u g ht h ef i f ot r a n s f e rt oa c h i e v et h ec o m m u n i c a t i o n 兰州大学硕士学位论文 b e t w e e ni n s t a n c e s i l l u s t r a t e ss e v e r a lo ft h ec o m m o nm e c h a n i s mc a nb ea c h i e v e d f i f o ,a n dt h ee x p e r i m e n th a sn o t h i n gt od ow i t hl o c k i n gm e c h a n i s mi nt h em o d e lt o d oas i m p l ef i f oi m p l e m e n t a t i o na n dt h ea c h i e v e m e n to ft h ef i f ow i t hi n s t a n c e m a d et e s t st op r o v e :f i f os e r v i c ec a nb er e a l i z e di nt h ei n s t a n c eo ft h ed r o p sd a t a e x c h a n g eb e t w e e n a c h i e v et h ep u r p o s eo fc o m m u n i c a t i o n l 0 c km e c h a n i s mu n r e l a t e d t oag o o ds o l u t i o nt ot h ed e a d l o c ka n dp r i o r i t yi n v e r s i o np r o b l e m k e y w o r d s :r e a l - t i m e ,v l r t u a l i z a t i o n ,1 4 ,d r o p s ,f i f o ,u n l o c k 兰州大学硕士学位论文 原创性声明 本人郑重声明:本人所呈交的学位论文,是在导师的指导下独立 进行研究所取得的成果。学位论文中凡引用他人已经发表或未发表的 成果、数据、观点等,均己明确著名出处。除文中已经注明引用的内 容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对 本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式 标明。 本声明的法律责任由本人承担。 论文作者签名:三皇革一一一日期:丝包业一 兰州大学硕士学位论文 关于学位论文使用授权的声明 本人在导师指导下所完成的论文及相关的职务作品,知识产权归 属兰州大学。本人完全了解兰州大学有关保存、使用学位论文的规定, 同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版, 允许论文被查阅和借阅;本人授权兰州大学可以将本学位论文的全部 或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和 汇编本学位论文。本人离校后发表、使用学位论文或与该论文直接相 关的学术论文或成果时,第一署名单位仍然为兰州大学。 保密论文的解密后应遵守此规定。 论文作者签名:率导师签名:喇日期:型竺:圭! z 1 1 1 兰州大学硕士学位论文 1 1 研究现状 第1 章绪论 早期的通用操作系统大多是一体化内核( m o n o l i t h i ck e r n e l ) ,意思是包括存储 管理,文件系统,网络,设备驱动程序以及调度等功能都在内核里面实现。一直 到现在,在服务器和个人计算机中得到广泛使用的操作系统,大都是基于一体化 内核的,如u n i x ,l i n u x ,w i n d o w s 等。随着计算机相关硬件设备的增多和人们 功能需求的增多,操作系统内核支持的硬件以及实现的功能变得越来越多,使得 操作系统变得越来越复杂,而把所有相关功能都放在内核中实现导致内核非常庞 大,内核开发的难度迅速增加,维护起来非常困难,安全性和可靠性根本得不到 保障,内核中某个功能模块出现问题甚至会导致整个系统的瘫痪。 微内核( m i c r o k e r n e l ) 是一个与一体化内核相反的设计理念。在设计微内核的 时候要求:在完成必要工作的前提下使内核精简到最小。把必须要实现的关键功 能放到内核中实现,而把所有非必须的功能模块移出到内核之外来实现,并以服 务的形式存在,这样的设计使内核的代码量大大减小,降低了功能模块之间的耦 合性,内核本身出现问题的概率大大降低,单一功能模块一旦出现问题也不会影 响到内核的正常运行,系统的安全性和可靠性得到有效保障,而且相关功能模块 的开发也变得相对容易。在设计微内核时,那些功能应该保留在内核那些不应该 保留在内核是没有强制规定的,需要考虑其性能和可靠性的平衡。一般情况下, 微内核中仅留以下三种基本功能:地址空间支持( a d d r e s ss p a c es u p p o r t ) ,进程间 通讯( i n t e r p r o c e s sc o m m u n i c a t i o n ,i p c ) 着1 1 进程调度( s c h e d u l i n g ) ,其他的功能模 块都移出到内核之外仅作为用户进程运行,对于内核来说,这些进程和一般用户 进程并没用太大区别,而且都运行在用户空间,并通过i p c 与内核通信。在八十 年代中期,微内核的概念开始变得非常热门。比较典型的第一代微内核操作系统 是m a c h ,它由位于匹兹堡的卡内基梅隆大学( c m u ) 通过修改并精简单一内核设 计实现的。但是第一代微内核操作系统的性能远不及一体化内核操作系统。在九 十年代后期,一些研究人员认真分析了微内核系统性能差于单一内核的原因,并 指出微内核的设计实现是导致微内核性能差的根本问题。为证明这个论点,他们 】 兰州入学硕士学位论文 设计并实现了几个性能上远远超过第一代微内核的操作系统,我们把它们称为第 二代微内核系统,其中一个代表作品就是l 4 1 】【2 1 【3 】1 4 】f 5 l 【6 1 ,是由德国国家信息技术 研究院( g m d ) 在1 9 9 5 年设计的。在设计l 4 的时候,为了实现高性能和灵活性的 要求,微内核必须尽量的小,而且还有一个比较关键的问题,虽然微内核在执行 后可以改善基于其上的操作系统的移植性,但它本身是与硬件密切联系的,依赖 与特点硬件的实现在能保证微内核的高效,因此微内核本身的移植比较困难。 目前,u 已经成为第二代微内核的一个标准,而基于这个标准,有非常多的 l 4a p i 实现【7 1 。其中一个实现就是f i a s c o ,它是由德国德累斯顿大学开发的。为 了强调f i a s c o 跟l 4 之间的这种关系,我们把f i a s c o 一般称驯f i a s c o 。w f i a s c o 是一个具有实时特性的微内核【引。同时l 4 f i a s c o 也是d r o p s 项目的一个核心子 项目,之上的l 4 e n v 提供了很多软件包,以方便基于u 伊i a s c o 的程序设计。现 在的d r o p s 项目已经实现了l 4 f i a s c o 上多个l 4 l i n u x 和其他实例的同时运行, 但是d r o p s 中还没有一个可行的兼容p o s i x 标准的接口供这些应用实例调用 来实现实例之间的相互通信【9 1 ,只能通过直接的i p c 操作与微内核进行通讯。 1 2 研究意义 虚拟机监控器( h y p e r v i s o r ) 是一种虚拟软件,用于对一个计算机硬件平台的虚 拟,又称为v i r t u a lm a c h i n em o n i t o r 或v m m 。当虚拟机监控器应用到一个主机上 时,它允许这个主机同时运行多个操作系统,例如我们在安装好v m w a r e 以后, 我们可以在自己的计算机上同时运行w i n d o w s 和l i n u x 两个操作系统,并且这两 个操作系统之间是相互独立的【1 0 l 。同时,由于近几年计算机硬件的性能有了很 大的提高,使虚拟化技术的实现从理论变成现实,经过从企业服务器到个人电脑, 从个人电脑再到嵌入式系统的过程,虚拟化技术逐渐成熟并得到普遍的应用。从 虚拟化技术的应用过程看出,虚拟化技术已经开始广泛的应用到不同的领域,尤 其在要求嵌入式系统具有比较高的安全可靠性的领域,应用软件通用化的趋势进 一步促进了虚拟化技术在嵌入式系统中的应用。 目前我们使用的嵌入式设备一般都只具备某些特定的单一功能,支持嵌入式 设备的嵌入式系统也相对比较简单。在通常情况下,嵌入式系统主要受到基础硬 件条件约束,例如内存、处理能力等等,小内存限制了系统实现的代码量,c p u 兰州大学硕士学位论文 有限的处理能力也要求在嵌入式系统的代码尽量短小精悍前提下更高效的完成 所需要的功能,即这种约束使得嵌入式系统从而使其在软件的选择上表现出低复 杂性和高性能的特点。嵌入式设备往往还需要考虑供应电量的设备,这也是嵌入 式设备的一大特点,我们无法忍受只能使用一个小时的手机。除了嵌入式领域的 通用要求以外,由于某些应用领域的特殊性,还往往要求嵌入式系统具有实时特 性。 如今的嵌入式系统往往具有很大的封闭性。设备供应商对自己所提供系统中 软件协议栈具有完全的控制权,用户没有对这些软件协议栈的自由修改权利,只 能是被动的使用。设备供应商在其设备出售前把软件协议栈加载到系统中并进行 固化,用户后期的开发和维护离不开设备供应商的支持。虽然通用操作系统有很 多的限制,但是还是具有很多嵌入式系统所不具备的优点,像简单易用、功能齐 全等等。因此,研究嵌入式系统工作时,在不断增强嵌入式系统本身的特点时也 尝试着吸取通用操作系统的某些特点,使嵌入式系统在其原有性能不下降的前提 下功能方面有了很大提高。当嵌入式系统功能增加的时候,系统资源的占用是要 考虑得主要问题,例如,最新a n d r o i d 手机由于其功能的需要,甚至把内存提高到 了5 1 2 m b ,如果在不具备必须硬件的前提下想实现良好的视频效果就不太现实。 为了减少开发过程,很多人开始把早期针对个人计算机开发的软件系统应用到嵌 入式平台上,因为这些软件系统代码简单,功能强大,对硬件的要求也非常低。 作为应用软件的开发者来说,并非所有人都懂得嵌入式丌发技术或很好的利用嵌 入式开发平台所提供的资源进行开发,一旦某种使用新的硬件平台时,开发者还 要学习该平台并针对特定的硬件平台进行应用的开发,导致了人力资源上的浪 费。在这种情况下就需要设计这样一种操作系统:支持多种通用操作系统a p i ; 可以适用于嵌入式。由此可以看出,针对嵌入式系统开发的应用软件有一种通用 化的趋势。因此我们必须要设计这样一种机制或架构来满足多种应用软件在同一 个硬件平台上的运行,通过前面对虚拟机监控器的分析,我们知道很多操作系统 稍作修改甚至不经修改就可以运行在虚拟机监控器上,虚拟机监控器由于其架构 和实现特点非常好的满足了应用的通用化需要,因此虚拟化技术也逐渐被引入到 嵌入式领域中。 由于嵌入式系统的广泛的应用,嵌入式设备逐渐成为我们生活、学习和工作 兰州大学硕士学位论文 中的一部分,我们很难想象离开它们我们应该如何生存,而旦这些系统出现问 题又会给我们带来多大损失。尤其是与个人生命安全和财产安全密切相关的领 域,例如航空航天、医疗、火车、汽车、国防等领域,我们很难想如果神州六号 飞船控制阀门打开的系统出现问题会带来什么样的后果。随着科学的发展,传统 嵌入式系统已经不能满足某些特殊领域的要求,因为它们不仅仅需要满足实时的 需求,而且还应该具有比较高的安全性( 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 ) 。在这些和安全相关的领域中,由于多种原因和实时操作系统的封 闭性,每个系统都限制了自己的运行环境和运行平台,导致他们不能共存或者说 是不能在同一平台运行。因此,在这些安全相关的领域,我们非常的期待一种高 安全性、高稳定性、支持多种实时系统a p i 的面向应用操作系统的软件管理程序 1 1 1 1 1 1 2 1 1 1 3 1 1 1 4 1 。 1 4 作为第二代微内核的代表作品,在性能上远远超过第一代微内核。它的 核心功能是支持一个基于消息传送的i p c 原语,以便在此基础上实现高性能的 r p c 机制。在4 8 6 d x 5 0 上,l 4 实现了一个r p c 调用开销仅用l o p s 。在相同的硬 件平台上,在m a c h 操作系统上一个r p c 的调用开销为2 3 0 t s ,在u n i x 上一个r p c 的调用开销为2 0 比s 。也就是说,l 4 的r p c 比第一代微内核的r p c 快2 0 倍以上,甚 至比传统操作系统的r p c 还要快,很好的实现了进程间的通信,使l 4 满足了系统 实时性能的要求。基于l 4 的开发有很多种,其中一个比较成功的是l 4 厂f i a s c o , l 4 师i a s c o 本身也是一个实时的微内核。而以l 4 f i a s c o 为核心子项目的d r o p s 贝j j 是实时系统和虚拟化技术结合的产物,满足实时系统要求的同时,又采用了虚拟 化技术使多操作系统同时运行在一个硬件平台上,完全适合适用在有应用软件通 用化的嵌入式系统的发展趋势。因此,研究i _ a f i a s c o 和d r o p s 项目是我们以后 能更好的开发设计并使用嵌入式实时操作系统。 本文中研究d r o p s 上的通信机制的主要意义有以下几点:1 ) ,理解l 4 f i a s c o , 使m 伊i a s c o 或者其它的微内核能更快更好的应用到嵌入式实时操作系统中,达到 嵌入式系统安全可靠的目的;2 ) ,理解d r o p s 的架构,使虚拟化技术能更好的应 用到嵌入式实时操作系统中,满足软件应用通用化的趋势:3 1 ,掌握多种策略,并 运用到应用程序的通信当中;4 ) ,d r o p s 本身就是一个实时性与虚拟化结合的操 作系统,研究d r o p s 上的通信机制可以使d r o p s 更快的应用到有高可靠,搞安 4 兰州大学硕士学位论文 全要求的嵌入式实时操作系统领域中,或者是开发具有这类特点的操作系统。 1 3 研究内容 虽然l 4 f i a s c o 不同于通用操作系统,但是其涉及到的很多概念和技术却源 自于传统操作系统领域,只是l 4 f i a s c o 具有自己的特点和技术难点。u 佃i a s c o 是一种安全性高,稳定性好,而且具有实时特点的虚拟机监控器,在洲f i a s c o 系统研究过程中,所涉及的研究方面和内容很多,不仅仅要关注内核之中实现的 功能,还必须了解内核之外实现的功能,像l 4 f i a s c o 之上l 4 e n v 实现的服务 s i g m a 0 ,r o o t t a s k ,e v e n t s ,n a m e s ,d m _ p h y s 等等,方便了基于l 4 f i a s c o 上的应用开发。 d r o p s 是以微内核为基础的实时系统和虚拟化技术的产物,因此,为了研究 l 4 f i a s c o 和d r o p s 项目,要对实时系统和虚拟化技术有充分的了解,这有利于 把实时系统、虚拟化技术和微内核更好更快的应用到嵌入式领域。 本文介绍了实时系统和虚拟化技术架构,并分析了两者的特点以及两者结合 的趋势,重点分析了l 4 f i a s c o 微内核以及以伊i a s c o 为核心子项目的d r o p s 项目。实现了一种基于f i f o 的可以用于d r o p s 中实例间通信的通信模型,并 且给出了实现f i f o 的相关策略,并分析了各自优缺点,选择了锁无关策略来实 现l 4 f i f o ,完成了基于l 4 f i f o 之上的数据交换,实现了d r o p s 项目中多实例 问的相互通信。 1 4 文章结构 本文主要分为6 部分,绪论部分主要分析了微内核以及实时系统和虚拟化技 术的研究现状,说明了研究微内核和虚拟化技术的意义,并简单介绍了本文的研 究内容。 第二章详细介绍了实时系统和虚拟化技术相关的概念以及各自的特点,并且 指出有软件通用化的嵌入式实时操作系统将是发展的趋势。 第三章详细的分析了与实时系统密切相关的l 4 f i a s c o 微内核,以及以 l 4 f i a s c o 为核心子项目的d r o p s 项目,指出d r o p s 现存的问题,并引出本文 f i f o 研究的需求。 第四章主要是l 4 f i f o 的设计和实现,分析了l 4 f i f o 通信模型,l 4 f i f o 实 s 兰州大学硕士学位论文 现所采用的策略,以及详细的代码实现。 第五章是性能测试,简单的配置过程,并对测试结果作了简要的结果分析。 第六章是对本文的总结和展望。 6 兰州大学硕士学位论文 2 1 实时系统 第2 章实时系统和虚拟化技术 我们在日常工作学习环境中接触的大多是通用操作系统,它是由分时操作系 统发展而来。分时操作系统的基本设计原则是:尽量缩短系统的平均响应时间并 提高系统的吞吐率,在单位时间内为尽可能多的用户请求提供服务。由此看出, 分时操作系统注重平均表现性能而不注重个体性能表现。但是随着计算机硬件的 发展以及计算机相关设备的多样化,嵌入式电子设备越来越广泛的应用于日常生 活的各个方面,不同设备对应的任务在实时性上的要求大不相同,传统操作系统 这种致力于系统的平均性能的特点使得它们无法满足某些特定的使用环境,于是 实时操作系统开始发展起来。从早期的小的实时监控程序到现在的可以面向不同 应用的通用实时操作系统,在短短几十年的时间里实时系统的研究取得了非常大 的发展。 实时系统是指能够在指定或确定的时间内完成系统功能,并且对外部或内 部、同步或异步事件做出响应的系统,也泛指可以对系统中的任务做出及时响应 的系统【1 1 】。因此,实时系统必须具有在事先已经定义好的时间范围内识别和处 理事件的能力,并且能对与这些事件相关的数据进行处理和存储,而这些事件的 识别难处往往在于它们比较离散( 也称为离散事件) 。一般情况下,实时系统是 根据系统是否能够保证在限定时间内完成任务分类的,当前主要将实时系统分为 软实时系统( s o f tr e a l t i m e ) 和硬实时( h a r dr e a l t i m e ) 系统两类。软实时系统是 指:系统中的任务只要满足大部分任务在限定的时间内完成,因为某些应用虽然 提出了时问需求,但实时任务偶尔违反这种需求对系统的运行以及环境不会造成 严重影响,限定的时问会根据具体的需要或者设备的不同而定,主要应用在多媒 体等相关领域,如视频点播( v i d e o o n d e m a n d ,v o d ) 系统,系统只需保证绝大 多数情况下视频数据能够及时传输给用户即可,偶尔的数据传输延迟对用户不会 造成很大影响;硬实时系统则是指:系统中的每一项任务都必须在限定的时间内 完成,这类系统一般用在对时间要求特别高的实时控制领域,如航天,核工业等 领域,因为一旦在限定的时间内没有完成任务将会导致非常严重的后果。 7 兰州大学硕士学位论文 2 1 1实时系统架构 目前,实时系统的架构是有很大的不同的,通常基于所使用的内核的不同进 行分类,内核是一个从大小发展的过程,实时系统也是从基于体化内核到微内 核,再到超微内核。下面主要是对这三种内核的简单分析以及基于相应内核的实 时系统架构的特点评述。 一体化内核【1 5 】又称为单一内核或宏内核,基于这种内核的实时系统中,内 核是整个系统的软硬件资源管理者,负责了所有的硬件访问,为用户提供了一系 列的接口,用户通过这些接口或者系统调用来实现对硬件的访问,从而达到操作 硬件的作用。在这种架构的实时系统中,通过内核实现的功能,系统基本上完成 了用户的所有需求,当然用户还可以实现特定的应用程序以满足自己的需求,只 是这些应用程序几乎都是以内核实现的这些功能为基础的,依赖与内核的功能实 现。一体化内核中的功能模块虽然属于不同的服务,但相互之间的耦合性非常高, 这种紧耦合使得一个模块运行时可以很好的得到其他模块的支持,而且这些功能 模块都在内核中实现,运行的时候也处于同一个地址空问:内核空间,因此相互 之间的通信非常方便,同时由于一体化内核的发展时间比较长,它的设计和开发 技术也较为完善,使得一体化内核在运行时的效率非常较高功能也比较全面。但 是由于这种内核模块的高耦合性使得模块之间的依赖性过大,一旦有某一个功能 部分出现问题很容易导致整个内核的崩溃,造成系统的瘫痪。例如“n u x 系统内 核中的某些服务功能就是以模块化的方式实现的,特别是对于设备以及文件系统 的支持方面,使用者可以自主的把这些模块进行独立编译,通过动态载入模块实 现设备的支持,当不需要该设备时只需要卸载掉相应模块,这种动态载入、卸载 的机制使得操作系统可以轻松的完成扩展、升级或者裁剪以适应不同应用的需 求。但由于计算机硬件发展的同新月异,计算机设备的增多以及应用需求的多样 化对系统有了更高的要求,系统要实现的功能也要紧跟着增加,功能的内核集中 实现导致系统内核功能强大的同时设计越来越复杂,内核变得越来越庞大,稳定 性差,理解困难,开发和维护的难度大,像l i n u x 一样,大量的设备驱动代码漏 洞导致内核崩溃,影响了整个系统的稳定性和可靠性。 微内核1 5 1 1 1 6 1 的出现为解决这一问题带来了曙光。第一代微内核是通过精简一 体化内核得到,主要是把内核中一些非必要的服务功能移到内核之外实现在实现 8 兰州人学硕士学侍论文 这种内核的过程中,仅仅保留了原有内核的一些基本功能,包括进程管理和进程 通信等,其它的功能以服务的形式提供给用户。这些服务匣相独立存在于自己的 地址空删,当某一服务发生故障时不会导致内核崩溃不会耽误整个系统的运行。 这种原有内核模块功能以请求服务的方式提供不会因为模块的增加或者模块出 现问题而影响整个内核以及其他不相关模块,埔强了整个系统的稳定性和安全 性。但第一代微内核是通过裁剪一体化内核实现,内核还是保留了很多非必要功 能,面且功能z 间的交互密切耗费了大量的系统资源,i p c 的通信效率非常低f 。 第二代微内桩从根本上解决了微内核性能问题:对微内核进行了重新架构这种 微内核的实现方式提高了系统i p c 的性能,微内核性能有了质的突破,使得微内 核替代一体化内核成为n r 能,而且,近几年微内核在实时系统和虚拟化技术方面 都有相当大的发展,就说明了这个问题。图2 - 1 是一体化内核与微内核架构比较, 从图中我们看到,微内核巾h 是实现了牡本的助能以控制内核的大小和复杂度。 m o n oi t h k e r n e 【 b a s e do p e r a t i n gs y s t e m m 1 r o k e r n e 【 b a s e do p e r a t i n gs y s t e m k n e b “l m “n m d r y u i 墨厂1 墨_ 图2 - i拨和- 体化内梭系统桨构比较 超微内核( n a n o k e r n e 】) i 昱】l l i 可以_ ? 子作足微内核韵个进阶版本,魁对内核 大小和复杂度进步的控制和精简,在内枝中仅汉实现了最基奉mj j 能,上掉了 某哇微内核依然保甜的功能。山f 超微山核并非小文重点,币 1 ;多迹。 2 1 上实时系统调度 实时系统只有实时性和预测性的特r 一,为了满足法特j 1 ,系统必须枯确管理 系统的时“资源,j f g j 寅时凋度技术对仟务进行分析和调度以达到系统实现功 能的例时也满足了任务的及时响应。 f 务洲度技术【2 0 i 包括任务使用系统资源 兰州大学硕士学位论文 的策略和机制,以及提供系统性能是否可预测的方法和手段。其中的资源包括 c p u 可以是c p u 、内存,也可以是i 0 或者网络等,我们要确定任务能否被执行,。 什么时候运行,运行多长时间等。也就是说,在给定的一组任务和系统资源情况 下,采用特定的策略和机制以确定任务何时何地执行的过程就是调度。在非实时 系统中,调度的目的主要是缩短系统平均响应时间,提高系统资源的利用率;在 实时系统中,调度的目的是尽可能地保证每个任务在时间约束内得到响应,及时 处理外部事件。实时调度技术是具有不同的划分方式的,根据任务之间是否可以 抢占分为抢占式调度和非抢占式调度,根据任务调度是否固定分为者静态表驱动 策略和优先级驱动策略。 抢占式调度和非抢占式调度 采用抢占式调度的系统中允许正在执行的任务被其他任务中断。在抢占式调 度系统中,每个任务都具有一定的优先级,根据调度算法的不同这个优先级可以 固定不变的也可以动态设定的,即既可以是静态的也可以动态的。在采用抢占调 度的系统中,系统当前执行的任务一定是就绪任务中优先级最高的。当一个新的 任务处于就绪队列时,如果它比当前执行任务的优先级低,则会添加直接添加到 就绪队列中,不会对当前任务产生影响;如果它比当前正在执行的任务的优先级 高,那么系统会把当前正在执行的任务挂起,优先执行这个就绪的高优先级任务。 抢占式调度的优点是能及时处理高优先级任务,以保证高优先级任务在时间约束 内得以响应,实时性能好;缺点是当有多个不同优先级的任务请求时,一旦是经 常性的后请求任务优先级高,可能造成高优先级任务执行而低优先级任务挂起的 现象频繁发生,造成任务切换频率过大,任务响应延迟,降低了系统的性能。 采用非抢占式调度的系统中不允许任务在执行的时候被中断,当一个任务处 于执行状态时,不管新就绪任务的优先级有多高,处于执行状态的任务都不能被 系统挂起。非抢占式调度的优点是避免了任务的频繁切换;缺点是不能及时处理 高优先级的任务,影响了系统的实时性能,甚至降低t c p u 以及其他系统资源的 利用率。 静态表驱动策略和优先级驱动策略 静态表驱动策略是指在系统运行之前就已经给任务生成了张调度表,每个 任务都对应表中的某一记录,在该表中系统的每个任务的运行起始时刻和运行时 l o 兰州大学硕士学位论文 间都是确定的,这张表主要是依照系统中任务的约束关系和某种策略生成的,这 种策略是一种离线调度策略。静态表驱动策略的优点是整个系统的运行状态都是 可知的,增强了整个系统的可靠性;缺点是生成静态表格的算法几乎决定了整个 系统的性能,而且不一定存在这种对所有任务都适合的调度。 优先级驱动策略是指根据特定条件给系统中的每个任务指定优先级别,然后 系统会按照任务的优先级别高低来决定就绪任务队列中任务的执行顺序和执行 时间长短。这些条件一般指系统任务的重要程度以及对响应时间的要求。我们对 优先级驱动策略又做了进一步的划分,依据优先级是否可以改变,把优先级驱动 策略分为静态优先级调度和动态优先级调度两种。在系统运行之前已经对任务指 定了一个优先级,如果采用静态优先级调度,则代表任务优先级的数值以后是不 能被改变的,它已经是一个定值了;如果采用的是动态优先级调度,那么当又特 别需要时,代表任务优先级的值是可以被修改的,也就是说它的数值其实是动态 的。优先级驱动策略优点是不用预先知道系统中所有任务的需求,使得系统的应 用更为灵活;缺点是这种调度策略存在着一个严重的问题:优先级倒置。当一个 低优先级任务占用某个或者多个临界资源的时候,有可能会阻塞一个高优先级的 任务。 2 1 3实时系统特点 由于实时系统广泛的应用于嵌入式系统当中,通常也把应用到嵌入式领域的 实时系统称为嵌入式实时系统,越来越多的领域要求嵌入式系统具有非常好实时 性能,使嵌入式实时系统的应用成为一种发展趋势。详细地了解实时系统的特点 能使设计人员更好的在嵌入式领域开发嵌入式实时系统。实时系统具以下特点: 时间约束性。实时系统中的任务具有一定的时问约束,这是实时系统最 基本也是最大的特点,不管是软实时系统还是硬实时系统,都对系统中的任 务做了时问约束,只不过时间约束的限制不同,硬实时系统对任务的时间约 束比较严格。 可预测性。可预测性是指系统能够对系统中实时任务的执行时间及长短 进行判断,并以此作为实时任务的时限要求。除了要求硬件延迟的可预测性, 还要求软件系统的可预测性,以及操作系统的可预测性,硬件可预测性不做 多述,软件系统的可预测性包括应用程序的响应时间和执行时间是可预测 】1 兰州大学硕士学位论文 的,操作系统的可预测性指即时原语、调度函数等运行开销应该是有界的。 由于实时系统中实时任务具有非常严格的时间约束,因此可预测性成为了实 时系统的一项非常重要的性能要求。 可靠性。实时系统通常还有可靠性的特点,在一些重要的实时应用中, 任何不可靠因素导致的故障或某些特定硬实时任务没有在时间约束内得到 响应,都能引起非常严重的后果。因此系统往往具有一定的鲁棒性、可靠性, 系统要能够在最坏的情况下继续工作或者尽量避免损失。 交互作用性。嵌入式设备不管应用于何种领域,通常都是在一定的环境 下完成某一特定功能。外部环境是实时系统不可缺少的一个组成部分,嵌入 式系统是控制系统,外部环境是被控制系统,两者相互作用构成一个完整的 实时控制系统,而系统必须在规定的时间内对外部环境做出响应。大多数控 制子系统必须能连续运作以保证设备的正常工作,而且必须提供交互接口以 便控制设备和对任何异常行为采取补救等。 约束的复杂性。目前的实时系统不光对任务有时间约束,还包括资源约 束、执行顺序约束和性能约束。资源约束指多个实时任务共享有限的资源时, 必须按照一定的资源访问控制协议进行同步,以避免死锁和优先级倒置。执 行顺序约束是任务的启动和执行必须满足一定的时间和顺序。性能约束是指 必须满足如可靠性、可用性、可预测性和服务质量等性能指标。因此,实时 系统必须要考虑这些复杂的约束。 短时超载。在实时系统中,即使系统功能设计合理和资源充足,也会因 为实时任务需求出现超载现象,因此实时系统往往具有一定的短时超载能 力。 2 2 虚拟化技术 虚拟化( v i n u a l i z a t i 彻) 技术最早出现在2 0 世幺己6 0 年代i b m 的大型机系统中, 并在7 0 年代的s y s t e m 3 7 0 系列中逐渐流行,这些机器通过一种虚拟机监控器的 程序在物理硬件上生成许多可以运行操作系统软件的虚拟机实例。也就是说,它 其实是一种方法和过程,是对计算机硬件资源的抽象化【2 1 1 【2 2 1 ,而提供这种抽象 的软件就是虚拟机监控器。随着多核系统、集群、网格以及云计算的广泛部署, 兰州大学硕士学位论文 虚拟化技术在商业上应用上具有日益明显的优势,该技术不仅降低了r r 成本, 同时还增强了系统的安全性和可靠性。 虚拟化是对计算机硬件资源的抽象,而不仅仅局限于虚拟机的概念,例如物 理内存的抽象,利用虚拟内存技术使得应用程序可以认为自己拥有的地址空间是 连续的,可以进行连续地址的操作,并不需要了解物理地址是否连续,而实际上 应用程序的代码和数据可能存在于内存中离散的位置,甚至不在内存中,但这并 不影响程序的正常执行。尤其需要指出的是,嵌入式系统应用软件通用化趋势要 求系统在不同硬件平台上的运行,这就进一步促使了虚拟化技术在嵌入式系统上 的应用和发展。 2 2 1虚拟机监控器架构 通过上述对虚拟化技术的了解,我们知道虚拟化技术实现的核心问题是虚 拟机监控器,它负责整个硬件平台的抽象,并给上层操作系统提供了一系列的硬 件相关的接口,这些抽象出来的接口非常类似真实物理硬件的接口,包括c p u , 内存,i o 设备等,对这些模拟接口的操作能真正的反映到物理层,操作系统只 需要对这些接口进行相关的操作,就可以达到访问物理硬件得目的,并不需要了 解具体实现,在基于虚拟机监控器的系统中,多个操作系统可以同时的独立运行 在虚拟机监控器之上,而且相互
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论