已阅读5页,还剩47页未读, 继续免费阅读
(计算机软件与理论专业论文)实时操作系统ipc研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 实时操作系统( r t o s ) 作为嵌入式系统的核心,对嵌入式系统有举足轻重的意 义。随着嵌入式系统的广泛应用,r t o s 的研究和发展也日益重要起来。 触 r s o s 是一个借鉴国内外r t o s 技术自行开发的实时操作系统,在此基础上, 阐述了实时操作系统的体系结构,分析了流行的微内核结构的主要特点,提出了改造 微内核结构的方案1 通过对r t o s 体系结构的研究,指出进程间通信( i e c ) 在r t o s 中的地位和作用, 重点分析了i p c 中的消息通信机制,在研究了微内核结构r t o s 中影响消息传递性 能的各种因素后,提出一种改进的消息实现方法,该方法改变了消息队列的存储结 构,从系统中申请一块区域作为消息队列的存放空闯,并把该空间联接到需要传递 消息的任务,减少了内存间的复制,提高了消息的传递效率,并对这种消息机制的 性能、同步性、安全性进行分析。 对于信号量通信机制,主要论述了优先级颠倒的问题,介绍了常见的解决优先级 颠倒的方法:优先级继承同时介绍了一种改进的p c p ( p r i o r i t yc e i l i n gp r o t o c 0 1 ) 机制策 略。对于信号机制,主要分析了信号的实时性的不足并提出改造的方案,提出了信 号队列的概念,解决了信号无法装载实时信息的问题对于内存共享,对内存共享的 储存结构提出了一种改造方案,把共享的内存从用户空间转移到系统空间,从而提 高内存共享的执行性能对于管道,分析了管道的实现过程,并提出了管道的不足。 在研究了i p c 各种机制和分析了目前一些流行的i p c 新技术的基础上,努力 尝试对各种i p c 机制发展和方向作进一步有益的探讨。 关键词:实时操作系统;微高寝;进程间通信: 聪;信号量:优先级颠倒 优先级继承 华中科技大学硕士学位论文 a b s t r a c t a sk e m e lo ft h ee m b e d d e ds y s t e m ,r t o sp l a ya ni m p o r tp a r ti nt h ee m b e d d e d s y s t e m w i t h t h ed e v e l o p m e n to f t h ee m b e d d e d s y s t e m , t h e r e a s e a r c ha n d d e v e l o p e m e n to f r t o sb e c o m em o r ea n dm o r ei m p o r t a r t s o si so n ek i n do fr t o sd e v e l o p e db yo u r s e l v e s , t h es y s t e mu s es o m en e w t e c h n i q u e so fr t o sf o r r e f e r e n c e b a s e do na r t s o s ,w et a l ka b o u tt h es t r u c t u r eo f r t o s ,a n a l y z e t h ec h a m c t e r i s t i c so fm i c r o k e r n e ls t r u c t u r ea n d b r i n gf o r w a r do n es c h e m e o f i m p r o v i n g t h ep e r f o r m a n c eo f r n i c r o k e r n e ls t r u c t u r e w ek n o wt h a ti p ci so n ei m p o r tc o m p o n e n to fr t o s i nt h i sp a p e r , t h em e s s a g e p a s s i n g i s e m p h a s i z e d a so n eo ft h ei p cm e c h a n i s m s b yr e s e a r c h i n ga l lf a c t o r so f a f f e c t i n g t h e p e r f o r m a n c e o f m e s s a g e - p a s s i n g ,a n e wi m p r o v e dm e t h o di s b r o u g h t f o r e w o r dw h i c h c h a n g e t h e s t o r a g e - s t r u c t u r e o f m e s s a g eq u e u e i t i m p r o v e t h e p e r f o r m a n c e o f m e s s a g e p a s s i n gg r e a t l y ,t h e n w ed i s c u s st h e e f f i c i e n c y 、 s y n c h r o n i z a t i o n 、s e c u r i t yo f t h en e w m e c h a n i s m t h e p a p e rm a i n l y d i s c u s st h e q u e s t i o no f t h e p d o f i t y i n v e r s i o na n di n t r o d u c ean e w p o l i c y w h i c h s o l v i n g t h e p r i o r i t y i n v e r s i o n a tl a s t , t h e p a p e rr e s e a r c h t h eo t h e r m e c h a n i s ms u c ha ss i g r l a j ,m e m o r y s h a r e 、p i p e t o d i s o l v e t h e q u e s t i o n t h a t t h e t r a d i t i o n a l s i g n a lc a n n o tl o a dt h er e a l - t i m ei n f o r m a t i o n , t h en o t i o no fs i g n a lq u e u ei sb r i n go u t t o i m p r o v e t h ep e r f o r m a n c ei m p r o v e m e n to f m e m o r ys h a r e ,t h el o c a t i o no ft h em e m o r yo f s h a r i n gi sm o v e d f r o mu s e rs p a c et ok e r n e ls p a c e t h ed i s a d v a n t a g e so f p i p ea l ei n d i c a t e d t h r o u g ha n a l y z i n gt h e r e a l i z a t i o n o f p i p e t h ep a p e rr e s e a r c ht h ei m p l e m e n ta n dc h a r a c t e r i s t i c so fi p cc o m p o n e n t sa n d a n a l y z es o m ep o p u l a rt e c h n i q u e s t h em a i np u r p o s eo f t h ep a p e ri st r y i n gt oe x p l o r et h e k n o w l e d g e o f a c a d e m i cf o r e l a n da b o u ti p c k e y w o r d s :r t o s ;m i c r o k e r n e l ;e m b e d d e ds y s t e m ;i n t e r - p m c e s sc o m m u n i c a t i o n ; m e s s a g e ;p r i o r i t yi n v e r s i o n ;p r i o r i t yi n h e r i t a n c e i l r 产 华q - 科技大学硕士学位论文 1 绪论 实时操作系统( r t o s ) 是计算机科学的重要方向之一,目前国内外研究的热 点是嵌入式系统,而嵌入式系统的灵魂就是r t o s 。研制出可预测、实时性强、可 靠性高并且易于移植的r t o s 成为当前计算机科学的一个重要前沿。 对于一个实时操作系统来说,进程间通信凹c ) 是重要的组成部分,它的性能 是r t o s 性能的重要参数志。特别是对于基于微内核结构的实时操作系统来说,i p c 是核内和核外的联系纽带,调用非常频繁。它的性能甚至决定了基于微内核的实时 操作系统的性能。 因此,对 p c 机制的研究和发展对提高实时操作系统的扩展性、性能、稳定性 各方面都有非常大的意义。论文将借鉴现有r t o s 的已经发展的技术和理论成果, 对实时操作系统中i p c 模块进行全面的分析和探讨。 1 1r t - o s 的研究概况 1 1 1 各种r t o s 的简介 目前,国内外有形形色色上百个r t o s ,有的开发的很早,有的目前非常流行, 有的是中国自己设计开发的,还有的提供操作系统的源代码。下面是几个代表性的 r t o s : 1 国外部分 c m xr 1 的s 是一个多任务实时内核【l l ,主要应用于8 位以及1 6 位的单片机应 用场合。c m x 以c 编写,而且提供了一系列的内核服务方便用户编程。c m x 实 时内核具有重新配置( 可裁减) 功能,用户可以根据应用的实际要求在系统中只包 含必要的内核服务。c m x 提供了一个操作系统内核和一系列函数调用。这内核可 以完成对任务的控制、发送和接收消息、处理事件、控制资源、用不同方法控制定 时、提供内存管理、任务切换和中断。c m x 还提供了p c 机上的程序开发平台 p c p r o t o ,可以在p c 机上实现快速的应用开发。 l y m x o s 是老牌嵌入式操作系统1 2 1 ,它具有u n i x 兼容,符合p o s x 标准,支持 华中科技大学硕士学位论文 多任务和多线程等特性,是专为要求快速、确定响应的复杂的实时应用设计的操作 系统。l y n x o s 内核尤其为硬实时应用作了专门设计。l y n x o s 在1 9 8 8 年发布第一 个版本,目前的版本有优先抢占,重定位性,紧凑性的特性,其内部实现模块化, 具有可伸缩性和配置性。最小应用时,l y n x o s 可仅使用内核和应用相连接形成r o m 映象文件。完全应用时,l y n x o s 具有由一系列软件开发工具组成完整的自主调试 环境,它包含i n 兼容的软件工具,工业标准的网络,图形用户接口和与u n i x 相似的分级文件系统。 q n x 是x 8 6 上最好的嵌入式操作系统【3 l ,其独特的微内核和消息传递结构为 运行和开发期间提供了丰富的优点。更多的功能更少的存储,它具有下列特性: ( 1 ) 完全可伸缩性 作为真正的微内核,q n x 具有完全的可伸缩性,可以在很宽广的领域( 从消费 电子产品到工业控制系统) 使用它。 ( 2 ) 高性能 它以消息传递作为所有操作系统服务的基础,使上下文切换时间很严格, 在保持全部真正微内核设计的固有优点的同时,q n x 比传统内核结构更迅 速发布系统服务。 ( 3 ) 健壮和可靠性 在充分的利用x 8 6 芯片上的m m u 后,q n x 通过其独特的结构就可以提供 非常高的可靠性。 ( 4 ) 严格的忠实于标准 它在符合p o s i x 外,q n x 为w m 3 2 ,微软新c i f s 协议和其她些提供移 植工具,并且支持最新的p c 硬件。 ( 5 ) 网络透明度 q n x 比t c p i p 或其他的传统性的网络服务提供更高的网络透明度。实际 上,q n x 将整个l a n 改变为单一逻辑机器。 p s o ss y s t e m 是一个完全可扩展的嵌入式实时操作系统m ,它包含单处理器支 持模块( p s o s + ) ,多处理器支持模块0 s o s + m ) ,文件管理器模块( p 甑e ) ,t c p i p 通 讯包q n a ) ,流式通讯模块( 0 p e ,图形界面,j a 、,a ,h t l 甲等。p s o s y s t e m 功能 2 华中科技大学硕士学位论文 模块完全独立,开发者可根据应用要求扩展系统功能和存储容量ap s o s y s t e m 的主 要缺点在于其上下文切换时间长,实时性不强,采用的集成开发环境s n i f f + 与产品 兼容性不好,部分关键功能无法使用。 在文献【5 1 中提到:v x w o r k s 是一个运行在目标机上的高性能、可裁减的嵌入式 实时操作系统。它以其良好的可靠性和卓越的实时i 生被广泛地应用在通信、军事、 航空、航天等高精尖技术及实时性要求极高的领域中。它是微内核结构( 最小结构 8 k b ) ,具有微秒中断处理的能力,具有高效的任务管理,支持多处理器,它符合 p o s i x1 0 0 3 1 b 实时扩展标准,满足t c p i p 网络标准,具有灵活的从r o m 、磁盘 或网络的引导能力,还有快速、灵活的i o 系统以及灵活的进程间通信,支持 m s d o s 和r t 11 文件系统,完全符合a n s ic 标准,多于11 0 0 种功能例程。 在文献1 6 1 提到:r tl i n u x 是能够提供实时功能的l j n u x 操作系统,r t _ l i n u x 实现了一个小巧的实时内核以代替l i n u x 的核心,在同个操作系统中既提供严 格意义上的实时服务,又提供所有的标准p o s i x 服务。r t l i n u x 的优点在于: 与l i n u x 一样,r tl i n u x 是开放源码的操作系统,使用者可以根据自己的需要进 行修改,这是很多程序员所期望的。开放源码的另一个好处就是:使用者可以借助 r tl i n u x 众多的网上资源和在线开发者,方便的获得所需要的技术支持。r tl i n u x 享用l i n u x 提供的服务,l i n u x 的程序员可以很快的熟悉其运行环境,掌握其开发 工具。 w i n d o w sc e 由微软公司开发研制的,是代表性的有桌面操作系统演变而成的 实时嵌入式操作系统1 7 1 ,在技术角度上,它并不算是一个优秀的r t o s ,首先它很 难实现产品的定制,其次它占用过多的r a m 而且不具备真正的实时性能,没有足 够的多任务支持能力。值得一提的是,微软公司推出的w 协c e3 0 已在系统实时 性、多任务管理、中断嵌套、优先级到置处理方面有了较大的改进。 2 国内部分 国内r t o s 的研究也开始发展起来, 集团自主研制开发的嵌入式操作系统口i , 作为代表性的r t o s ,h o p e no s 是凯思 由一个体积很小的内核及一些可以根据需 要进行定制的系统模块组成。其核心h o p e nk e r n e l 一般为1 0 k b 左右大小,占用 空间小,并具有实时、多任务、多线程的系统特征。使用者可以很容易地对这一 华中科技大学硕士学位论文 操作系统进行定制或作适当开发,h o p e n 操作系统是一种运行在3 2 位微处理器上 的实时多任务操作系统。它采用与众不同的设计思路,实现的是一个极为灵活方便、 可按照需要随意裁减或作适当开发的系统。它拥有以下特色:微内核结构设计、高 实时性操作系统、友好的图形用户接口、易于开发设备驱动程序、全面支持汉字、 开放性和可伸缩性、支持多种c p u 、系统开销小、网络支持。 1 1 2r t o s 研究的基本方向 国内外r t o s 研究方向主要集中在如下几个方面: 1 r t o s 的标准化研究 如今国外的r t o s 开发商有数十家,提供了上百个r t o s ,它们各具特色。但 这也给应用开发者带来难题,首先是应用代码的重用性难,当选择不同的r t o s 开 发时,不能保护用户已有的软件投资,r t o s 的标准化研究越来越被重视。美国i e e e 协会在u n i x 的基础上,制定了实时u n i x 系统的标准p o s i x1 0 0 1 4 系列协议f ”, 但仍有许多工作还待完成。 2 多处理器结构r t o s 、分布式实时操作系统和实时网络的研究 实时应用的飞速发展,对r t o s 的性能提出了更高的要求0 l 。单处理器的计算 机系统已不能很好地满足某些复杂实时应用系统的需要,开发支持多处理器结构的 r t o s 已成为发展方向,这方面比较成功的系统有p s o s + m 等。至于分布式r t o s , 国外一些r t o s 厂家虽已推出部分产品,如q n x 、c h o r u s 、p l a n9 等,但分布式实 时操作系统的研究还未完全成熟,特别是在网络实时性和多处理器间任务调度算法 上还需进一步研究。 3 集成的开放式实时系统开发环境的研究 r t o s 研究的另一个重要方向是集成开发环境的研究】。开发实时应用系统, 只有r t o s 是不够的,需要集编辑、编译、调试、模拟仿真等功能为一体的集成开 发环境的支持。开发环境的研究还包括网络上多主机间协作开发与调试应用技术的 研究、r t o s 与环境的无缝连接技术等。 华中科技大学硕士学位论文 1 2 实时操作系统的特性 实时系统是对外来事件在限定时间内能作出反应的系统。这类系统总是嵌入在 一个大环境中,即嵌入在所谓宿主系统中,因此实时系统一般也是嵌入式系统 f e m b e d d e d s y s t e m ) 。实时系统可分为实时事务处理系统和实时控制系统两大类,前 者的大量工作是进行事务处理,对时间有一定的要求,响应时间一般不是很急,如 银行业务。而后者要求对外部事件作出快速确定的反应,否则可能导致灾难性后果, 如飞行器控制系统。在实时系统中起核心作用的是实时操作系统( r t o s ) ,它象是 人的中枢神经系统,控制、管理着实时系统的正常工作。按照对外部事件响应时间 不同,实时操作系统也分为弱实时操作系统和强实时操作系统,弱r t o s 的系统响 应时间以秒来刻化,而强r t o s 的系统响应时间一般为几十微秒到几十毫秒。对于 通用操作系统,其目的是方便用户管理计算机资源,追求系统资源最大利用率,而 实时操作系统在进行资源管理的同时,还必须具备r t o s 的特点:实时性与可确定 性、高可靠性、灵活性及并发性m 1 。 1 实时性和可确定性( p r o m p t n e s sa n dp r e d i c t a b i l i t y ) 即系统对外部事件的应速度快,且响应时间可确定。只有r t o s 在时间上对外 部事件的响应是可确定的,才能保证实时系统设计的时限要求。 2 可靠陛( r e l i a b i l i t y ) r t o s 因其应用环境特性的需要,要求有很高的可靠性,故在r t o s 的设计时, 强调应有多级的故障检测机制和恢复方法。 3 灵活性( f l e x i b i l i t y ) 实时系统的应用领域很广,r t o s 必须具有相当大的灵活性,以适应不同系统 的需要。灵活性主要体现在r t o s 的可剪裁。陛( s c a l a b i l i t y ) 、可配制。l 生( c o n f i g u r a b i l i t y ) 等方面,以便实时操作系统能以最佳方式适应各种系统的需求。 1 3 微内核结构 所谓微内核技术,就是把操作系统最基本的功能放在一个小核心中实现,其它 功能尽量放在核心态以外的用户态( u s e rm o d e ) 实现m i 。内核中尽量避免制定固定的 策略,但向用户提供基本机制和抽象对象。基于微内核的特征操作系统就是在微内 华中科技大学硕士学位论文 核上利用微内核提供的基本功能,在用户态空间实现操作系统的各种特征,完成原 内核的所有功能,使原操作系统的应用程序不作任何修改就可以运行在新的操作系 统上。微内核结构如图1 1 所示。 图1 i 微内核结构不意图 微内核体系结构大大提高了嵌入式操作系统的模块化程序,使系统更加容易被 裁剪和扩充,因为操作系统的裁剪和扩充工作已经成为服务器任务的删除和添加。 同时,由于操作系统中与硬件有关的细节都包含在小小的微内核中,这样整个操作 系统很容易实现c p u 之间的移植。此外,服务器任务作为用户态任务运行,有自 己的内存保护空间,以标准的 p c 方式通信,一个服务器出错,不会导致整个系统 的瘫痪,加强了操作系统强壮性。微内核的体系结构还使用户只需要通过增加服务 器就可以对操作系统进行扩展,并且不影响原系统的可靠性。最后,这种体系结构 还适合应用于多处理机和分布式系统。但微内核结构在带来了操作系统高灵活性和 扩展性的同时,也带来了操作系统性能的降低i 。 1 4 实时操作系统的i p c 要研究 p c ,必须要从其外部结构和内部结构两个方面同时进行,才能对i p c 进行比较清晰的了解和分析,因为 p c 不能脱离实时操作系统而存在,i p c 作为 r t o s 的一个部件,是为r t o s 的总体目标服务的。因此,在下面两个领域,成为 了国内外口c 研究的焦点。 6 华中科技大学硕士学位论文 1 实时操作系统的结构 采用不同的系统结构,对i p c 的影响是巨大的,从原来的单一内核到现在的微 内核结构,1 p c 的具体实现和对系统的影响也是不一样的。关于实时操作系统的内 部结构,有很多文献做出了探讨6 川”。 2 i p c 模块的内部结构 在i p c 内部的实现机制上,由于微内核结构的特殊性,消息机制的研究和发展 成为很多实时系统的重点研究对象【1 9 l ,重点研究了消息的效率、功能等方面的内容, 在如何解决信号量的优先级颠倒的策略上,也有很多论文做了进一步的探讨,做出 了有益的研究工作 2 0 2 1 , 2 2 , 2 3 1 ,另外,在文献 2 4 , 2 5 , 2 6 , 2 7 1 中,还做了很多工作,指出了信 号在实时操作系统中的不足之处,并对这些不足之处进行了实时胜的改造工作,以 适应实时操作系统的实时特性。 1 5 本课题的主要研究内容 本课题研究得到自然科学基金( 6 0 0 7 3 0 4 5 ) 和国防预研基金( 0 0 8 5 3 3 j w 0 5 2 9 ) 的资助,主要通过对现有的r t o s 进行理论分析和探讨,借鉴现有r t o s 的优势和理 论成果,对实时操作系统进行全面的分析和探讨。 1 实时操作系统结构分析 第二章将首先介绍了实时操作系统目前流行的微内核系统结构,并进一步分析 和讨论微内核结构的内部特征。接着探讨了i p c 模块在微内核结构中的重要地位, 同时指出了i p c 模块需要改进和扩充的的重要性和必要性。 2 消息机制的研究 本文将在第三章本章将对实时操作系统的消息机制分析,在分析消息机制现有 的很多新技术的优点的基础上,针对微内核结构的特点,提出一种改进的消息实现 和发送接受机制,在保持微内核结构原有的优点上,提高消息机制的效率,从而提 高整个系统的效率。 3 信号量的研究 本文将在第四章首先介绍信号量的实现过程和算法,指出了优先级颠倒的原因 和后果,并且在分析了原有的优先级继承的基础上,介绍了种改进的解决优先级 华中科技大学硕士学位论文 颠倒的p c p 策略,最后介绍了信号量的删除安全和递归的特性。 4 其它i p c 机制的研究 本文将在第五章介绍其他几种常见的i p c 机制:信号、内存共享以及管道, 并且根据其机制的实现过程,重点讨论了加强信号的实时性,在内存共享方面,对 提高其效率和性能做出了一种探讨。在最后,指出了管道的不足。 华中科技大学硕士学位论文 2a r t s o s 的i p c 设计 2 1a r t s o s 的总体结构 实时操作系统是对外来事件在限定时间内能作出及时反应的操作系统,它可以 分为弱实时操作系统和强实时操作系统。实时操作系统在进行资源管理的同时,必 须具备:实时性与可确定性、高可靠性、灵活性及并发性。如何提高r t o s 的实时 特性,这是系统设计的最重要的课题。我们自主开发的嵌入式时实时操作系统 a r t s o s 是基于微内核的,设计的目标是改进r t o s 的实时眭和提高r t o s 的性 能。参照国内外的研究成果,课题组设计了a r t s o s 的系统结构,核内只有最基 本的三个功能模块:任务管理、基本内存管理、进程间通信。整个系统结构如图2 1 所示。 图2 1a r t s o s 总体结构图 其中,任务管理负责任务线程的创建和退出及其相关信息如调度优先级、上 下文信息、时间属性、标识和状态信息、任务线程间父子关系信息的管理。调度 器负责维护线程有关的调度信息如调度优先级和时间片,并对调度队列进行操作从 而实现线程状态的转换。中断管理和时钟管理负责实现中断处理例程包括中断进入 华中科技大学硕士学位论文 和返回处理,以及提供用户级中断处理程序挂接服务和时钟中断及定时器的相关管 理。内存管理负责对整个系统物理内存进行管理,包括内存空间的分配和释放( 包 括保护权限的维护) 以及逻辑地址到物理地址的映射。而通信同步管理则提供了 任务间的交互方式,如提供任务问的消息通信、信号实现、信号量等。 2 2a r l r s o s 对微内核结构的改进 2 2 1a r t s o s 对性能的改进 在a r t s 。o s 中,对微内核结构性能的改进是从以下几个方面考虑的: 1 a r t s o s 的i p c 的性能改进 决定微内核操作系统性能的最主要因素是i p c 的开销,因此性能的改进主要是 围绕1 p c 而进行。a r t s o s 的 p c 主要是通过消息机制来实现,通过对消息机制的 改进则可以降低i p c 的通信代价。消息长度是影响消息传递代价的重要因素,消息 的发送和接受,需要把消息内容在内存之间进行复制,这种内存之间复制很影响性 能,因此在在a r t s o s 设计i p c 时,尽可能的减少传递消息的长度,传输低数量级的 消息( 轻量级消息) 本身就意味着低的通信的代价,。a r t s o s 的i p c 还设置消息 的优先级,优先高优先级消息的传送和处理。 2 a r t s o s 任务的调度策略的改进 除了在消息机制进行改进以提高微内核操作系统的性能外,a r t s o s 还改进任 务线程的调度策略来提高操作系统的性能。其实现方法有两种: ( 1 ) 对请求任务来说,发送请求消息按照优先级进行,而服务器任务则根据接 受到的消息优先级来安排执行顺序,也就是服务器实现优先级的“消息驱动”。同 时,当有高优先级的任务阻塞在忙碌的服务器上时,服务器任务就会提高自己的优 先级,从而原来正在得到服务的低优先级的任务就不能请求优先级已经高于自己的 服务器任务,只能放弃正在进行的请求,高优先级任务就可以立刻得到所要的服务, 实现高优先级任务的抢先式服务。 ( 2 ) 还有一种方法是a r t s o s 采用了“惰性调度”策略。传统的i p c 实现时, 由于会引起重新调度,因此需要更新任务线程的调度队列。由于微内核体系结构 o 华中科技大学硕士学位论文 中i p c 十分频繁,因此任务线程调度队列的更新也是影响性能的一个因素。“惰性 调度”就是直到任务线程队列被查询时才对它们进行更新。在实现时可以在任务 线程控制块设置特殊标志位当进行队列查询时,根据标志位将需要移动的任务 线程更新到相应的队列中。这种调度策略虽然有时会造成大量的队列操作,但从整 体上来说,能提高操作系统的性能。 2 2 2a r t s o s 对扩展性的改进 微内核操作系统的扩展会引起性能的下降,从而限制了微内核原本结构上优越 的扩展性的利用,因此以微内核为基础的扩展在实现上需要综合对性能的考虑。 a r t s o s 借鉴了s p i n 系统中采用的方法来分折微内核扩展性的改进。s p i n 使用 语言和链接机制来动态实现微内核服务功能的动态扩展口i ,a r t s o s 为实现了一 个细粒度的、易裁剪的操作系统界面。操作系统的扩展部分被内核的编译器翻译后 动态的链接到内核中,在内核的虚拟地址空间中执行。同时,在具体实现时,为了 确保用户代码的安全性,a r t s o s 使用了安全型的语言:m o d u l a 3 。内核中的编译 器对m o d u l a - 3 代码进行静态分析,同时插入运行时检查代码,从而保证了编译后 的代码不会破坏内核的完整性,也不会和其他模块或用户级的代码冲突。a r t s o s 的内核提供了一套用于内存和处理器资源管理的核心服务,内核的扩展模块可以使 用这些服务来实现任意的计算。a r t s o s 这种动态下载代码的形式,给实现微内 核的扩展性提供了良好的思路。在设计a r t s o s 时,采用了这种动态下载代码的方 法来解决微内核扩展性和性能之间的矛盾,但同时也考虑到它的负面影响,a r t s o s 采取一定的措旌,例如将编译器移到内核外部,为编译代码建立缓存等。 2 2 3a r t s o s 对资源管理的改进 a r t s o s 在微内核提供的接口之上提供一个相对通用的应用公共库,供大多 数真正的应用程序调用显得很有必要。在公共库中实现虚拟内存、文件系统、网络、 壬务等等。这样用户就可以以在待统操作系统中使用的方式在此公共库的上层实现 应用,将大大加快开发的速度,这正是嵌入式应用设计者愿意看到的,但要强凋的是, 华中科技大学硕士学位论文 该公共库的实现并无微内核的特权用户可以任意修改和替代公共库中的内容。应 用库实现结构如图2 2 所示。 图2 2a r t s o s0 共库实现结构 其实这种思想就是m i t e x o k e m e l 的主要思想e x o k e m e l 就是上述的微网孩而 公共库则被称之为l i b o s l 3 0 1e x o k e m e l 为实现微内核和l i b o s 的资源管理和保护提 供了一套完整的原则和方法。因此,它可以习来解决微内核在资源管理上夺砭的问 题,提高微内核操作系统在面队嵌入式应用的多样性盯的灵活陡。 2 2 4a r t s o s 的微内核结构 经过以上的分析我们形成一个适合嵌入式实时应用的a r t s o s 的微内核的结 沟,如图2 3 所示。 由于微内核体系结构良好的模块性和灵活性a r t s o s 在i p c 的实现上;量采 用轻量级的消息传递方式。同时考虑到消忌传递,持别是重量级正庄务间传送对的 通信代价,可以采用直绩传送的方式。另外还要尽可能考憩采用其池技术象:商度处 理、消息缓冲处理等等用来减少i p c 的代价,a r r 0 s 把s p i n 思想和e x o k e m e l 思想结合起来。为解决微内核体系结构中扩震性和性能之间的矛雷问题,引入s p i n 思想中的代码动态下载思想。但为了维护微内核的精练生在这小模型中微网垓中 保留的功能应按照e x o k e m e l 资源管理原则和方法的进行确定,用户可迸 亍修改和 替换地就是e x o k e m e l 思想中l i b o s 以一系列应用层的、无特权的服务器任务的 形式存在,用户真正的应用任务1 衣然以客户机的形式获取所需要的服务。对子代码 的动态下载,在这个模型中主要表现在任务的下载,无论是用户蛏务还是服务器任 务在运行时都可以被调入内核运? 亍,这种了载方式显然将大大降低任务与微内陔 华中科技大学硕士学位论文 任务之间的i p c 通信代价。 与用户接口 系统调用服务接口 具有硬件独立性的内核 与硬件设备的接口 硬件抽象层 c p u 抽象i 内存抽i 中断控制器抽l 时钟芯片抽 图2 3a r t s o s 微内核结构图 为方便用户的扩展和维护内核的完整性,同时又不影响系统的性能,a r t s o s 使用了m o d u l a - 3 安全型语言,同时a r t s o s 的编译器按照e x o k e m e l 的思想,作 为一个服务器任务设置在微内核的外层。 2 3 a r r s o s 中i p c 模块的分析 a r t s o s 的口c 目的是使任务能够同步、共享、发信号等等。达到多个程序 宏观上能够并行的目的。它一般包括:信号机制、信号量机制、内存共享、消息队 列、网络通信机制。 华中科技大学硕士学位论文 2 3 ia r t s o s 的i p c 在系统中的地位 a r t s o s 采取的是微内核的嵌入式结构。这使得核心小巧而可靠,易于r o m 固化,并可模块化扩展。微内核结构系统中,o s 服务模块在独立的地址空间运行, 所以不同模块的内存错误便被隔离开来。但是在这种结构有一个很大的弱点,进程 间通信和上下文切换的开销大大增加。因此对i p c 模块的要求很高,它要求i p c 除 了具有很高的稳定性和丰富的功能外,还特别要求i p c 模块具有非常高的效率。其 中最关键的是消息的传递。 在图2 1 中我们可以看到除了内核之内的任务,其余的任务要和其它的任务通 信,就必须通过i p c 模块,也就是说必须陷入内核,这其中包括消息通信频繁的i o 模块,因此如果要提高整个系统的效率,就必须从三个方面入手: 1 提高i p c 模块本身的运行效率,设计迅速并且简单明了的消息传递机制。 2 尽量减少微内核大小,把微内核运行时间做成一个u s 时间级的精巧内核。 3 提供比较丰富的通信机制,使得任务可以采取最小代价的通信机制,间接使通 信效率提高。 在这三个方面中,第一点和第三点是相互矛盾的,a r t s o s 权衡利弊,做出恰当 的选择。 2 3 2a r t s 。o s 的 p c 采用的技术和研究成果 对于通用操作系统,其目的是方便用户管理计算机资源,追求系统资源最大利 用率,而实时操作系统在进行资源管理的同时,还必须具备r t o s 的特点。因此, 在a r t s o s 中,对i p c 的分析和理论探讨以及实现都是围绕r t o s 的特点来展开, 目的是提高a r t s o s 的性能和实时性。下面是a r t s o s 采用技术的介绍: i 信号机制:传统的信号只能是一个字节位o 1 标志,它有两个缺点:( 1 ) 不能 加载信息和数据。( 2 ) 信号没有数量和次序的概念,不能分辨重复信号,不能分辨信 号来的次序。a r t s - o s 引入信号队列的概念,在系统中每个任务可以产生自己的 信号队列。使用信号队列的目的是使信号能够加载一定字节的数据,此时的信号不 华中科技大学硕士学位论文 是传统意义上的概念,而是扩展后的概念。信号队列的另一个用途就是使重复的信 号得以保存。同时,还保存了信号发送的次序,这在一定程度上与消息的概念有点相 同但是它保留了信号快速响应的特点。 2 信号量:传统的信号量没有优先级强占的概念,对使用它的任务一视同仁,而 这对实时系统来说是个很大的缺陷。传统的信号量对安全考虑的不多,没有递归的 定义。a r t s o s 充分考虑了信号量的等待队列,对信号量的等待队列进行改进, 从而使信号量不光有传统信号量的特征,还拥有以下的高级特征:优先级继承,删除 安全,递归等等。 3 消息传递:传统的消息队列没有优先级和传递次序,消息部分传递的概,现在 的研究大大丰富了消息的概念。a r t s o s 对消息引入了优先级,消息部分传递等等 新的特性,并且对消息队列的改进提出了自己的方案。 2 3 3a r t s o s 的l p c 设计的技术难点分析 j p c 模块的设计对系统的效率是非常重要的,它是系统效率的关键之一。在 r t o s 中,核外用户任务需要服务器任务服务时,一般通过核内的i p c 模块来传递 信息,这样如果i p c 模块不高效,就导致整个系统的效率低下。 系统划分的粒度越精细,必然会造成系统整体性能的下降,这对微内核体系结 构来说也是如此【3 1 】。从图2 1 中可以看出,相对于传统的单一操作系统,微内核的模 块化程度得到的很大提高,但导致了模块间通信代价的提高,无论是用户任务还是 服务器任务,要获得微内核的服务,必须使用远程过程调用( r p c ) ,在这里通过两个口c 实现。用户任务要获取服务器的服务,更是需要四个1 p c 才能实现,同时,需要对应 的任务下文切换。而在传统的内核结构中,只需要一个简单的过程调用即可实现。 因此微内核结构带来的性能下降问题成为影响其应用于实时领域的主要障碍。而 且,由于同样的原因限制了微内核结构中原本良好扩展性。 在嵌入式实时操作系统中,i p c 的设计是设计的关键。a r t s o s 的i p c 不光要 考虑支持实时的各种特性,还要考虑各种通信机制的效率。要做到这些,可以在以 下几个方面入手,这也是p c 模块的关键点: 华中科技大学硕士学位论文 1 对整个操作系统结构设计进行改进,充分考虑i p c 的特点和效率。 2 设计好 p c 模块中的内存分配方案,尽量减少通信数据的拷贝。 3 改进 p c 本身模块中通信机制的设计方案。使之兼有很高的效率和丰富的实 时特性。 在以上的各点中,第一点和第三点是非常重要的。第一点,整体结构不能简单 的迁就i p c 模块,整体结构考虑的是整体的性能和效率。第二点,可以在i p c 资 源的内存分配上进行改进,采取静态和动态相结合的分配方式。第三点,在各个通 信机制中,从上面的分析知道,消息传递机制的改进是最为迫切的。对于消息通信 机制的改进,可以从消息传递的入手。使消息传递在核外完成,避免核内外的切换。 消息可以实现以下特性:提供优先级设置、部分读取、时间限制、消息确认。消 息传递以效率为第一位。在系统中对于实时任务的消息队列而言,尽量采取预先分 配消息队列所需的内存空间。 对于信号量而言,信号量的传统必须扩展,实现以下特性:优先级强占和继承、 删除安全,递归。这些特性对实时任务来说是必需的,这样使实时任务能够强占非实 时任务的资源,在安全方面提高系统的稳定性和效率。另外还要解决优先级倒置 的问题,提出一种很好的解决这个问题的策略。 对于基本网络通信,情况比较复杂,首先要求中断例程能够非常快的响应,还要 对网络通信的功能进行适当的剪裁,留下最精简的功能。如何剪裁就是一个比较复 杂的问题,需要进一步的探讨和研究。 2 4 小结 本章首先介绍了实时操作系统的结构及其设计目标。然后着重介绍了a r t s o s 对微内核结构实时操作系统的结构特性以及改进,a r t s o s 在性能、扩展性和灵 活性上作出改进,真正适合于当前竞争激烈的嵌入式应用领域,最后基于a r t s - o s 的 实际分析和开发,提出了的a r t s o s 改进的微内核结构。但实现一个完整的操作 系统是一件很复杂的工作,a r t s - o s 的微内核结构只是为基于微内核的嵌入式实时 操作系统的设计从框架上提供了一些思路,要实现一个操作系统还有很多具体的问 题需要讨论和解决。 6 华中科技大学硕士学位论文 3a r t s o s 的消息机制 3 1 微内核中的消息机制 和传统的单内核操作系统相比,微内核的优点是以频繁的i p c 调用的代价来实 现的,i p c 主要有消息,信号,信号量,共享内存几个部分组成,而调用最频繁的 就是消息。而且p c 的实现主要是通过消息机制来实现,因此、通过对消息机制的改 进可以降低i p c 的通信代价,提高消息的效率对于提高整个微内核操作系统的性 能至关重要,目前的一种作法就象q n x 那样采用了“写时拷贝”( c o p y o n w p d t e ) ,消息分步发送等技术。这些技术给微内核结构的操作系统带来了性能的 明显提高,提高整个操作系统的效率。还有一个作法就是相对弱化i p c 的核心功 能,比如v x w o r k s ,把所有的任务放在一个地址空间,这样可以减少i p c 凋用次数, 从而提高系统性能。 本章将对实时操作系统的消息机制分析,探讨消息机制现有的技术和优点,提 出一种改进的消息存储和传递的实现策略,在保持微内核结构原有的优点上,提高 消息机制的效率。 3 2 传统r t o s 的消息传递机制 要分析r t o s 中的消息传递机制,首先需要分折在r t o s 中,消息传递导致发 送任务和接收任务状态的转移,在传统的r t o s 中,消息发送和接受引起的:状态转 移如图3 1 所示。 该图详细描述了消息发送和接收时,发送方和接收方所引起的任务阻塞、就绪、 等待等状态的变化,这些状态变迁对消息机制的分析有很大的意义,因为任务状态 的变化,必然引起任务的重新调度,任务调度必然消耗c p u 运行时间,从而影响了 系统的效率。 华中科技大学硕士学位论文 、 fs e n d 惭戽e 晰o 。r“8 “鲥 _ 悃e - r c o 八 ? t h i st h r e a d 爨瞧g 蜘s 囔 图3 1 消息传递状态转移圈 下面将分析单机甲微内核操作系统中影响消息传递j 生能明各种因素,首先分沂 一次消息发送的全过程。微内核操作系统甲! 肖息发送主要有两种情况:核外仨务之 间的发送,微内核部件到核外庄务的发送。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肋骨间隙的定位课件
- 2025年仓库管理员岗位招聘面试参考题库及参考答案
- 2025年情报分析师岗位招聘面试参考题库及参考答案
- 2025年影视制作岗位招聘面试参考试题及参考答案
- 2025年旅游销售专员招聘面试参考题库及答案
- 双碳目标路径规划-洞察与解读
- 2025年行政助理招聘面试题库及参考答案
- 2025年广告策划专员岗位招聘面试参考试题及参考答案
- 2025年影像学专业技术人员岗位招聘面试参考题库及参考答案
- 河口生态修复技术-洞察与解读
- T∕CECS 21-2024 超声法检测混凝土缺陷技术规程
- 【MOOC】市场调查与研究-南京邮电大学 中国大学慕课MOOC答案
- 2024年全国网络安全行业职业技能大赛(网络安全管理员)考试题库-下(多选、判断题)
- 变压器现场试检验报告
- 浅谈国企差异化培训模式建立与实践
- 工匠精神读本第三讲职业技术培训职业教育教育专区
- 驾驶员满意度调查表
- 乙肝两对半的意义课件
- 城市轨道交通企业班组管理PPT完整全套教学课件
- 儿内科消化系统疾病诊疗规范2023版
- 1例高脂血症性急性胰腺炎护理查房
评论
0/150
提交评论