(计算机应用技术专业论文)嵌入式实时操作系统rtthread的设计与实现.pdf_第1页
(计算机应用技术专业论文)嵌入式实时操作系统rtthread的设计与实现.pdf_第2页
(计算机应用技术专业论文)嵌入式实时操作系统rtthread的设计与实现.pdf_第3页
(计算机应用技术专业论文)嵌入式实时操作系统rtthread的设计与实现.pdf_第4页
(计算机应用技术专业论文)嵌入式实时操作系统rtthread的设计与实现.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式实时操作系统rtthread的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 信息技术的飞速发展使得嵌入式实时操作系统的应用越来越广泛,从工业控 制,航空电子,医疗应用到虚拟现实,消费电子,多媒体通信等众多领域,嵌入 式实时操作系统在这些领域的前景极为广阔。同时,新的领域和应用对嵌入式实 时操作系统提出了跟多要求,其中最主要的是:强实时,高可靠性,易扩展性。 微内核因为其良好的兼容性、扩充性、灵活性、移植性,可靠性和分布式特 性而成为学术界的研究热点。然而,微内核并不完美,效率低下一直是微内核系 统的一块短板,这也是导致围绕单一内核和微内核产生的诸多争论的主要原因。 为了解决微内核效率低下的问题,学术界和工业界进行了多年的研究,已经 开发出以l 4 操作系统为代表的第二代微内核操作系统,重点突破了微内核体系 结构导致的进程间通信瓶颈问题。 本文在深入分析多种内核结构基础上,借鉴1 a 、v x w o r k s 等诸多操作系统的 思想,扬长避短,加入自己的特色,提出并实现了在功能和性能上都有可比性, 属于第二代微内核操作系统范畴,基于内核对象的嵌入式实时操作系统 r t - t h r e a d 。r t - 1 n h r e a d 的使用范围极为灵活,可以从资源极度紧张的小型系统, 到一个带内存管理单元,网络功能的基本计算单元。r t - t h r e a d 有着高度可配置, 易剪裁,扩展性好,可靠性高等特点,适合于嵌入式系统,实时系统。 本文详细介绍了r t - t h r e a d 微内核的设计与实现过程,从体系结构到各个功能 模块。 关键词:操作系统,嵌入式实时操作系统,微内核,r t - t h r e a d ,内核对象 w i t ht h er a p i dd e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y , e m b e d d e dr e a l t i m e o p e r a t i n gs y s t e m sa r ew i d e l yu s e di nm o r ea n dm o r ea r e a s ,s u c ha si n d u s t r yc o n t r o l , a e r oe l e c t r o n , m e d i c i n ea p p l i c a t i o n , v i r t u a lr e a l i t y , c o n s u m e re l e c t r o na n ds oo n , m u l t i - m e d i ac o m m u n i c a t i o ne t c m e a n w h i l en e wa r e a sa n dn e wa p p l i c a t i o n sp o s t e d m o r er e q u i r e m e n t st oe m b e d d e dr e a l - t i m eo p e r a t i n gs y s t e m s ,t h em o s ti m p o r t a n to f t h e mw e r eh a r dr e a l - t i m e h i g hr e l i a b i l i t ya n dh i g ha v a i l a b i l i t y m i c r o k e m e lo p e r a t i n gs y s t e mh a db e c o m et h eh o tt o p i co ft h ea c a d e m ea n d i n d u s t r yb e c a u s eo fi t sc o m p a t i b i l i t y , e x t e n s i b i l i t y , s c a l a b i l i t y , p o r t a b i l i t y , r e l i a b i l i t y a n dt h eb a i t o fd i s t r i b u t i n g h o w e v e r , m i c r o k e m e lw a sn o tp e r f e c t i t sp o o l p e r f o r m a n c eh a dc a u s e dm a n ya r g u e sa r o u n dm o n o l i t h i ck e r n e la n d m i c r o k e m e l a c a d e m ea n di n d u s t r yh a dd o n em a n yy e a r sr e s e a r c ha n dh a dd e v e l o p e dt h e s e c o n dg e n e r a t i o nm i e r o k e r n e lr e p r e s e n t e db yl 4o p e r a t i n gs y s t e m ,e s p e c i a l l yb r e a k t h eb o t t l e n e c ko fp r o c e s s e sc o m m u n i c a t i o n b a s i n go na n a l y s i s o fe x i s t i n go p e r a t i n gs y s t e ma r c h i t e c t u r e s , s u c ha si a , v x w o r l s , t h i st h e s i sp u t sf o r w a r da n di m p l e m e n tt h er t - t h r e a do p e r a t i n gs y s t e m w h i c hh a sg o o df u n c t i o na n dp e r f o r m a n c et h r o u g hn o to n l yc a r r y i n gt h ee x c e l l e n c e f o r w a r da n dl i m i t i n gt h es h o r t a g e ,b u ta l s oa d d i n go w nc h a r a c t e r i s t i c i ti sa n e m b e d d e dr e a l - t i m eo p e r a t i n gs y s t e mw h i c hb a s e so nk e r n e lo b j e c ta n db e l o n g st ot h e s e c o n dg e n e r a t i o nm i c r o k e m e lo p e r a t i n gs y s t e m r t - t h r e a dc a l lb ew i l d l yu s e df r o m e x t r e m e l yr e s o u r c e - s t r i c ts y s t e m st oac o m p u t eu n i tw i t hm m u a n dn e t w o r kf u n c t i o n i th a ds o m ef e a t u r e so fh i g he x t e n s i b i l i t y , g o o ds c a l a b i l i t y , g o o dp o r t a b i l i t ya n d r e l i a b i l i t y i tw a sv e r ys u i t a b l ef o re m b e d d e ds y s t e m sa n d r e a l - t i m es y s t e m s t h i st h e s i si n t r o d u c e dt h ed e s i g na n di m p l e m e n to ft h er t - t h r e a do p e r a t i n g s y s t e m ,f r o ma r c h i t e c t u r et oe v e r yf u n c t i o nm o d u l e k e yw o r d s :o p e r a t i n gs y s t e m ,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 r n e l ,r t - t h r e a d ,k e r n e lo b j c o t ; h 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 日期叼年妒中 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名: 醉 第一章绪论 1 1 选题背景和意义 第一章绪论 微内核系统一直是学术界的热点研究对象,因为良好的兼容性、扩充性、灵 活性、移植性,可靠性和分布式特性,使得微内核应用前景广泛。但是微内核导 致的效率问题一直是它的一块短板。 本文在深入分析多种内核结构的基础上,借鉴l 4 1 1 1 ,v x w o r k s 2 l 等诸多操作系 统的思想,扬长避短,加入自己的特色,提出并实现了在功能和性能上都有可比 性,属于第二代微内核f 卅操作系统范畴,基于内核对象的嵌入式实时操作系统 r t - t h r e a d 。在r i - 1 1 l r e a d 中提出并实现一些新的结构和模型,改进了系统性能, 提高了系统效率,对嵌入式实时操作系统的发展有着重要的理论和实际意义。 1 2 国内外发展状况 嵌入式系统是信息产业走向二十一世纪知识经济时代的最重要的经济增长点 之一,这是一个不可垄断的工业,对中国的信息产业来说充满了机遇和挑战。 嵌入式工业的基础是以应用为中心的芯片设计和面向应用的软件开发。实时 多任务操作系统( r t o s ) 进入嵌入式工业的意义,不亚于历史机械工业采用三视 图后的发展,对嵌入式软件的标准化和加速知识创新是一个里程碑。 未来r t o s 的应用可以划分为3 个不同的领域: 系统级:指r t o s 运行在1 个小型的计算机系统中完成实时的控制作用。这 个领域将主要是微软与s u n 的竞争之地,传统上u n i x 在这里占有绝对优势。s u n 通过收购,让它的s o l a r i s 与欧洲的c h o r u so s l 4 】结合,微软力推n t 的嵌入式版本 “w i n d o w sc e ”。此外,嵌入式l i n u x 将依托源代码开发和软件资源丰富的优势, 进入系统级r 1 d s 的市场。 板级:传统的r t o s 的主要市场,如v x w o r k s l 2 1 ,p s o s n ,q n x ! 们,l y n x 和v r t x 的应用将主要集中在航空航天,电话电讯等设备上。 s o c 级( 片上系统) :新一代r t o s 的领域,主要应用在消费电子,互联网络和 电子科技大学硕士学位论文 手持设备等产品上。代表的产品有s y m b i a n 的e p o c ,a l i 的n u c l e u s ,e x p r e s sl o g i c 的t h r e a d x 。老牌的r t o s 厂家的产品如v r t x 和v x w o r k s l 2 l 也很注意这个市场。 在移动通信领域,3 g 业务在全球得到了快速发展。据有关机构统计,到2 0 1 0 年, 全球3 g 用户将达5 亿。伴随着3 g 业务的迅猛成长,能有效支撑业务的智能手机 终端市场也被业界广泛看好,由此,手机操作系统领域的竞争也空前激烈,诺基 亚与爱立信、摩托罗拉等手机业巨头在英国成立了一家专门从事智能手机操作系 统研究和开发的公司s y m b i a n ,与微软形成了抗衡之势。 从某种程度讲,不会出现1 个标准的r t o s ,因为嵌入式应用本身就极具多样 性。在某个时间段以及某种行业,会出现一种绝对领导地方的r t o s ,比如今天在 宽带的数据通信设备中的v x w o r k s 2 1 但是,这种垄断地位并不是牢不可破的,因 为在某种程度上用户和合作伙伴更愿意去培养一个新的竞争对手。比如i n t e l 和 m o t o r o l a 的l i n e o 和m o n t i v i s t a ,这两家嵌入式l i n u x 系统,就是说明半导体厂商 更愿意看到1 个经济使用的,开放的r t o s 环境。 随着芯片设计和制作工艺水平的不断提高,各种高性能的处理器如p o w e r p c 、 a r m 、m 6 8 k 、m i p s 等3 2 位处理器在嵌入式系统中的应用越来越广泛,也为功 能完备,便于开发的较大型的操作系统在嵌入式系统中的应用提供了一个硬件平 台。 国外嵌入式操作系统已经从简单走向成熟,主要有v x w o r k l 2 1 、q n x l 6 i 、 p a l m o s 、w 铀d o w sc e ,嵌入式l i n u x 等。 w i n d o w sc e 内核较小,能作为一种嵌入式操作系统应用到工业控制等领域。 其优点在于便携性、提供对微处理器的选择以及非强行的电源管理功能。内置的 标准通信能力使w i n d o w sc e 能够访问i n t e r n e t 并收发e _ m a i l 或浏览w e b 。除此之 外,w i n d o w sc e 特有的与w i n d o w s 类似的用户界面使最终用户易于使用。 3 c o m 公司的p a l mo s 在掌上电脑和p d a 市场上独占其霸主地位,它有开放 的操作系统应用程序接口i ) ,开发商可根据需要自行开发所需的应用程序 q n x l 6 1 是由加拿大q s s l 公司开发的分布式实时操作系统,它由微内核和一组 共操作的进程组成,具有高度的伸缩性,可灵活地剪裁,最小配置只占用几十k b 内 存。因此,可以广泛地嵌入到智能机器、智能仪器仪表、机顶盒、通讯设备、p d a 等应用中去。 在众多的实时操作系统和嵌入式操作系统产品中,w i n d r i v e r 公司的v x w o r k s 是较为有特色的一种实时操作系统。v x w o r k s 支持各种工业标准,包括p o s i x 、 a n s ic 和t c p f l p 网络协议。v x w o r k s 运行系统的核心是一个高效率的微内核, 2 第一章绪论 该微内核支持各种实时功能,包括快速多任务处理、中断支持、抢占式和轮转式 调度微内核设计减轻了系统负载并可快速响应外部事件。在美国宇航局的“极 地登陆者”号、“深空二号”和火星气候轨道器等登陆火星探测器上,就采用了 v x w o r k s ,负责火星探测器全部飞行控制,包括飞行纠正、载体自旋和降落时的高 度控制等,而且还负责数据收集和与地球的通信工作。目前在全世界装有v x w o r k s 系统的智能设备数以百万计,其应用范围遍及互联网、电信和数据通信、数字影 像、网络、医学、计算机外设、汽车、火控、导航与制导、航空、指挥、控制、 通信和情报、声纳与雷达、空间与导弹系统、模拟和测试等众多领域。 l i n u x 是个与生俱来的网络操作系统,成熟而且稳定。l i n u x 是源代码开放软 件,不存在黑箱技术,任何人都可以修改它,或者用它开发自己的产品。l i n u x 系 统是可以定制的。系统内核目前已经可以做得很小一个带有中文系统及图形化 界面的核心程序也可以做到不足1 m b ,而且同样稳定。l i n u x 作为一种可裁减的 软件平台系统,是发展未来嵌入设备产品的绝佳资源,遍布全球的众多l i m l x 爱好 者又能给予l i n u x 开发者强大的技术支持。因此,l i n u x 7 作为嵌入式系统新的选 择,是非常有发展前途的。 国内的嵌入式操作系统研究开发有凯思集团公司自主研制开发的嵌入式操作 系统h o p e no s ( “女娲计划”) ,上海科泰世纪科技有限公司开发的和欣( e l a s t o s ) 嵌入式网络操作系统删等。 h o p c no s 是凯思集团自主研制开发的嵌入式操作系统,由一个体积很小的内 核及一些可以根据需要进行定制的系统模块组成。其核心h o p c nk e r n e l 一般为 1 0 k b 左右大小,占用空间小,并具有实时、多任务、多线程的系统特征。 和欣嵌入式网络操作系统是上海科泰世纪科技有限公司开发的拥有自主知识 产权的一款新一代适于网络应用的3 2 位嵌入式操作系统。作为一款优秀的国产嵌 入式实时操作系统,和欣操作系统有着如下特点。 和欣操作系统基于微内核,具有多进程、多线程、抢占式、基于线程的多优 先级任务调度等特性。提供f a t 兼容的文件系统,可以从软盘、硬盘、f l a s hr o m 启动,也可以通过网络启动。和欣操作系统体积小,速度快,适合网络时代的绝 大部分嵌入式信息设备。 和欣操作系统提供的功能模块全部基于c a r 构件技术,因此是可拆卸的构件, 应用系统可以按照需要剪裁组装,或在运行时动态加载必要的构件 从应用编程的角度看,和欣操作系统提供了一套完整的、符合c a r 规范的系 统服务构件及系统a p ! ,为在各种嵌入式设备的硬件平台上运行c a r 二进制构件 电子科技大学硕士学位论文 提供了统一的编程环境。 和欣操作系统还提供了一组动态链接构件库:图形系统构件库、设备驱动构 件库、文件系统构件库、网络系统构件库等。这些构件库通常是开发嵌入式应用 系统时不可缺少的。 和欣操作系统实现并支持系统构件及用户构件相互调用的机制,为c a r 构件 提供了运行环境。我们可以把和欣操作系统看成是直接运行在硬件平台上的“和欣 构件运行平台” 1 3 论文的研究内容 r t - t h r e a d 是发展中的下一代微内核嵌入式实时操作系统,被设计成一个宽范 围可用的系统,从资源极度紧张的小型系统,到一个带内存管理单元,网络功能 的基本计算单元,其研究重点在于以下几点: 系统结构合理,高效 灵活,可扩展性强 高度可配置 良好的可移植性 1 4 论文的章节安排 全文共分七章,对r t - t h r e a d 嵌入式实时操作系统的设计与实现进行了详细的 分析,本文作者的工作主要集中在第四,五,六章,章节安排如下。 第一章是绪论,通过对国内外嵌入式操作系统研究工作进行综述,总结了国 内外学术界和工业界关心的一些问题,并介绍了本文的研究背景和研究内容。 第二章介绍了嵌入式系统和实时系统的一些概念,微内核技术的历史,发展 及其优缺点,然后给出了r t - t h r e a d 采用微内核架构的原因。 第三章介绍了r t - t h r e a d 的整体结构,从总体上介绍r t - t h r e a d 的设计框架, 接着对r t - t h r e a d 框架中的元素逐个进行介绍,最后重点介绍了r t - t h r e a d 的内核 特点。 第四章是全文的重点部分,详细介绍了r t - t h r e a d 的设计和实现细节,对 r t - t h r e a d 的主要功能模块都作了详细的分析,包括内存对象管理模块,任务管理 模块,同步和通信管理模块以及内存管理模块, 4 第一章绪论 第五章介绍了r t - t h r e a d 的移植过程,掌握了r t - t h r e a d 的移植方法,就能够 很容易将r t - t h r e a d 应用到新的平台 第六章介绍了r t - t h r e a d 的测试方法和测试过程。铡试结果表明r t - t h r e a d 各 个功能模块正常工作 第七章对全文做出系统全面的总结,并对今后需要迸一步深入研究的方向傲 了展望。 5 电子科技大学硕士学位论文 第二章嵌入式系统及微内核 2 1 嵌入式系统概述 2 1 1 嵌入式系统 嵌入式系统是计算机系统的一种形式,通常是指以片级,板极或箱级形式嵌 入在宿主设备中的专用计算机系统,他们是以应用为中心,以计算机技术为基础, 软硬件可剪裁,用于特定设备,完成特定任务,对功能,可靠性,成本,体积, 功耗要求严格的系统,各种嵌入式系统虽然功能各异,但都具有功能强,实时性 强,结构紧凑,可靠性高等特点。 随着信息技术的日新月异,嵌入式技术发展也非常迅速。目前,嵌入式设备 在我们生活中已经无处不在。 当你每天早上起床,你给自己准备早饭,你打开微波炉,轻轻按了下电脑按 纽,这时你触发了嵌入式系统的一个事件,这个嵌入式系统开始为你服务。当你 吃完早饭,你开上你的车准备去上班,当你忘记关车门,这时有声音提醒你没关 车门,原来这又是嵌入式系统为你服务了,当你关上车门,可能你没有意识到, 但是你确实被包围在嵌入式系统的世界中了,如果你的车足够现代和先进,那么 可能同时有几十甚至上百个嵌入式系统在为你服务,当你想呼吸下新鲜空气,你 按了下手头的按纽,于是车窗玻璃随之哗哗下落;当你倒车遇到障碍,又会有声 音提醒你不要继续;当你发生危险,你的安全气囊会毫不犹豫的挺身而出,所有 这些,都是因为有嵌入式系统的默默支持。当你到了公司门口,掏出电话给你家 人打个电话,这时你发现,原来手机也是嵌入式系统。然后你开始工作了,你需 要从网上下载一份文档,把它打印出来交给你的老总,这时打印机,路由器这些 嵌入式设备又开始为你工作了,当你工作累了,你想休息一会,于是拿出你的 m p 3 ,开始享受起音乐带给你的愉悦和美妙,这时不用我介绍了,你已经知道, 又是嵌入式设备在为你服务。 总之,现在嵌入式计算在我们生活中已经无处不在,不管它是以独立的产品 出现,还是嵌入在传统产品之中,你是离不开他了。 6 第二章嵌入式系统及微内核 2 。1 。2 实时系统 实时系统【9 】可以定义成这样一类系统,即系统的正确性不仅取决于计算的逻 辑结果,而且还依赖于产生结果的时间,关键有两点:正确地完成和在给定的时 间内完成,而且两者的重要性基本上等同的。而针对于在给定的时间内功能性的 要求可以划分出常说的两类实时系统。 对于输入的信号、事件,实时系统应该能够在规定的时间内得到正确的响应, 而不管这些事件是单一事件、多重事件还是同步信号或异步信号。 和嵌入式系统类似,实时系统上也存在一定的计算单元,对系统的环境、里 面的应用有所预计,也就是很多实时系统所说的确定性:对一个给定事件,在一 给定的事件t 秒内做出响应。对多个事件、多个输入的响应的确定性构成了整个 实时系统的确定性。 嵌入式系统的应用领域十分广泛,并不是其所针对的专用功能都要求实时性 的,只有当系统中对任务有严格时间限定时,才有系统的实时性问题。具体的例 子包括实验控制、过程控制设备、机器人、空中交通管制、远程通信、军事指挥 与控制系统等。而对打印机这样一个嵌入式应用系统,人们并没有严格的时间限 定,只有一个”尽可能快的”期望要求,因此,这样的系统称不上是实时系统。 从上面所说的可以看出,实时系统是非常强调两点的:时间和功能的正确性。 判断一个实时系统的正确性也是这样的,在给定的时间内正确的完成相应的任务。 但也会有这种系统,在偶尔的情况下也会在给定时间之外正确的完成任务,这种 系统通常称为软实时系统。这也就构成了硬实时系统和软实时系统的区别。硬实 时系统严格限定在给定的时间内完成任务,否则可能就导致灾难的发生,例如导 弹的拦截,汽车的引擎系统。而软实时系统,可以允许一定的偏差,但是随着时 间的偏移,整个系统的正确性也随之下降,例如一个d v d 播放系统可以看成一 个软实时系统,可以允许它偶尔的画面或声音延迟。 2 1 3 实时操作系统 实时操作系统是指在规定时间内完成对外部事件的响应和处理。如果一个操 作系统能使计算机系统及时地魄应外部请求,并能在一个规定的时阈内完成对事 件的处理,那么该操作系统就是一个实时操作系统。实时操作系统是事件驱动的, 它强调的是实时性,可靠性,为应用软件提供良好的软件运行环境。 根据实时系统的场合和开发过程,实时系统可分为两种,一般实时操作系统 7 电子科技大学硕士学位论文 和嵌入式实时操作系统。一般实时操作系统应用于查询等实时性较弱的系统,并 且开发,调试,应用环境一致。而嵌入式实时操作系统应用于实时性要求高的控 制系统,采用交叉开发环境。嵌入式实时操作系统的特定是规模小,实时性强, 可固化。 i e e e 的实时u n i x 分委会认为实时操作系统应具备以下几点要求。 1 ) 对异步事件的响应 为了能在限定时间内响应异步事件,实时操作系统需要有中断处理能力。 2 ) 任务切换时间和中断延迟时间确定 3 ) 优先级任务 必须允许用户定义任务的优先级 4 ) 抢占式调度 为确保响应时间,必须允许高优先级任务抢占低优先级任务 5 ) 内存锁定 必须将程序或部分程序锁定在内存中,从而减少了为获取该程序而访问外部 存储器的时间,确保确定,及时的响应时间。 6 ) 连续文件 为使存取数据查找耗时最少,通常要求把数据存储在连续文件上。 7 ) 同步与互斥 提供任务管理所需的同步与互斥机制。 2 1 4 嵌入式实时操作系统 嵌入式实时操作系统是操作系统研究的一个重要分支,它与般桌面操作系 统,如u n i x ,w i n d o w s 等,最大的不同之处在于,桌面操作系统的目的是追求 系统资源最大利用率和公平对待所有的系统请求;而嵌入式实时操作系统追求的 是实时性、可确定性、可靠性以及面向特定应用的特性。 2 2 微内核设计 微内核的概念是卡内基梅隆大学开发m a c h l l o 1 1 躲作系统时提出的,m a c h 的 目标是建立一个能够运行不同操作系统平台下的应用程序的操作系统平台。它建 立了一个基于消息通信机制的小内核,在此基础上建造操作系统模拟层来模拟其 他操作系统的特性。这个基于消息通信机制的内核就成了微内核的雏形,它提供 第二章嵌入式系统及微内核 了进程管理,线程管理,内存管理,通信管理和i o 管理等操作系统基本要件, 在这个微内核之上,m a c h 在操作系统模拟层上以用户进程方式构造了很多操作 系统模拟程序来模拟b s d 、s y s t e mv 、h p a j x 、m s d o s 等操作系统的特性,使 得不同操作系统下的应用程序都能够在对应的模拟程序支持下运行所以微内核 设计极大的提高了操作系统的兼容性,使得基于微内核的操作系统能够模拟其它 操作系统的特性,从而支持许多运行于其它操作系统上的应用程序。 微内核设计带来的另外一个重要优点是提高了操作系统的灵活性。微内核设 计的一个目标就是内核只提供对操作系统绝对必要的功能,而把其它属于传统操 作系统内核部分的功能留给用户态进程来实现。在m a c h 操作系统中,传统上属 于操作系统内核功能的文件系统等放在用户态进程实现了。本质上说,微内核可 以被看作是对传统操作系统共性的进一步抽象,这种进一步的抽象使得内核只提 供机制,而把实现策略留给用户态进程。这样,用户可以在不改动操作系统内核 的前提下,动态扩展或裁剪跟系统需求相关的模块,如文件系统模块,网络模块, 设备管理模块等,这种特性在嵌入式操作系统中显得尤其重要。 其次,在基于微内核的操作系统上,所有的处理器相关的代码都被封装在微 内核中,从而使得操作系统有较好的移植性。因为微内核体积较小,所以移植工 作也较少。 此外,微内核系统的可靠性也较好,因为很多属于传统操作系统的内核模块 在微内核操作系统中被安排在用户空间运行,这些模块都以用户进程的形式在系 统中存在。因此,在传统操作系统中,某个类型的内核模块出错,则可能会导致 整个操作系统的崩溃。而在微内核操作系统中,一个进程的出错不会影响其他进 程,从而保证了系统的稳定,可靠。 最后,微内核系统具有与生俱来的分布式特性,在远程消息机制的支持下, 可以将不同的服务进程放在不同的处理上运行,从而使操作系统自然的具有分布 式处理的能力。 总的来说,微内核设计带来了良好的兼容性、扩充性、灵活性、移植性,可 靠性和分布式特性。但是,微内核设计有个重要缺点:在微内核操作系统中, 各个功能组件以用户进程的形式隔离,组件功能必须通过与其他组件的通信来完 成,例如某个组件需要把文件写入文件系统,这时,它需要和文件系统组件进行 通信,用到的是进程间通信机制。而在传统的操作系统中,文件系统模块在内核 中实现,用户一般通过系统陷入操作切换到内核,来完成写文件这个操作。自然, 进程间通信机制比系统陷入的效率低的多,因为进程间通讯涉及创建消息,发送 9 电子科技大学硕士学位论文 消息,删除消息以等系列操作,这些操作本身开销很大,加上微内核系统会导致 进程之间以及进程与内核之间的频繁切换,这些切换使地址空间也不断被切换, 最终c a c h e 利用率也大大降低,导致微内核系统的效率比传统单核操作系统低很 多,进程间通信也因此成了微内核操作系统的瓶颈。 为了解决微内核操作系统的瓶颈问题,以l 4 1 2 1 3 1 4 , 1 5 , 1 6 1 为代表的新一代微内 核操作系统应运而生。l 4 微内核的核心功能是支持一个基于消息传送的i p c 原 语,以便在此基础上实现高性能的r p c 机制。 此外,l 4 微内核还提供了地址空间管理原语和线程管理原语。l 4 的地址空 间管理原语负责内存地址空间的映射,支持三个操作:g r a n t 、m a p 和f l u s h 。基 于这些操作,l 4 可以支持由不同的用户进程以不同的策略来映射页面。l 4 的线 程管理原语使得线程调度能够由用户进程以不同的策略来实现,从而支持用户态 的线程调度器。 2 3 微内核的应用 目前,微内核技术1 1 7 】已经被很多公司和研究机构研究和应用f 1 8 ,1 9 , 2 0 ! o s f 1 m k 这是开放式系统基金会的o s f 1 u n i x 操作系统使用微内核研 究的最新版本。它实现了m a c h 内核,并提供虚拟存储管理、进程间通信和设备 驱动程序管理。 u n i xs v r 4l i n i x 系统实验室公司推出了一个微内核的u n i xs v r 4 。它实 现了n u c l e u s 微内核。它提供前面讨论的所有微内核特征;然而,在微内核中不 管理驱动程序。 w o r k p l a c eo si b m 的微内核是基于m a c h 微内核的,用户可以选择不同的运 行于操作系统上的接口,如d o s 、o s 2 、w i n d o w s 、u n i x 等。i b m 微内核 的体积很小( 约4 0 k ) ,可处理基本的任务,如存储器管理、线程管理、中断管理 和消息传递。 象m a c h 和n u c l e u s 这样的微内核操作系统,使用户可以自己选择操作系统 的接口和特性。它们十分适合可以选择多处理器和多操作系统的变化的计算机市 场,开发商也可从中受益它们能够很快地从一个系统向另一个系统移植他们的 产品,使最终用户可以得到许多应用产品。这种模块化的设计也保证了可以得到 大量的可选服务。 r t 用1 r e a d 也使用微内核技术,设计成一个非常适合于嵌入式系统,实时系 1 0 一 苎三兰堂全苎墨竺墨堡塑堡 - _ _ _ _ _ - _ _ - _ _ _ _ _ - _ _ _ _ _ - _ - _ _ - _ _ - _ _ _ _ _ _ _ _ _ - - 一一 统等专用目的系统,及剪裁容易的操作系统, r t - t h r e a d 微内核架构和l 4 非常相似,并且也引入了一些l 4 的机制,例如 线程虚拟寄存器的概念等。但它和m 明显不同的地方是,它的核心是一个强实 时的核心,并且能够通过i p c 接口与内核对象交互。另外,r t - t h r e a d 也属于第 二代微内核操作系统范畴,中断处理部分也通过i p c 的方式传递给用户态的驱动 服务来处理。我们将在下一章对r t - t h r e a d 的微内核结构做详细的介绍 电子科技大学硕士学位论文 第三章r t - t h r e a d 操作系统结构 3 1r 鼻t h r e a d 概述 r t - t h r e a d 实时操作系统是由操作系统爱好者熊谱翔发起并组织的开源项目, 源代码全部对外开放,开发人员均为操作系统爱好者,目前由r t - t h r e a d t e a m 负 责开发和维护,笔者为该团队中的核心开发人员。 r t - t h r e a d 是发展中的下一代微内核嵌入式实时操作系统,被设计成一个宽 范围可用的系统,从资源极度紧张的小型系统,到一个带内存管理单元,网络功 能的基本计算单元。为了达到这一目的,它被设计成一个非常适合于嵌入式系统, 实时系统等专用目的系统,及剪裁容易的微内核操作系统 s t :t 矗f d i i t c t r 仉口砷- c x l a , n t ls p t e t 田 i s 。h f l i _ j 旱 h ”抽。厂i f l! 堂。型:2i 图3 - 1r t - t h r e a d 系统结构图 第三章r t - t h r e a d 操作系统结构 3 2r t - t h r e a d 的基本结构 r t - t h r e a d 的核心是一个支持线程优先级全抢占的实时调度核,而作为一个 微内核,核的功能仅仅包含非常基本的线程调度,线程间通信模型。中断处理部 分可根据实际的要求放到核心来处理或由用户态设备驱动来处理。用户态支持多 进程,进程与内核通过几条简单的系统调用来获得内核服务。 r t 1 1 b r c a d 系统结构如图3 1 所示,从整个系统的角度来说,系统采用的是 微内核结构。最核心的是g k e m e l ,它仅仅负责内核线程的调度,内核线程间的 通信等功能。b s p 应完成最基本的中断管理功能:把中断向量用一个向量表来包 装起来。当有中断发生时,b s p 把这个中断递交到g k e m e l 。当有中断嵌套发生 时,# k e r n e l 将保证在中断嵌套期内不发发生线程的上下文切换,直到中断嵌套 完成。整个系统的地址空问分成用户空间和内核空间,一般的应用程序都运行在 用户空间内,而在内核空间将运行一定的系统服务进程以进行地址空阃的操作。 同时为了支持任务模式,内核可运行数个内核线程。进程由一个或数个实时线程 组成( r t - t h r e a d ) ,进程与进程,进程与内核线程间的通信通过少数的几条快速 系统调用原语完成。内核系统进程内核空间中存在一个特权的进程:p a g e t a s k , 用于切换用户任务的地址空间( 虚拟空间,在具备m m u 模块的情况下有效) 1 2 1 捌。 u s t rs 1 ) e e k e r n ds p a c e 圈filesys(n圈圈tetworkserwr s e r v 。 iff g ill l s 盯v e r iilli 圈s e r v e r 圈圈s e r v e r lfi s e r y 盯 ili ? 一,毫砖 即t _ c 出 r 。 、 习 亘 , 。io b j e e tm g e m e a tl * lt i 也t i m e ri ik e n e l 哪l 。s k r e a d ,n f e “s c l l e d l d e rl m r d - r 图3 - 2r t - t h r e a d 微内核结构示意图 1 3 电子科技大学硕士学位论文 r t - t h r e a d 微内核微结构如图3 - 2 所示,l k e m e l 是系统的核心模块,负责完 成线程l 纠间的调度,线程间的通信等功能。主要分成一下几块; t h r e a d , t h r e a ds c h e d u l e r 2 4 2 5 硐:负责完成线程管理及调度,内部用优先级 队列实现,默认支持2 5 6 个系统优先级。 o b j e c tc o n t a i n e r l 2 7 捌:系统实现一个内核对象管理器,负责管理线程间同步 及通信中用到的对象。 k e r n e lm m :内存管理模块,实现高效的静态内存管理及快速的内核堆内存 管理 t i c k , t i m e r :负责系统时钟以及定时器的管理。 t h r e a d :i r o :i r q 实时线程【适用于系统支持进程的情况下】,当b s p 有中断 传递给内核时,内核将把t h r e a d :i r q 唤醒,l r qt h r e a d 产生一个i p c 原语给等 待的用户进程 t h r e a d :k e r n e lk e r n e l :实时线程【适用于系统支持进程的情况下】,当一个用 户进程需要使用内核对象时,用户进程会使用i p c 向k e r n e lt h r e a d 发送请求, k e r n e lt h r e a d 获得请求后进行相应的处理。 t h r e a ds c h e d u l e r 在内核内部,线程被安排成一个优先级队列,优先级为0 2 5 5 ,其中0 7 为内核线程保留使用。8 6 3 为系统服务使用( 例如任务服务, 名称服务,设备服务等等) 6 4 保留为s h e l ls e r v e r 使用,6 5 2 5 4 为用户程序使用, 2 5 5 由空闲线程单独使用。 3 2 1r t - t h r e a d 的内核模块 r t - t h r e a d 系统结构示意图如图2 - 1 所示,g k e m e l 是系统的r t - t h r e a d 的内 核模块,负责完成线程间的调度,通信等功能。主要分成以下几块: 实时线程调度器负责完成线程管理及调度,内部用优先级队列实现,默认支 持2 5 6 个系统优先级。 对象管理器实现一个内核对象管理器,负责管理线程间同步及通信中用到的 内核对象。 内存管理模块,实现了高效的静态内存管理及快速的内核堆内存管理。 f i n s h 是一个可接受c 语言表达式的s h e l l 程序,它是和r t - t h r e a d 内核绑定 在一起的,通过它能够直接在s h e l l 中调用系统函数,访问系统变量。 此外,内核中还有时钟管理器,中断管理器为其他模块提供必要的支持。 1 4 第三章r t - t h r e a d 操作系统结构 3 2 2r t - t h r e a d 的周边模块 r t - t h r e a d 的周边模块包括b s p 模块、r t - g u i 模块、r t - i p 模块、r t - d f s 模块和r t - t h r e a db u i l d e r 等。 板级支持包b s p ( b o a r ds u p p o r tp a c k a g e ) 对各种板子的硬件功能提供了统 一的软件接口,它包括硬件初始化、中断的产生和处理、硬件时钟和计时器管理、 局域和总线内存地址映射、内存分配等等。每个板级支持包括一个r o m 启动 ( b o o tr o m ) 或其它启动机制。 r t - g u i 为支持r t - t h r e a d 的g u ls e r v e r 模块。 r t - i p 是以b s dt c p a p 协议栈为基础的t c p i p 协议服务模块。 r t - d f s 是支持多种媒介的文件服务模块。 r t - t h r e a db u i l d e r 是r t - t h r e a d 的集成开发环境,用于裁剪,编译内核。 3 3r t - t h r e a d 的内核特点 1 ) 内核对象系统 系统具备内核对象管理系统,能够访问管理所有内核对象。内核对象包含了 内核中绝大部分设施,而这些内核对象可以是静态分配的静态对象,也可以是从 系统内存堆中分配的动态对象。通过内核对象系统,r t - t h r e a d 可以做到不依赖 于具体的内存分配方式,伸缩性得到极大的加强。 2 ) 任务,线程调度 支持以线程为调度单位的多任务系统。调度算法是基于优先级的全抢占式线 程调度,支持2 5 6 个线程优先级,0 优先级代表最高优先级,2 5 5 优先级留给空闲 线程使用;支持创建同优先级线程,相同优先级的线程采用可设置时间片的轮转 调度;调度器寻找下一个最高优先级就绪线程的时间是恒定的( 0 ( 1 ) ) 。系统不限 制线程数量的多少,只和物理平台的具体内存相关。 3 ) 同步机制 系统支持s e m a p h o r e ,m u t e x 等线程间同步机制。m u t e x 采用优先级继承方式 以防止优先级翻转。s e m a p h o r e 释放动作可安全用于中断服务例程中。同步机制 支持线程按优先级等待或按先进先出方式获取信号量或互斥锁。 4 ) 通信机制 系统支持e v e n t f a s te v e n t ,m a i l b o x ,m e s s a g eq u e u e 通信机制等。e v e n t 支持 电子科技大学

温馨提示

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

评论

0/150

提交评论