




已阅读5页,还剩51页未读, 继续免费阅读
(计算机软件与理论专业论文)嵌入式实时操作系统的设备驱动.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 l = _ _ - 目_ _ i _ _ _ - l _ _ - _ _ i - - - l _ - _ i - l = ,i _ - l _ i _ - - i - _ _ 一_ _ 摘要 实时操作系统中通常需要使用各种外部设备,并且要求对外部事件作出快速准 确的响应,否则可能导致灾难性后果。此外嵌入式系统使用的设各种类繁多,往往 需要用户自行编写相应的设备驱动程序。因此设计一个灵活、高效、易扩展的设备 驱动模型对于嵌入式系统的应用至关重要。 a r t s o s 是在借鉴国内外实时操作系统技术基础上自行开发的基于微内核技术 的实时操作系统。在a r t s o s 的开发过程中针对设备驱动程序结构进行了深入的研 究。将驱动程序的结构分为外部结构和内部结构。外部结构反映了驱动程序与系统 其他各部分的关系,表现为驱动程序在操作系统中的存在方式、存在位置、与操作 系统核心中断管理部分的连接方式、与用户程序的连接方式等。内部结构是开发人 员在开发设备驱动时,根据不同的控制策略而采用的相应的驱动程序结构。驱动程 序的外部结构依赖于操作系统的体系结构,并直接影响操作系统的性能。f 通过分析 驱动程序外部结构各要素及其对系统的可扩展性、实时性的影响,结合a r t s o s 的微内核特点及微内核提供的服务,提出了一个易扩展、低耦合、实时性强的驱动 程序外部结构方案。 虽然不同设备的驱动程序的内部结构有很大不同,但也存在一定的相似性。根 据设备的工作特点将设备分类,并分析不同类别设备的驱动程序内部结构的异同。 驱动程序的内部结构同样会影响系统的实时性,对此也进行了探讨,对实时系统驱 动开发人员具有一定的指导意义。久。 最后,实现了a r t s 0 s 中的设备管理。给出了在舢r b - 0 s 上开发驱动程序的 方法 关键词:嵌入式实时操作系统:微内核;设备驱动;骇外m d ,一“。 华中科技大学硕士学位论文 = = = l _ - _ _ - t a b s t r a c t r e a l t i m e o p e r a t i n gs y s t e ma l w a y s u s e sd i f f e r e n tk i n d so fd e v i c e s i ti s a l w a y s r e q u i r e dt h a tt h es y s t e mr e a c tq u i c k l ya n dp r o p e r l yt oe x t e r n a le v e n t s o t h e r w i s e ,i tm i g h t r e s u l ti ns o m ed i s a s t e r s i na d d i t i o n ,i no r d e rt os u p p o r tt h eu n u s u a ld e v i c e s ,t h eu s e r so f t h es y s t e m sm u s t d e v e l o pt h e i ro w n d e v i c ed r i v e r s s o ,t od e v e l o paf l e x i b l e ,e f f i c i e n t , a n d e x t e n s i b l ed e v i c ed r i v e rm o d e li sq u i t e i m p o r t a n tt ot h ea p p l i c a t i o no fe m b e d d e ds y s t e m a r t s o si sam i c r o - k e r n e lr e a l t i m eo p e r a t i n gs y s t e m d e v e l o p e db yo u r s e l v e s i nt h e p r o c e s so fd e v e l o p i n ga r t s o s ,w ec o n d u c ti nd e p t hr e s e a r c ho nt h es t r u c t u r eo fd e v i c e d r i v e r s t h es t r u c t u r eo fad e v i c ed r i v e ri sd i v i d e di n t oi t se x t e r n a ls t r u c t u r ea n di n t e r n a l s t r u c t u r e t h ee x t e r n a ls t r u c t u r eo ft h ed e v i c ed r i v e rr e f l e c t st h er e l a t i o n s h i pb e t w e e nt h e d r i v e ra n do t h e r p a r t so f t h es y s t e m i tt a i lb es e e na st h ec o m b i n a t i o no ff o u rf a c t o r s :h o w t h ed r i v e re x i s t s ,w h e r et h ed r i v e rl o c a t e s ,h o wh a r d w a r ei n t e r r u p ti sh a n d l e da n dh o w t h e d r i v e rs e r v e si t su s e r s t h ei n t e r n a ls t r u c t u r e i st h ed i f f e r e n td r i v e rs t r u c t u r et h a ti s d e t e r m i n e db yt h ed r i v e rd e v e l o p e r s d i f f e r e n tc o n t r o ls t r a t e g i e s t h ee x t e r n a ls t r u c t u r eo f t h ed e v i c ed r i v e r si sc o n s t r a i n e db yt h ea r c h i t e c t u r eo ft h eo p e r a t i n gs y s t e m o nt h eo t h e r h a n d ,i ta l s oa f f e c t st h ep e r f o r m a n c eo ft h es y s t e m w ea n a l y z e de a c hf a c t o ro ft h ee x t e r n a l s t r u c t u r ea n di t si n f l u e n c eo nt h ee x t e n s i b i l i t ya n dr e a l - t i m ec h a r a c t e r i s t i c so ft h es y s t e m b a s e do nt h em i c r o - k e r n e ls t r u c t u r eo fa r t s 0 sa n dt h es e r v i c e st h a tt h em i c r o - k e r n e l p r o v i d e s ,w ed e s i g n e d af l e x i b l ee x t e r n a ls t r u c t u r em o d e lo fd e v i c ed r i v e r s ,w h i c hh a sl i t t l e c o u p l i n g w i t ht h ek e r n e la n dc a n s a t i s f yt h er e a l - t i m er e q u i r e m e n t s t h ei n t e r n a ls t r u c t u r e so fd i f f e r e n td e v i c ed r i v e r sa r e q u i t e d i f f e r e n t b u ts o m e s i m i l a r i t i e ss t i l le x i s t w ed i v i d e dp e r i p h e r a ld e v i c e si n t od i f f e r e n tc l a s s e sa c c o r d i n gt o t h e i rc h a r a c t e r i s t i c s ,a n da n a l y z e dt h ed i f f e r e n c ea n d s i m i l a r i t yb e t w e e n d r i v e r so fd e v i c e s t h a tb e l o n gt od i f f e r e n tc l a s s e s t h ei n t e r n a ls t r u c t u r eo fd e v i c ed r i v e r sa l s oa f f e c t st h e r e a l t i m ea b i l i t yo ft h es y s t e m w ea n a l y z e dt h i sp r o b l e m ,a n dp r o v i d e ds o m ei n s t r u c t i v e s u g g e s t i o n st od e v i c ed r i v e rd e s i g n e r s o f r t o s f i n a l l y , d e v i c em a n a g e m e n t i na r t s - o si si m p l e m e n t e d k e y w o r d s :e m b e d d e d r e a l - t i m e o p e r a t i n gs y s t e m :m i c r o k e m e h d e v i c ed r i v e r s : u s e r - l e v e li 0 1 1 华中科技大学硕士擎v 住-论- 文- - # # = # _ g 目_ 目_ 自目# _ ;# ;_ _ = ; ; 1 1 实时操作系统及其特征 1 绪论 实时系统是_ 砖终来事牛在限定时卿内能 乍出反应的系统,这类系统总是嵌入在 一个大环境中,鄹嵌入在所谓臻主系统中,因此实对系统一般也是嵌入式系统 ( e m b e d d e ds y s t e m ) 。实对系统褥分必实对攀务处理系统积实黠控豢系统秀太类,藏糍 酌大鬟工作是进芎亍事务处理,瓣黠阔有一定豹要求,响慰对阙一般不是缀急,妇锻雩亍业 务;稀后者要求对筛豁事件檄蘸快速确定豹蔽应,否剩霹能导致灾难牲惹祭,如飞行 嚣控翻系统。 程实时系统中起核心作用的楚窑时搡作系统( r e a l - t i m eo p e r a t i n gs y s t e m r t o s ) ,它蒙是入的中枢神经系统,控制、管理着实时系统的话常工作。按照对外部攀 件响应时间不同,实时操作系统也分为弱实对操作系统和强实时撩作系统,弱r t o s 的系统响瘟时间以秒来刻画,而强r t o s 的系统响应时间般为凡十微秒到凡十礓 秒。对于通用操作系统,其目的是方便用户管理计算机资源,追求系统资源最大利用 率,而实时操体系统在进行资源管理的同时,还必须具备以下特点n : 1 实时可确定性( p r o m p t n e s s a n dp r e d i c t a b i l i t y ) 朗系统对外部事传的响应速度快,且响应时阅可确定。只有r t o s 在时间上对 终部搴l 牛的响应是可确定的,才能保证实时系统设计的时限要求。 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 ) 实时系统麓癍震领域狠f - ,r t o s 菇矮其有攘当大黪灵潘性,以适盛不耀系绞 的需骚,荧活往主妥体现在r t o s 韵萄赘裁毪( s e a l a b i l i t y ) 、可琵饕性( c o n f i g u r a b i l i t y ) 等方面,以便实时操作系统能戳最往方式适应各种系统酌需求。 评价一个实泔操作系统一觳碍瑷献谨务调度、内存管理、任务逶禳、内存开销、 任务切换时间、最大中断禁止时闯等凡个方面来衡萤i 2 l 。 华中科技大学硕士学位论文 i _ _ - _ _ _ _ - _ - _ _ _ _ - _ _ _ _ _ _ - _ _ _ _ l _ _ _ i i _ _ _ _ _ - - - _ - _ _ _ _ _ 1 任务调度机制 r t o s 的实时性和多任务能力在很大程度上取决于它的任务调度机制。从调度 策略上来t 井,分优先级调度策略和时间片轮转调度策略;从调度方式上来讲。分可枪 占、不可抢占、选择可抢占调度方式;从时间片来看,分阐定与可变时间片轮转。 2 内存管理 分实模式与保护模式。 3 最小内存舞销 r t o s 的设计过提中,最小内存野锩是一个较重要的指标,这是因为在工业控制 领域中鲍某些工控规( 如上下位枧控制系统中的下位机) ,虫于纂于姆低成本的考 感,獒内存酶配鐾一般都不大, 嚣在这有限的空阕内不仅要装载实时操俘系统,还 要装载用户程痔。医致,在r t o s 浆设诗中,其占鼹内存大小是令缀重簧豹指标, 这是r t o s 设计与其它搡作系统设计熬嗳显嚣裂之一。 4 最大串凝禁丘辩阕 警r t o s 运符在核态簸执行某些系统调港的辩捩,楚不会因为静都中断的到来 而中断执行静。式有瓷r t o s 重新回攒焉户态对才璃应矫部串断请求,这一过程掰 需的最大时阆就蔻最犬中断禁止时间。 s 任务切换时间 当由于某种原因使一个任务i 黩出运行时,r t o s 保存它的运行现场信息、插入 相应队列、并依攒一定的调度算法重新选择一个任务使之投入运行,这一过程所需 时间称为任务切换时阀。 上述几项中,最大中断禁止对间和任务切换对间是评价一个r t o s 实时 ! 耋最霆 要的两个技术指标。 1 2 国内争| 、研究现状 溅着计算极技术憝突飞猛进,实黠系统无论是在技术上还是农应用领域中郝取 铸了辉煌龚冬成就,茏葵在避一二卡年来,嵌入式实孵操撵系统褥到了飞速的发展。 1 2 1 现有r t o s 产品 舅前,国内外有形形色色上酉个r t o s ,有的开发的很早,有的目前非常流彳予 2 华中科技大学硕士学位论文 # # 目_ # _ = = 。;# 目t ;# ;# 口: 还褒豹提供操佟系统戆淫代秘。下蠢怒几个代表瞧斡r t o s : p s o s 操撵系统是潮i n t e g r a t e ds y s | e m si n c 公司开发的实霹搽幸# 系统f 3 l 。其主 要特褴有:所支持静c p u 菠驱动器嵇类; 常广泛、鬟骞快速凌繁肉c p u 核、内存 管理和保护、资潦箍测、异常管理、提供逶用设备板级支持包( b o a r d s u p p o r t p a c k a g e ,b s p ) 源代确、支持多种文俘系统( 麴i s o9 6 6 0 、m s d o s 、n f s 及离经 能嵌入式文件系统) 、p r i s m + 3 集成开发环境、摄供丰富瀚嵌入式应糟酌开发分析 和测试工其、穗开发代码可再利用。 v x w b r k s 怒由w r s ( w i n dr i v e r s y s t e m si n c ) 公司开发的套具有微内核、高 性能、可伸缩的实时操作系统,它支持广泛的网络通倍协议、并能根据用户的需求 进行组合,其开放式的结构和对工业标准的支持,使开发者只需要做最少的工作即 可设计出有效的适合予不同用户要求的系统 4 1 。除了性能出众的操作系统外,w r s 公司还提供了优秀的实时操作系统开发工具t o r n a d o l 5 1 。 q n x 是由加拿大q n x s o f t w a r e s y s t e ml t d 研制的实时多任务操作系统。q n x 具有微内核结构,其核心仅提供4 种服务;进程调度、进程间通信、底层网络通债 和中凝处瑷,其进程衣独藏的地址空阅运彳亍。所有其他操作系统服务都以用户应用 程摩斡形式提供绘思户。黢此q n x 的核心非零小巧( q n x 4 。x 大约为1 2 k ) 藤且运 行速度掇抉。宅被谈为是x 8 6 平台上最好的嵌入式实隧操作系统【6 】,能圊时支持 p o w e r p c 、m i p s 等独无二熬微海核实对平台。q n x 4 。x 实时操佟系绞绘实时应耀 系统开发挺供了一个分布武阏络静实时环境,阁辩提供了按遥下盛溪佟爨莛考豹辨 有能力的设备缀的佳能。实现这样渫佟系统环境静揉 筝系统体系结掏镪括个实嚣孪 微内核和内核周边的系列可选韵进程( 称为资源管毽器) ,这黧资源管理嚣提供 与p o s i x 和u n i x 兼豁的系统服务。通过运行时包括藏捧除一垡资源篱毽进稳,开 发者可以把q n x 缩小成貉于r o m 的嵌入式系统,也可黻放大捌包含上百个疑穗 器通过多种局域网技术连接起来的分布式系统。 w i n d o w sc e 是m i c r o s o f t 公司为开发各类功能强大的信息设备而行发出来的一 个嵌入式实时操作系统i 。w i n d o w sc e 的内核提供内存管理、抢先多任务和中断处 理功能。内核的上厩是图形用户界面g u l 和桌面应用程| 筝。在g u i 内部运行着所 有的应用程_ 謦,磷且多个应用程序可以同时运行。w i n d o w sc e 以多种方式将一个 华中科技大学硕士学位论文 i _ l _ _ _ _ _ _ _ i i , l , _ 目_ _ _ - - _ _ _ - _ _ _ _ - 虚拟的桌面计算机置于掌上或放鬣在口袋中,可以看作是w i n d o w s 9 8 n t 的微缩版。 但从技术角度看,w i n d o w sc e 并不算是一个优秀的r t o s ,首先它很难实现产品的 定制、其次它占用过多的r a m 而且不具备真正的实时憔能,没有足够的多任务支 持能力。 r t _ l i n u x 是能够提供实对功能魄i a n u x 操l 乍系统【9 1 ,r t _ l i n u x 实现了个小 巧螅实时走核以l 弋替l i n u x 的核心,在尉一令操作系统中既提供严格意义上的实时 黢务,又提供腰蠢熬捶缓p o s i x 服务。r tl i n u x 的优点在于:与i a 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 豹程序贯可 戳 畏侠静熬悉其运行环境,掌握菸开发工兵。 1 2 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 x l 0 0 1 4 系列旃议瞄o l , 德仍存许多工作还待完成。 2 多处理器结构和分布式r t o s 实时应用的飞速发展,对r t o s 的佼能挺出了更高的要求。单娥理器的计算机 系统已不能很好地满足某些复杂实时应用系统的需簧,开发支持多处壤器结构的 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 n 9 等,但分布式实 时操作系统的研究还朱完全成熟,特别是在网络实时性和多处理器闻任务调度算法 上还嚣进一步研究陋1 4 1 。 3 集成的开放式实时系统开发环境 r t o s 磺究的另一个重要方向是集成开发环境的研究。开发实时应用系统,只 4 华中科技大学硕士学位论文 i i i i i i - _ _ - _ - - - _ - | _ - 育r t o s 是不够的,需要集编辑、编译、调试、模拟仿真等功能为一体的集成开发 环境的支持。开发环境的研究还甑括网络上多主机间协作开发与调试应用技术的研 究、r t o s 与环境的无缝连接技术、支持标准实时a p i 编程接口、支持面向对象编 程等等1 1 5 1 8 1 。 4 加强操作系统的可预测性和实时性 这方面的研究工作包括硬件系统结构平台的研究、软件设计的系统研究、实时 摸型的研究等。主要包括对多处理器翘网络的支持、实对任务的调度和同步【1 9 捌、 实时进程闻遴信f 2 】l 、系统容锩性研究f 2 2 】、寓糖度系统时钟j 、实时内存管理f 2 4 l 、 实时文 牛系统研究1 细实时系统的 生能评价等f 2 6 l 。 1 2 ,3 窦时操作系统静l 幻及设备警蓬研究 目前围内外对实时0 及设备管理的研究非常少,主要集中在以下几个方面: 1 实时磁盘技术 非实时的磁盘调度算法一般以吞吐黛和平均等待时间为衡摄标准,而在实时 ) 中,这一标准并不适用。更熏要的是i o 请求的戳止期、实肘优先级等要求。 实时磁盘技术的核心就是硬究实时磁擞调度算法1 3 ”。 2 ,实时文l 牛系统 健绕文姊系统以宠分裂用毒锉资源为星掭。实慰文秽系统在结构上,通过采用 铱次分配文髂豹存取窆阗、文 牛分级极剁、支持磁盘蛱逡续的文 睾、增加文 牛逻辑 块鹊长瘦、文传读写访闲绕避i o 缓;申区在乡 存岛内存空闻囊接传送数擐等技术漕 除通过文 孛系统滚写文箨时绘进稷静技露弓 入豹笨确定殛迟【3 “3 3 1 。 3 防止优先缀遵转技术 防丘优先级逆转是实对封按术豹一令特定酌要求。优瓷缀逆转是指,密予低 优先级的进程线程苦有i o 设备,使高优先缀的得不掰设各褥等待,并羹,癌手该 低优先级的进程,线程在其它资源的争夺中经常处于被阻塞的缝位,导致高优先缀的 j 程线程通过设备的传递而阻塞在一个可能比它低的迸猎绞程上。优先缀逆转 在实时系统中是必须加以防止的f 3 4 0 扪。 4 与硬件设备相关实时性研究 电能消耗量是嵌入式系统的一个蓬要技术指标。除了采用一系列的硬件解决方 s 华中科技大学硕士学位论文 = = ;目4 目;目= ;= = = = ;= = = = = = ;目= : 案降低系统能耗外,用软件方法实现的动态电源管理( d y n a m i c p o w e r m a n a g e m e n t d p m ) 成为降低能耗的另一解决途径。实时系统d p m 研究目标是设计各种在满足 系统实时要求的前提下尽可能降低系统能耗的i o 设备调度算法 3 6 1 。基于优先级的 可抢占的调度可以保证系统的实时性,但是传统设备接口控制器都是先来先服务 ( f i f o ) 并且不可抢占的,在i 0 密集型系统中,当高优先级的硬实时任务需要进 行i 0 时i 0 设备可能正被低优先级任务的传输占用,从而无法保证高优先级任 务的截止期。对内部请求可按某种策略排队、可重入的i l o 控制器的研究也是当前 实时i 0 的一个研究方f q l 3 。 1 3 本文研究的主要内容 本课题研究得到自然科学基金( 6 0 0 7 3 0 4 5 ) 和十五国防科技预研项目( o o j l 5 3 3 j w 0 5 2 9 ) 的资助,研究的对象a r t s o s 是独立开发( 具有自主知识产权) 的通 用嵌入式实时操作系统。 本文第二章介绍嵌入式实时操作系统a r t s o s 的结构,分析嵌入式实时操作系 统的应用特点及其对设备驱动软件的需求。第三章将设备驱动程序的结构分为外部 结构和内部结构,就各种可能的外部结构进行分析,并讨论其对系统体系结构的要 求及对系统可扩展性和实时性的影响;按设备的特性将设备分为字符设备和块设 备,分析两类设备驱动的内部结构的异同。第四章结合a r t s o s 的微内核结构和系 统核心提供的服务,设计出能较好满足嵌入式实时操作系统要求的设备驱动的外部 结构,并分析该设备驱动结构的实时特性。第五章介绍删b o s 中设备管理的实现。 华中科技大学硕士学位论文 _ i _ _ _ _ - _ _ - - i i _ _ _ _ - _ _ _ _ - _ _ _ - _ _ - _ - _ - _ _ _ _ _ - 2 。1 微内核技术 2a r t s - o s 的系统结构 操作系统内核提供系统运行的基本功能,如u n x 系统的内核包括任务管理、中 断处理、内存管理、设备驱动程序和文件系统等等,它题实现操作系统环境中其它 子系统的基础。 糕于微内核的操作系统设计思想与传统的整体式和艨次式内核设计思想不同, 它的核心只提供一个精简的系统功能集,从丽使系统内核非常小,称之为微内核。 对于其它传统的内核功能,微内核系统通过内核虚拟机任务模型基础之上的服务协 作来建成。_ 和用户任务样,系统服务任务之间豹通信使用的悬内核提供的统一灼 通信方式,从恧使系统具有模块化、结构清晰、可移植性强期可裁减性好的特点。 微内核的设计慝燥蕾先程c m u 抒发购m a c h 操作系统中德到成功殿用,著使微内 核结梅戏为撵搀裘绞磷究黪热点【3 越。 与传统豹一体式结构鞠屡次缤梅懿攥俸系统缝稳设计栩魄,基予镞内挨的操作 系统结梅宥缀多後点。碟戳麴缡海鞋下凡点: 1 接西统一 徽内核静设计使得羌论怒系统溅务还是灞产派务,耀产都可淤篌焉籀同叠奄消惑 传递接翻来串请,而无须区潮对待。 2 扩展健强 微内核的体系结构。使得一些新的服务可以阻用户任务的形式加入到系统中来。 同时,对于同一个系统功能,还可以方便的提供几种互不冲突的服务形式供用户选 择,不需要对系统内核进行任何修改。这样,一方面用户可以选择最适食自已的服 务功能,另一方丽,系统更改造成的影响也只局限在很小的范围。 2 灵活性好 出于可扩展性好,不仅新的服务可以方便的加入到系统中来,而且当前系统中 已经荐在的服务也可以被裁减从而生成一个规模较小- 效率更高的系统。一个微内 核系统可以餐成是由一个小的内核附加一系列服务组成。 华中科技大学硕士学位论文 i _ 目- _ _ _ _ _ _ _ _ _ _ l _ _ _ _ _ _ | _ _ - _ _ _ _ _ _ - _ - 目_ _ _ _ l 4 移植性强 在微内核系统中,和处理器相关的代码都在微内核中实现,因此进行系统移植 时需要修改的代码量相对比较少,而且其逻辑清晰的代码组织也使移植比较容易。 5 可靠性高 随着软件规模的增大,代码的可靠性越难以得到保证。采用微内核设计为代码 的可靠性带来很大的好处。首先,小巧的微内核本身容易得到严格的测试。其次, 它提供的数量有限编程接口减小了系统程序员的学习量,同肘使核外服务模块和其 它系统部分的交受方式也褥到毒效的控制,减少副作用的可熊,鼹毫了代码的质量。 6 分褒式的支持能力 在分枣式环境中,客户桃与服务器逮信黪方式与微内核系统孛任务阍豹逶信几 乎一样。翅暴微蠢核系统提供一种分农式环境孛金是难一静任务标识方法,麓任务 裁能莘譬单枫环境下一样访阂远程豹服务,两不需要翔遴黢务掰在躲吴俸鬣萋。 2 2a r t s o s 的系统结构 在国防预研基金的支持下,自主开发了基于徽内核结构的嵌入式实对操作系统 a r t s o s 。a r t s o s 由微内核及核外可裁剪的i o 设备驱幼程序、文件系统服务器、 t c p i p 协议棱、虚拟内存管理组成。系统各部分闻通过微内核提供的通信机制进行 通信和协作。a r t s o s 的系统结构如图2 1 所示。 区圊圈 l 列矮管理黢务器lli o 设釜驱动程序ll 难拟内存譬理1 _ - _ - - 。_ _ _ _ _ _ 。_ _ _ _ _ _ _ - _ _ 一- - _ _ _ 。_ 。_ h _ - _ - _ - _ _ _ _ 。_ _ _ _ _ - _ - _ 一t _ _ _ 。_ 1 。o - _ _ 。一 t_-_-_。-_-_一 擞内棱 i 中断管理l 调度嚣| 任务管理| 任务间驹通信 蒸本内存管理|i 中断管理i 调度嚣| 任务管理f 任务间驹通信f 蒸本内存管理f c 任 ) ) 参 纂 图2 1a r t s - o s 系统结构 a r t s o s 的微内核包含了操作系统中必要的基本管理功能t 目前主要由通信同 步管理、时钟管理、中断管理、内存管理和任务管理5 个部分组成。 8 华中科技大学硕士学位论文 _ _ _ _ _ _ _ _ _ - _ - _ - _ - _ - 自m _ _ - _ _ _ _ - _ _ _ _ _ - _ i - _ 任务管理负责任务线程的创建和退出及其桐关信息如调度优先级、上下文信 息、时间属性、标识和状态信息、任务,线程间父子关系信息的管理。调度器负责维 护线程相关的调度信息如调度优先级和时间片,并对调度队列进行操作从而实现线 程状态的转化。 中断管理和时钟管理负责实现中断处理例程包括中断进入和返回处理,以及提 供用户级中叛处理程序挂攮服务葶时钟中断及定时器的相关管理。 内存管理负责对整令系统物理内存逃行繁理,包括内存空间的分配和释放( 包 撂保护投限的维护) 以及逻辍地址到物域地址的映射。 逶僖麓步管理提供了任务阉熬交互方式,妇任务闻的滇患逶绩、信号、僖号量 等。 海援模块提供静功锈是黻函数豹形式提供给其它内核模块靛,健对予用户还不 能奁接健用这些功能。茵诧,在系绕内棱帮躅产空阂提供一释专门的接疆捉铡来实 现用户对内核服务的访同,静系统满用接口。在棱井,接舀傻瘸较串颧技术进入肉 核,然盾由中断处理负责将应用程序的参数传递给肉核,并将程净控制流转商籀窿 的内核服务程序。 2 。3 嵌入式实时操作系统对l ,0 软件的需求 操作系统中负责管理输入输出设备的那部分软件称为操作系统的设备管理部 分,也称为输入艨出处理( 帕) 。长期以来,在计算机体系结构和操作系统的研究 中,技术一妻不受重视。另方灏,i o 对予一个计算机系统和操作系统的设计 又是至美重要蛉。鼬的霪要性袭现在以下几个方面; t 。圣 算枧系绕特别楚实时控制系统逐卷是接收处部睾传、遴行棚应处理、输出 楚毽结栗。嚣冀极没存弘。设冬瞧裁失去7 其存在黪馀俊。 2 彰o 蠡薯性麓经常戏必系统牲能瓣糕颈,c p u 性能越毫,系统性戆受f o 投能 影确丙造残蠡奇渡费毽藏越大。在事务处联、实黠处理等应鼹领域,系统嫡应对阈在 很大程度上受速度影睛,c p u 谯能越离,c p u 鸟i o 强差躐越大,则嚷应黪阚 越由o 时闻决定。 3 i o 设备作为操作系统所管遴的滔大类资源之一,其多样性张复杂惶也造成 9 华中科技大学硕士学位论文 d _ _ _ i i i ii i i i i i - _ _ _ _ - _ _ _ _ _ _ _ _ _ _ i _ - _ 了操作系统的庞大和复杂。 操作系统0 及设备管理的目标是向系统和用户提供一个统一而方便的设备访 问接口,便于系统管理和用户使用硬件设备,同时提高硬件设备和c p u 的使用效 拳。 随着计算机技术的发展,计算机技术的嵌入式应用也越来越广泛,越来越复杂。 为了缨短开发周期,降低开发成本,提离可靠性,嵌入式操作系统应运而生。在嵌 入式设计中撵揍系统是一秘典型的软传重用,在这秽重用中,操作系统的i 0 驱动 软 孛豹好坏妻接影响到操作罨统盼应用范围靼效果o ”,这一点霹以从鼹方藤来说 骥: 一方援,鑫为鞠 驱动软 孛必绥有孛凝服务程序显必须执簿物理购i o 操作, 灏j 琏:o 驱动较体必;嚣运行奁离黪优先级帮特权级,这群i 0 驱动软 孛就成了攥俸 系统肉核密不可分静部分。另一方西,尧了使操作系统受荮蟪重耀,逶黑于菱多瓣 应用系统,丽不会因被管理的设备丽改交操俸系统,就赫矮傻驱凑软律尽哥驻 少依赖予搡作系统核心的其他部分,这样驱动软件又成为操作系统串穗对独立 的部分。嵌入式系统管理的i 0 设备复杂、多样,键侯一个讨扩展的i 0 接胬是至 关重要的。当一个新的设备被加判系统中时,应该不需要对操作系统内核傲任何改 变,并且添加和删除一个设备应该非常容易。因此嵌入式操作系统中的i o 驱动软 件应具备以下几个特点: 1 可配置 i o 驱动软件可以根据实际情况加载或不加载,即根据操作系统的运行环境, 管理的外设是否存在薅决定是否在系统启动时加载相应的设锯驱动程序,以免加载 7 不必要的程序褥占用嚏存空间。这秘可配黧性也可以是动态可螽己鬻的,即在系统 运霉戆过程审根据霪簧动态加载蠖卸载棚应的驱动稷序。 2 横块纯 一个操撵系统睫着瘦是的不同,管理的设冬就会不鄹,间时设餐驱动程序常常 需要获镡操作系统核心备部分静殿务支持并璺执褥一些特投指令,热果l o 驱动软 件的模块佬不好,局部数据的修浚缀容翳对整个系绕造成影螭,甚至可携带来灾难 往的后粟。 1 0 华中科技大学硕士学位论文 。i l l li i , i i i i i i i i- 3 易扩展 随着应用环境的不同,嵌入式系统支持的设备也不阅,操作系统必须具有把 个不可预知的设备添如进来的功能。由于嵌入式系统支持的设罄经常不是常规设 冬,褥要月户编写设罄驱动穗序骢场合远远多于通用操馋系统,并且这些设备驱动 程序紫拳盎辫操作系统誉太了解的硬铎工程魉完成,医炊易扩展性零仅揍叛豹设备 驱动程序女够缀容易邋添热刭系绕孛,遥要求开发、潺试薮麴设备驱动程序非豢篾 攀,不需要辩操作系统有太多豹了解。 另并在实时瘴焉鹃场含,i o 还痰当满足摄稼系统抟实封经要求。 通常,将操作系统的f o 软件组绞戒瑟个层次,由下鲻上依次为: 1 中断处理程序:在设备i o 操作完成时进行稽应豹处淫。 2 设备驱动程序:包含所有与设备稻关的代码,获与设备无关豹较释中搂载插 象的请求,执行之,并将执行结渠返回绘调厢者。 3 与设备无关的操作系统软件:执行适厢予所有设备的常丽的f o 功能,并向 用户层软件提供一个一致的接口。设备无关软件和设备驱动程序之间的精确界限在 备个系统中都不尽相同,对于一魑以设备无关方式完成的功能,在实际中由于考虑 到执行效率等因素,也可以考虑虞设备驱动程序完成。 4 。用户空间的i o 软件:提供给用户的庠例程、i o 系统调用等。 出以上的分板可以看到,设铸驱动稷序作为联系硬件设备、操作系统内核和操 停系统用户的纽繁,是整个f o 系统的核心。其存农方式、存在位置、与系统其他 部分驰遗接方式决定了整个系统的v o 缨构。以下将就驱动程序的各个方面进行详 鳃熬分辚,从恧褥出遥会a r t s - o s 实时牲秘微内核挂的设备驱动模型。 2 。4 小结 本牵分析了越r 鹣o s 的总体结构及其特点,分褥讨论了嵌入式实对搡俸系绕对 v o 软件的需求,得掰了a r 骶o s 中设备驱动软件的设许舀标,整个设计静指等原 则是易扩展、低耦合、实时憔强。 华中科技大学硕士学位论文 4 _ - _ _ _ _ _ - l _ _ _ - l _ 目_ 目j _ _ _ _ _ _ _ _ _ 一一_ 3 设备驱动程序结构分析 设备驱动程序的开发者常常不是操作系统的设计人员,他们总是被要求按照某 种规范来开发驱动程序,却不知道为何要遵循这些规范,并且不了解他们开发的驱 动程序在系统中如何运行。实际上,设备驱动程序在操作系统中如何存在、如何与 操作系统的其他部分相联系、如何为用户提供服务都是操作系统的设计人员在设计 操作系统时制定的,系统已经为驱动程序制定了一个框架,无论驱动开发人员以何 种方式控制设备,他们所开发的驱动程序在系统中都是以预先设计好的方式存在、与 操作系统其他部分相联系和为用户提供服务的。将这种由操作系统设计人员制定的设备 驱动程序结构定义为驱动程序的外部结构,而由于驱动开发人员在开发设备驱动时i 硼的 具体策略不同导致的不同的驱动程序结构称为驱动程序的内部结构。驱动程序的外部结构 决定了操作系统的i o 体系结构,驱动程序的内部结构决定了不同的设备驱动方式。 3 1驱动程序的外部结构 驱动程序的外部结构反映了驱动程序与系统其他各部分的关系,如驱动程序与 中断机制、驱动程序与进程间通信机制( i n t e rp r o c e s sc o m m u n i c a t i o n ,i p c ) 、驱 动程序与内存管理、驱动程序与调度机制、驱动程序与用户的关系。驱动程序的外部 结构通常表现为驱动程序在操作系统中的存在方式、存在位置、与操作系统核心中 断管理部分的连接方式、与用户程序的连接方式等。 3 1 1 驱动程序存在方式 在设备驱动程序的众多外部属性中,驱动程序的存在方式是其中最重要的一项, 因为驱动程序以何种方式存在,在很大程度上决定和影响了驱动程序的其他外部属 性和整个i 0 系统的结构;另一方面,驱动程序以何种方式存在,又不是任意的。 3 1 1 1 驱动程序的两种存在方式 驱动程序要得到执行权利,必须首先在内核的调度中存在调度单位a 如果驱动 程序在启动时就得到自己独占的调度单位,并一直保持到其结束服务,则称这种存 在方式为服务进程( 线程) 方式;如果驱动程序提供服务必须依附于其客户的调度 单位,则称这种存在方式为共享代码方式。通常,设备驱动程序的用户既包括用户 华中科技大学硕士学位论文 _ _ _ _ _ _ _ _ _ _ - _ _ _ - _ - _ _ _ _ - _ - _ _ _ _ _ _ _ _ h _ - _ _ _ _ 程序,也包括其他驱幼程序和操作系统内核。 当驱动程序以共事代码方式存在时,用户要使用驱动程序的服务,必须调用驱 动程序。这就要求驱动程序对其调用者是可访问的,即要求在调用发生时候,驱动 程序及其调用者废处于同个逻辑地址空间。当驱动程序以服务进稷( 线程) 方式 存在时,驱动程序和用户之间利用系统提供的i p c 机制进行通信,用户将i o 服务 清求以消息的形式传递给驱动程序,驱动程序进行处理后,撙将结果以消息影式返 回给用户。这种情况下,并不要求驱劫程序与其用户处在同个逻辑地址空间中。 3 。1 1 2 任务模型与内存保护 嚣见汁算枧系统中的l 壬务模型有单地址空间的单任务模型,如d 1 0 s ;单地址空 蚓的多线理摸型,如缺省模式下的v x w o r 虹;多地址空间的多进程模型,如l n u x 秘多数u n i x 系统;以及多地址空闽的进程鹰程模型,如w 虹d o w sn t 、改避后的 l i n u x 程一些u n i x 变秘。 褒单她蛙空阕模型下,黪有任务共事一个内存地址空间,也就是所煮的任务都 受一个鼙一懿地蛙窆阕中执行,每个任务可以存取任侮物理地址的内存单恁。如果驱 动程序以代磷方式存在,对驱动程序代码的调用就是一般的过程调用,这很容易实现。 为了支持多锤务,对冬个任务必须实戆保护。l 垫蛙空闻的保护闻题实际上是一 个浅存谤润熬控剃淘遂,要实现保护鸯鼹羊孛实现策略。一耪是由敬傅实现,靼由操 作系绞截取每个耀户涟耧鹊嘏蛙诱溺,然后梭据相应匏遴程窆阗缝鼓描述进行地址 硷查,并只允许仓法的蟪琏访闯。由于内存访淹在系统书是替鬻频繁靛掇佟,峦软 件柬实现这种内存访闯控制策昭需要缀大静开销,极大撼影绱了系统辫黩戆。嚣就, 产生了第二种策路,郎由处理器酌硬侔设计来控稍遗址翡访阀。每当一令内存谤阑 发生时j 处理器都根据用户设置的地址访问控制策略对访闻校陵迸符捡褒,获蔼确 保多地址空间的保护和隔离。由于处理器迅速的响应速度和特殊的奄掰设计,这释 实现策略不仅满足了地纰访润控制的需求,也保证良好的系统性能。 在i n t e l 平台上,从8 0 2 8 6 开始,处理器就具备了保护梳制,保护机制瞻有效 地实现不同任务之间的缳护和同一任务内的保护i 柚1 。通过把每个任务放鬻不葡韵虚 拟地址空间的方法来实现任务与任务的隔离。虚拟蛾璇要物理地址的浃舸函数在每 个任务中进彳亍定义,随着任务切换,映射函数也切换。闼此,两不潲的任务,尽管 虚拟存储单元地址相同,但实际的物理存储单元地城可以不同。每个任务有自己私 华中科技大学硕士学位论文 j # _ _ _ _ - _ _ _ _ _ _ - _ _ _ 目q _ _ _ _ _ _ _ - _ _ _ _ _ - 有的代码段和数据段,对系统中其他任务是不可见的。 二效耀 一台法 口代码- 非法 匿3 1x 8 6 箍迸器塔获访闷控制豳 x 8 6 处理器还提供了同一任务内的保护方式。在一个任务之内,定义有四种递 增的执行特权级别,用于限制对任务中的段进行访问
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 18396-2025胶乳表面张力的测定
- 高考作文中的责任与担当试题及答案
- 资本市场的风险与机遇试题及答案
- 材料疲劳裂纹扩展控制策略重点基础知识点
- 材料疲劳寿命预测模型原理重点基础知识点
- 公共体育场火灾应急预案(3篇)
- 公司火灾-爆炸应急预案(3篇)
- 血液透析火灾的应急预案(3篇)
- 信息处理技术员考试准备技巧试题及答案
- 行政管理学科发展的新思路与新途径试题及答案
- 中职《信息技术》教学课件任务1了解信息安全常识
- 中国脑卒中康复治疗指南课件
- 2022年全国外贸跟单员岗位专业考试外贸跟单基础理论试卷A卷(含英语)
- AI时代的挑战与机遇2024年人工智能的应用与发展
- 人教版六年级上册数学第五、六单元测试题(含答案)
- 高中化学优质课说课 海水资源的开发利用
- 企业录用通知书offer模板
- 责任书-景区安全生产责任书
- QB∕T 3826-1999 轻工产品金属镀层和化学处理层的耐腐蚀试验方法 中性盐雾试验(NSS)法
- 田径运动会竞赛团体总分记录表
- 药物临床试验质量管理规范(GCP)课件
评论
0/150
提交评论