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

(计算机应用技术专业论文)基于osekvdx标准的嵌入式实时操作系统的研究与实现.pdf.pdf 免费下载

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

文档简介

重庆邮电人学硕士论文摘要 摘要 嵌入式系统融合了微电子、计算机软硬件、通信和电子工程等多种技术, 广泛应用于航空、航天、仪器仪表、工业控制、家用电器、信息家电和3 c ( c o m p u t e r , c o m m u n i e a t i o n & c o n t r 0 1 ) 等领域,是科技集成创新的主要手段。在 嵌入式技术中,嵌入式实时操作系统已经得到了充分的发展和应用,它使得嵌 入式系统开发更加快速和方便。而在汽车工业领域,为了满足日益庞大复杂的 汽车电子控制软件的开发需要,实现应用软件的可移植性和不同厂商的控制模 块l 日j 的可兼容性,欧洲汽车工业界提出了o s e k v d x 标准,这个标准用于汽 车电子应用领域实时操作系统的开发。如何开发出安全、可靠、高效的面向汽 车电子的嵌入式实时操作系统软件,是目前国内外汽车行业都比较关心的问 题。 本文为针对符合o s e k v d x 标准的车用实时操作系统的设计和实现进行 了探讨,主要内容包括: 1 分析了0 s e 刚v d x 标准,并提出为满足系统在各不同微处理器硬件平 台的移植采用的硬件无关部分与硬件相关部分完全独立的体系结构。 2 分析了系统采用的任务管理和调度机制,以及为其服务的事件处理机 制、资源管理、消息处理机制和报警机制等。 3 研究了为使系统满足小内存需求,所采用的堆栈分配机制,并分析了 系统与硬件相关部分的具体实现。 关键词:汽车电子,嵌入式系统,o s e k v d x 标准,实时操作系统 重庆邮电人学硕十论文a b s t r a c t a b s t r a c t e m b e d d e ds y s t e mi n v o l v e sm u c ht e c h n o l o g y , i n c l u d i n gm i c r o - e l e c t r o n i c s ,t h e s o f t w a r e & h a r d w a r eo f c o m p u t e r , c o m m u n i c a t i o n ,e l e c t r o n i ce n g i n e e r i n g ,a n ds o0 1 1 i t h a sb e e n u s e di n e v e r yw a l ko fl i f e s u c h 硒a v i a t i o n , s p a c e f l i g h t , i n s t r u m e n t , i n d u s t r i a l - c o n t r o l , a p p l i a n c ee q u i p m e n t ,i n t e l l i g e n tf a c i l i t y , a n d c o m p u t e r , c o m m u n i c a t i o n & c o n t r 0 1 e m b e d d e ds y s t e md e s i g ni sam a i nm e t h o do fs c i e n c ea n d t e c h n o l o g yi n n o v a t i o n i nt h ea r e ao fe m b e d d e dt 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 ( e r t o s ) h a sb e e nw i d e l yd e v e l o p e da n di m p l e m e n t e d , w h i c h f a c i l i t a t e sa n de a s e st h ee m b e d d e ds y s t e md e v e l o p m e n t i np a r a l l e l ,i nt h ea u t o m o t i v e i n d u s t r yf i e l d ,f o rs a t i s 句i n gt h en e e d so f d e v e l o p m e n to f c o m p l e xa u t o m o t i v ee l e c t r o n i c c o n t r o ls y s t e m sa n dr e a l i z i n gt r a n s p l a n t a t i o no fa p p l i c a t i o ns o f t w a r ea n dc o m p a t i b i l i t y o fm a n yc o n t r o lm o d u l e sf r o md i f f e r e n tm a n u f a c t u r e r s ,e u r o p ep u t sf o r w a r dt h e o s e k v d xs t a n d a r d , w h i c hi sa i l n i n ga ts t a n d a r d i z i n gr t o si na u t o m o t i v ee l e c t r o n i c f i e l d h o wt od e v e l o pe r t o s t a r g e t e dt oa u t o m o t i v ee l e c t r o nw i t hs a f e ,r e l i a b l ea n d h i 曲e f f i c i e n tp e r f o r m a n c ea t t r a c t sd o m e s t i ca n df o r e i g na u t o m o t i v ei n d u s t r i e s t h ed e s i g na n dr c a l i z a t i o no fo s e k - c o m p l i a n tr t o si se x p l o r e di nt h i sp a p e r t h i st h e s i sm a i n l yf o c a s e so nt h r e ea s p e c t sa sf o l l o w i n g : f i r s t l y , o s e k v d xs t a n d a r di sa n a l y z e d ;t h es y s t e ms t r u c t t l r eo fs e p a r a t e dc o d e s r e l a t e dw i t l lp m c e s s o rf o rs a t i s f y i n gt r a n s p l a n t a t i o no fs y s t e ma m o n gd i f f e r e n th a r d w a r e p l a t f o r m si sp u tf o r w a r d s e c o n d l y , t h et a s km a n a g e m e n ta n ds c h e d u l em e c h a n i s mu s e di nt h es y s t e mi s a n a l y z e d t h ee v e n tp r o c e s s i n gm e c h a n i s m ,r e s o u r c em a n a g e m e n t , m e s s a g ep r o c e s s i n g m e c h a n i s ma n da l a r mm e c h a n i s mw h i c hs u p p l ys e r v i c e sf o ri ta r ea l s oi n t r o d u c e d l a s t l y , t h eo p t i m i z a t i o nm e c h a n i s mo fs t a c ka s s i g nf o rs a t i s f y i n gt h en e e d so f s y s t e m sw i t hs m a l lm e m o r yi se x p l o r e d a n dt h er e a l i z a t i o no fp a r t sr e l a t e dw i t h p r o c e s s o ri sa n a l y z e d k e yw o r d s :a u t o m o t i v ee l e c t r o n ,e m b e d d e ds y s t e m ,o s e k v d xs t a n d a r d ,r t o s 儿 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研 究成果。据我所知,除了文中特别加以标注和致谢的地方钤,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得重废虹电太堂或其他教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡 献均己在论文中作了明确的说明并表示谢意。 学位论文作者躲舞庑延签字慨协7 年昀日 学位论文版权使用授权书 本学位论文作者完全了解 重麽虹电太堂有关保留、使用学位论文的规 定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查 阅和借阕。本人授权 重麽整直太堂可以将学位论文的全部或部分内容编入 有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论 文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 叠一忘k 签字日期:己 r 0 7 年多月参日 导师签名:房触固 签字日期:知乃) 年月彦曰 重庆邮电大学硕士论文 第一章绪论 第一章绪论 1 1 课题的研究背景及意义 1 1 1 汽车电子发展趋势 汽车工业电子化是现代汽车发展的重要标志之一。目前每辆汽车采用电子装置 的情况已成为衡量汽车档次高低的主要标准。未来汽车市场的竞争是汽车电子化 的竞争。八十年代以来,国外应用计算机技术和微电子技术推出了具有多种检测 和控制功能的汽车电子系统,使汽车的性能和质量得到很大的提高,并且还解决 了汽车环保生态问题。使用这些电子控制装置后,明显地改善了汽车的动力性、 可靠性、安定性、舒适性、便利性和经济燃油性。 汽车电子工业是一个潜力巨大的产业。据美国通用汽车公司报道,至八十年代 未,美国平均每辆汽车装备的电子产品价值8 6 1 美元,若按此水平对我国2 0 1 0 年 轿车所装汽车电子装备进行计算,则年需2 8 0 亿元人民币的电子产品装备。目前 国外汽车电子系统在汽车价格中所占比例已达2 0 ,而且这一比例还在不断扩大。 伴随着全球汽车市场的飞速发展,汽车电子产业在中国也进入到一个跳跃式增 长期。汽车工业将成为我国经济的支柱产业。近几年中国汽车电子产业的年增长 率超过5 0 ,成为拉动汽车工业发展的重要因素,人们普遍看好汽车产业和电子信 息产业的结合将为汽车制造业带来新的增值空闻。 汽车电子产品可以分为两类:一类是车载汽车电子装置,例如汽车音响等,它 们和汽车本身的性能无直接关系,属于汽车的附加值都分:另一类是汽车电子控制 系统,例如电子燃油喷射系统、制动防抱死控制( a b s ) 系统、电子控制悬架系统等, 它们直接影响着汽车的性能。 就车载汽车电子装置而言,目前国内有较好的开发基础,今后关键是控制成本, 提高质量,增强全球市场的竞争力。而汽车电子控制系统具有投资较大、开发周 期长、技术难度大等特点,虽然中国已有一些企业从事技术研发,但还没有形成 产业化,因此这一行业还没有发展起来。特别是如今市场上面对的都是国外实力 强大的跨国汽车电子公司,加上国内电子行业对汽车电子控制系统所知有限,先 天不足加上后天“营养”不足,这些都会影响国内汽车电子产业化进程。 重庆邮电大学硕士论文 第一章绪论 1 1 2 汽车电子嵌入式软件技术的发展趋势 随着全球汽车行业竞争的加剧,汽车电子产品和软件市场已经成为国际汽车巨 头开展竞争的新战场:而同时随着汽车电子系统复杂度的提高,以往一个企业单打 独斗、“垂直综合型”产品丌发模式己经很难满足复杂丌发任务和成本目标的需 要。在丌发和管理与应用不相关的控制单元软件时,尤其像车用嵌入式操作系统 内核等软件,存在重复的巨额开销。因为不同的接口和协议,不同厂商生产的控 制单元没有兼容性。为缩短开发周期,提高丌发效率,当今汽车电子行业正通过 增强国际问合作,分享汽车电子领域的技术积累,从“垂直综合型”产品丌发模 式向“水平分业型”产品开发模式转变。 从技术的角度看,汽车电子嵌入式软件技术主要发展趋势包括以下几点: 实现分离:控制算法由领域专家设计,软件丌发人员柬实现。从而保证控制 算法的专业性和软件实现的高效性。 应用与平台相独立:可以满足多种汽车电子控制单元应用丌发需求,减少重 复工作,缩短丌发周期,提高效率和可靠性。 系统设计模型化:降低嵌入式软件开发的复杂度,提高软件的可维护性和扩 展性。 系统实现自动化:在以模型为中心的软件设计的基础上,自动生成系统代码、 系统文档以及测试案例,成为加快汽车电子软件开发进程的最佳选择。 基于验证的可靠性保障:在系统设计的每一个阶段都能对系统的设计进行验 证,保证了系统设计的完备性,是对系统进行仿真和测试的基础。 系统架构标准化:将汽车电子软件架构标准化,提高汽车电子软件的复用性 和可移植性。 1 1 3 本课题的研究意义 为了满足臼益庞大复杂的汽车电子控制软件的开发需要,实现应用软件的可移 植性和不同厂商的控制模块日j 的可兼容性。1 9 9 3 年5 月,由德国k a r l s r u h e 大学 协调,联合b m w 、b o s c h 、d a i m l e r - c h r y s l e r 、o p e l 、s i e m e n s 和v w 等汽车制 造商共同合作“o f f e n es y s t e m eu n dd e r e ns c h n i t t s t e l l e nf u rd i ee l e k t r o n i ki m k r a f t f a h r z e u g ( 德文,译文大意为用于汽车电子的、带有接1 3 的丌放式系统,简称 o s e k ) ”项目。与此同时,在法国,p s a 和r e n a u l t 开发了一个类似的系统,该 系统被称为“v e h i c l ed i s l r i b u t e de x e c u t i v e ( 简称v d x ) ”。1 9 9 4 年,这两个项目 合并,一年后o s e k n d x 标准( 简称o s e k 标准) 问世,旨在为汽车上的分布控制 2 重庆邮电大学硕士论文 第一章绪论 单元提供一个丌放结构的工业标准“1 。0 $ e k 标准从实时操作系统、软件接口、通 信和网络管理等方面对汽车的电子控制软件丌发平台作了较为全面的定义与规 定。 目前,该标准已成为汽车电子行业实事上的国际标准。嵌入式实时操作系统是 嵌入式系统的基础和丌发平台。研究与开发遵循o s e k 标准的嵌入式实时操作系 统对提升汽车电子领域嵌入式软件自主开发能力,大大缩短汽车电子产品开发周 期,提高汽车电子产品软件代码重用率,节省汽车电子产品开发成本,提高产品 的性价比均有较大的意义。 1 2 研究课题的国内外发展现状及问题 1 2 。1 嵌入式实时操作系统的发展概况 近1 0 年来,嵌入式实时操作系统得到飞速的发展,从支持8 位微处理器到1 6 位、 3 2 位甚至6 4 位;从支持单一品种的微处理器芯片到支持多品种微处理器芯片:从 只有实时内核到除了内核外,还提供其他功能模块,如高速文件系统、t c p i p 网 络系统、g u i 系统等呻 。 目前,嵌入式实时操作系统及其应用丌发环境的发展动向是: 嵌入式实时操作系统证向实时超微内核方向发展。近几年来,国外发展了一 种基于微内核思想设计的精巧的嵌入式微内核,即实时超微内核。超微内核是一 种非常紧凑的基本内核代码层,为嵌入式应用提供了可抢占、快而确定的实时服 务。在它的基础上,可以灵活地构造各种类型的、与现成系统兼容的、可伸缩的 嵌入式实时操作系统。因此,能满足应用代码的可重用性和可扩展性的需求。 丌发环境向丌放性、集成化的方向发展。由于嵌入式应用软件的特殊性,往 往要求应用程序设计者具:存一定的实时操作系统的专门知识,能合理地划分任务、 合理地配置系统以及目标联机的调试。因此,要设计实现一个高性能的实时应用 软件,需要强有力的交叉玎发工具系统的支持。国外十分重视发展与实时操作系 统配合的嵌入式应用的集成开发环境,现已发展至0 第三代,它以客户服务器的系 统结构为基础,具有运行系统的无关性、连接的无关性、开放的软件接口( 与嵌入 式实时操作系统,与丌发工具,与目标环境的接口) 、环境的一致性、宿主机上的 目标仿真的特点。嵌入式实时操作系统及其应用开发环境丁f 在向开放集成化的方 向发展。 3 重庆邮电大学硕士论文第一章绪论 1 2 2 基于o s e k 标准的嵌入式实时操作系统发展概况及存在的问题 基于o s e k 标准的嵌入式实时操作系统发展概况 从o s e k 标准产生开始,国外很多公司从事基于o s e k 标准的嵌入式实时操 作系统的研究与开发工作。主要包括有:m e t r o w o r k s 公司的o s e k t u r b o v e c t o r 公司的o s c a n 和w i n d r i v e r 公司的o s e k w o r l 【s 等“。 o s e k m r b o 是一个小型、快速、可靠、可扩展的实时操作系统,提供了一套 r t o s 服务来丌发嵌入式应用程序,为实时应用程序提供快速任务切换时1 b j 。 o s c a n 是一个多任务操作系统,在微控制器上的使用有着最优性能。基于 v e c t o rl n f o r m a t i k 公司在微控制器操作系统和驱动程序上的多年经验,o s c a n 的出 现代表了更小、稳定的操作系统内核。o s c a n 是一个静态操作系统,小而快,是 完全抢占式操作系统,提供控制优先缴的任务管理和不同的同步机制,支持基于 时间和基于事件的体系。在中断服务程序罩也可使用系统服务。 0 s e k w o r k s 提供了高度模块化的体系,令用户可定制应用程序所使用的o s 服务,优化存储器使用率。对特定对象,如任务,可根据不同o s e k 类进行裁剪。 调度策略以任务和资源的优先级排列,用户可在其中选择,配合以事件和中断处 理程序的适当使用,柬优化应用程序速度。 基于o s e k 标准的嵌入式实时操作系统已在a d a mo p e l ,b m w , d a i r n l e r - c h r y s l e r , r o b e rb o s c h 等厂商的汽车电子产品得到较好的应用“1 。通过使用 基于o s e k 标准的嵌入式实时操作系统,较好的提高了不同芯片间的协调工作能 力,并为软件丌发者提供统一的编程接口;同时,提高了软件的复用性,从而降 低了车用软件的开发成本:缩短了开发时间。 最近凡年国内包括清华大学、浙江大学在内的高校和科研机构也丌始从事基 于o s e k 标准的嵌入式实时操作系统的研究工作”叫,目前还都普遍处于概念产品的 阶段,需经历个根据实际应用不断完善的过程。 存在问题 如上所述,目前国外公司在基于o s e k 标准的嵌入式实时操作系统方面,已 经有相对成熟的产品,在功能和性能上能较好的满足汽车电子嵌入式系统的应用。 但是,国内尚没有较成熟的基于o s e k 标准的嵌入式实时操作系统商用产品,这 对我国自主发展汽车电子控制技术是很不利的。另方面,在现有诸如o s e k t u r b o 等类产品的实现中,在移植性方面主要考虑了基于操作系统上开发的应用程序强 移植性,而未充分考虑操作系统内核本身在各不同硬件平台上的可移植性,从而 使得操作系统在基于各不同硬件平台上的实现完全独立,如需操作系统在不同硬 件平台的应用,必须在原有系统基础上进行很大程度的修改与开发,使移植代价 4 重庆邮电大学硕士论文 第一章绪论 很高。并且为使系统满足硬件环境较苛刻的需求,尤其是小内存的要求,在现有 实现思想上可做包括堆栈分配在内的一些优化工作。 1 3 课题来源及主要内容 1 3 1 课题来源 本文的研究课题主要针对汽车制动防拖死系统( a b s ) 和汽车仪表系统等汽 车电子产品对嵌入式操作系统高可靠性、强实时性、小内存、针对多种处理器移 植灵活等个性化需求丽提出,从而开发完全遵循o s e k 标准并具有自主知识产权 的嵌入式实时操作系统a u t o o s e k 。主要课题有: 国家“8 6 3 ”计划重大软件专项课题汽车电子控制的嵌入式系统丌发平台 及其应用( 2 0 0 4 从1 2 2 3 8 0 ) 重庆市信息产业发展专项资金课题支持汽车电子的嵌入式软件平台( 渝 信) n 2 0 0 5 1 1 9 9 号) 1 3 2 本文的主要内容 深入研究分析了o s e k 标准,提出了自主研发的a u t o o s e k 系统的功能需 求,设计出硬件无关部分与硬件相关部分完全独立的体系结构。 完成了硬件无关部分的软件设计和实现。使系统支持全抢占调度、非抢占 调度和混合调度等多种任务调度方式;系统支持事件处理机制和资源管理等多种 同步方式,并可通过消息处理机制完成任务间通信。 以m o t o l o n ah c s l 2 系列芯片为基础开发平台,研究硬件相关部分的设计和 实现,以及堆栈空自j 分配机制的优化。并使系统可方便的移植到从8 位到3 2 位多 种流行微处理器。 对系统进行了功能和性能测试,并介绍了a u t o o s e k 系统的实际应用情况。 1 3 3 本文的主要创新点 为考虑操作系统内核本身移植灵活性,在系统设计时充分分析了o s e k 标准 要求实现的功能,将需与具体硬件直接交互部分压低到最低限度并提取出来,采 用了硬件无关部分与硬件相关部分完全独立的体系结构。从而使系统在不同微处 理器硬件平台上移植时,只需更改硬件相关部分代码即可实现要求。从而最大程 重庆邮电大学硕士论文 第一章绪论 度上降低了系统移植的复杂性。 并且系统设计时考虑到在硬件资源有限尤其是对成本控制要求很严格的汽车 仪表系统中的应用,根据o s e k 标准特有的任务管理和调度方式采用了优化堆栈 空| 日j 分配机制等策略,从而减少了系统运行时所需空间大小。 1 4 论文的组织 本论文是按照以下顺序进行论述: 第一章介绍背景、研究现状、课题来源和论文组织。 第二、三章主要对本课题的背景知识和相关领域进行简单介绍,其中第二章主 要对嵌入式实时操作系统进行了概述,第三章对o s e k 标准进行了介绍。 第四章主要分析为满足系统便于在不同微处理器上的移植,a u t o o s e k 系统所 采用的硬件无关部分与硬件相关部分完全独立的体系结构,以及各模块的具体实 现。着重分析了与硬件无关的任务管理与调度、资源管理、事件处理机制、消息 和报警处理策略,以及与硬件相关的中断服务程序和中断管理机制。 第五章是对a u t o o s e k 系统的功能测试和性能测试,其中性能测试主要对系统 的可靠性、实时性、移植性、占用空间以及可配置性和扩展性等方面测试。并对 a u t o o s e k 系统的实际应用进行了介绍。 第六章总结了本论文工作并对下一步的工作进行了展望。 6 重庆邮电入学硕七论文 第二章嵌入式实时操作系统概述 第二章嵌入式实时操作系统概述 嵌入式操作系统是随着嵌入式系统的发展而出现的,它是嵌入式系统发展到一 定阶段的产物“”。嵌入式操作系统的出现,将大大提高嵌入式系统开发的效率, 改变以往嵌入式软件设计只能针对具体的应用从头做起的历史。在嵌入式操作系 统之上开发嵌入式系统将减少系统开发的工作量,增强嵌入式应用软件的可移植 性,使嵌入式系统的开发方法更具科学性。 由于嵌入式系统大多数都用于控制目的,对系统的实时性要求较高,所以嵌入 式操作系统往往又是实时操作系统“4 。 2 1 嵌入式实时操作系统特征 嵌入式实时操作系统并不是简单的操作系统,它与通常意义上的操作系统有一 定的区别,嵌入式实时操作系统负责嵌入式系统的全部软、硬件资源的分配、调 度工作,控制并协调并发活动,它必须体现其所在系统的特征,能够通过装卸某 些模块来达到系统所要求的功能“。与通用的操作系统相比,嵌入式实时操作系 统具有如下特征: 实时性。为满足在大多数实时性要求很高的环境中运行,嵌入式实时操作系 统必须将实时性作为一个重要方面来考虑。 占有资源少。嵌入式系统所能提供的资源有限,所以嵌入式实时操作系统必 须做到占有资源少以满足嵌入式系统硬件的限制。 可装卸。由于嵌入式系统需要根据应用的要求进行装卸,所以嵌入式实时操 作系统也必须能够根据应用的要求进行装卸,去掉多余的部分,或者简化相应的 模块。 固化代码。在嵌入式系统中,嵌入式实时操作系统和应用软件被固化在嵌入 式系统计算机的r o m 中。辅助存储器在嵌入式系统中很少使用。因此,嵌入式实 时操作系统的文件管理功能应该能够很容易地拆卸,取而代之的是各种内存文件 系统。 弱交互性。大多数嵌入式系统的工作过程不需要人的干预。嵌入式实时操作 系统的用户接口一般不提供操作命令,它通过系统调用命令向用户程序提供服务。 强稳定性。嵌入式系统一旦开始运行就不要人过多的干预。在这种条件下, 要求负责系统管理的嵌入式实时操作系统具有较高的稳定性。 7 重庆邮电大学硕士论文第二章嵌入式实时操作系统概述 2 2 嵌入式实时操作系统的实现关键技术 2 2 1 实时任务调度 嵌入式实时操作系统中的任务调度策略目前使用最广的主要可分为两种:静 态表驱动方式和优先级抢先式调度方式“”。静态表驱动方式是指在系统运行前, 根据各任务的实时要求用手工生成任务的运行时间表;优先级抢先式调度方式有 以下几种调度算法: 抢占调度:如果有更高优先级的任务准备就绪,并且当前任务是可抢占的, 则当前任务将被更高优先级的任务抢占; 时间片或轮转调度:对于具有相同优先级的任务,并且任务的时间片设置 是可用的,则每个任务运行轮流相同的一段时间片; 手工轮转调度:这种调度方式也是针对具有相同优先级的任务,由调用相 应系统服务时产生,当前任务立即放弃处理器,并将该任务放到具有相同优先级 的任务链的末端。 2 2 2 可剥夺内核 一般认为只有可剥夺型内核的操作系统才可以称为实时操作系统“”,绝大多 数商业的嵌入式实时内核都是可剥夺型内核。 可剥夺型内核是指最高优先级的任务一旦就绪,总能得到c p u 的使用权。这样 就可以保证就绪的最高优先级的任务,往往也是最重要的任务,能够及时得到运 行。 2 2 3 任务通信和同步 在嵌入式实时操作系统应用中需要任务之间或中断与任务间的信息传递。, 这种信息传递被称为任务间的通信,任务间的信息传递通常有两种途径:通过全 局变量和任务间互相发送消息。 另一方面,任务间的同步是指某一任务的继续执行是以另一任务或中断服务 程序的执行为条件的,当有等待所需的条件发生了,该任务才会继续执行,实现 任务间的同步通常采用信号量机制。 8 重庆邮电人学硕士论文第三章o s e k 标准概述 第三章o s e k 标准概述 o s e k 标准是用于分布式实时结构的一组标准,它最核心的部分包含四个标 准:操作系统( o s ) n 力、通信( c o m ) 【1 8 3 、网络管理o q h dn 9 1 和o s e k 实现语言( o i l ) , 其结构如图3 1 。 图3 1o s e k 核心标志结构 其中o s 为操作系统的特性提供了一组公用的a p i 函数。c o m 为通讯网络中的 数据交换提供了标准的接口和协议。n m 为监视网络的流量提供了一组标准的功能 函数,以保证网络的安全性和可靠性。o i l 为操作系统和通讯的实现提供系统的配 置和对象描述。另外,o s e k 标准还包括的部分有:o r t i ( o s e kr u nt i m ei n t e r f a c e ) 提供对调试接口的定义;o s e k t i m e ( o s e k t i m e ) 定义应用程序的时间性约束;f t c o m ( f a l u l tt o l e r a n tc o m m u n i c a t i o n ) 定义有时间保证的通讯协议,被看作 o s e k t i m e 的一个部分。 o s e k 标准具体包含的服务有任务管理( t a s k m a n a g e m e n t ) 、调度( s c h e d u l e r ) 、 i s r 管理( i s r m a n a g e m e n t ) 、资源管理( r e s o u r c em a n a g e m e n t ) 、计数器( c o t m t e f ) 、报 警( a l a r m ) 、事件( e v e n t ) 、通讯( c o m m u n i c a t i o n ) 、错误处理( e r r o rh a n d i n g ) 、钩子 例程( h o o kr o u t i n g ) 。 下面对o s e k 标准中最核心的四个标准一介绍。 3 1o s e ko s 标准 0 s e e0 s 标准定义操作系统内核的实现机制和应用编程接口( a p i ) ,包括任务 管理机制、中断处理机制、事件处理机制、资源管理机制、报警器管理机制等及 相关标准的应用编程接口。 9 重庆邮电大学硕士论文 第三章o s e k 标准概述 3 1 1o s e ko s 的特点: o s e k 标准为实现其制定的初衷并满足汽车控制领域对系统安全性和节省有限 资源的特殊要求,制定了系统而全面的操作系统标准,其特点主要有以下几个方 面”1 : 实时性 由于越来越多的微处理器被应用到汽车控制领域,如汽车a b s 、动力设备的安 全控制等。这些系统直接关系着人的生命安全,即使出现丝毫的差错也会导致危 及生命安全的严重后果,因此要求操作系统具有严格的实时性。o s e k 操作系统通 过静态的系统配置、占先式调度策略、提供报警机制和优化系统运行机制以提高 中断响应速度等手段来满足用户的实时需求。 可移植性 o s e k 标准详细规定了操作系统运行的各种机制,并在这些机制基础上制定了标 准的应用程序编程接口;使那些独立编写的代码能够很容易地整合起来,增强了 应用程序的可移植性。o g e k 还制定了标准的o i l ,用户只需更改o i l 配置文件中与 硬件相关部分,便可实现不同微处理器之间的应用程序移植。通过这些手段,减 少了用于维护应用程序软件和提高它的可移植性的花费,降低了应用程序的开发 成本。 可扩展性 为了适用于广泛的目标处理器,支持运行在广泛硬件基础上的实时程序,o s e k 操作系统具备高度模块化和可灵活配置的特性。它定义了不同的符合类 ( c o n f o r m a n c ec l a s s e s ) ,并采用对不同应用程序有可靠接收能力的体系结构,从 而增强了系统的可扩展性。 3 1 2o s e k0 s 的运行机制分析 任务管理和调度 在o s e k 操作系统中,任务管理能力相对有限,这是因为系统的任务设置在系 统生成时已经定义好了,并且系统中任务的数量保持不变,不允许动态创建和删 除任务。o s e k 标准把任务分为基本任务和扩展任务“”。基本任务状态包括:就绪 态、运行态和挂起态。任务切换只发生在这三种状态之间;扩展任务除了具有基 本任务的三种状态外,还有等待态,并支持事件处理机制。基本任务和扩展任务 各自状态间切换如图3 2 所示: 1 0 重庆邮电大学硕士论文第三章0 s e k 标准概述 一 f 蕃 , 图3 2 两类任务切换图( 左:基本任务,右:扩展任务) 基本任务通常在开始运行后,只有当它被高优先级任务占先或者是被中断时, 它才会停止,否则一直运行到任务结束。而扩展任务除了能被高优先级的任务占 先和被中断外,还会因等待事件而停止运行,进入等待态。处于等待态的扩展任 务只有当它所等待的事件中至少有一个发生才会被激活继续运行。 基本任务的优点是运行现场大小适中。但基本任务没有等待状态。同步点只 位于任务的开始和结束。因此,应用程序需要内部同步点时,只能由多个基本任 务来实现。扩展任务能进入等待状态,所以比基本任务包含更多的同步点。但运 行现场比基本任务大。对操作系统来说,管理扩展任务比管理基本任务更复杂, 系统开销更大。 o s e k 标准允许任务终止自身,但不允许终止其它任务。这一限制减少了操作 系统的开销。操作系统不允许任务从挂起状态转换到等待状态,因为这一转换是 多余的,还会增加调度程序的复杂性。 处于就绪态的任务由调度程序调度运行,o s e k 标准采用静态优先级调度策略。 有以下三种调度方式“”: 1 ) 完全抢占式调度 处于该调度策略时,运行的任务在任何时候都有可能被高优先级的任务抢占, 而被操作系统剥夺占有c p u 的权力。当高优先级任务进入就绪状态,完全抢占式调 度就把当前运行的任务转换到就绪状态。任务的运行环境将被保存,使被抢占的 任务能在被抢占点继续。该调度策略用于保存现场的内存开销较大。理论上可以 在任务的任何位置重调度,因此任务必须同步访问共享资源,从而增加了系统复 杂性。如图3 3 所示:低优先级的任务t 2 并不耽误高优先级的任务t 1 运行。 图3 3 完全抢占式调度实例 重庆邮电人学硕士论文 第三章0 8 e k 标准概述 2 ) 非抢占调度 与全抢占式调度不同,非抢占调度策略只能通过调用某些服务例程实现任务切 换,即用户设萱重调度点。非抢占式调度对有时间要求的任务会有限制。尤其是 一个低优先级任务的运行会影响高优先级任务的运行。如图3 4 所示,优先级较低 的任务t 2 使得优先级较高的任务t 1 直到t 2 结束时才启动。 图3 4 非抢占调度实例图 3 ) 混合抢占调度 抢占任务和非抢占任务共存于一个系统时,使用“混合抢占”调度策略。在 这种情况下,调度策略依赖于正在运行任务的抢占特性。如果运行任务是非抢占 的,则执行非抢占调度;如果运行任务是抢占的,则执行抢占调度策略。只在下 述情况时,完全抢占系统中定义非抢占任务才有意义:任务执行时间和切换时间 接近;节约使用内存;任务不允许被抢占。一般应用很少包含具有长执行时间的 并行任务,但可能包含大量具有预定义较短执行时间的任务。对前者来说,完全 抢占的操作系统是合适的。而对于后者,非抢占的调度会更有效。为了实现性能 和效率的折衷,可以使用混合抢占调度策略。软件开发者或系统集成人员,通过 配置任务优先级和抢占属性,来定义任务执行顺序。o s e k 操作系统中的任务类型 ( 基本的或扩展的) 独立于调度类型( 可抢占的或非抢占的) 。 同步机制 o s e k 提供了两种同步机制,即对共享资源的互斥访问机制和事件处理机制“”。 1 ) 资源管理 o s e k 的资源可以是一段临界区代码、调度程序、共享内存或数据结构,也可 以是共享硬件设备。大多数多任务多进程的操作系统都提供了在任务或进程问共 享资源的方法,典型的方法有信号量和互斥,这些方法的缺点是可能引起优先级 反转或死锁。o s e k 标准提供了优先级天花板协议管理资源的方法,可以避免上述 缺点。 a 优先级反转 优先级反转是指当资源被锁时,低优先级任务抢占高优先级任务。通常实时 1 2 重庆邮电大学硕士论文第三章o s e k 标准概述 系统在处理多个任务对共享资源的互斥访问时,采用信号量对临界区数据或资源 加锁。在某一时刻只能有一个任务访问资源,但是用信号量机制可能会导致优先 级反转,即当一个高优先级的任务试图访问一个已经被较低优先级的任务占用的 资源时,则该高优先级的任务必须等待,直到低优先级的任务释放该资源。这时 如果有大量的介于前两个任务优先级之间的任务被激活,而且它们根本不使用该 资源,那么,占据资源的低优先级任务就会被占先,等待资源的高优先级任务也 不能执行,而中间优先级的任务要先于高优先级的任务运行,从而发生优先级反 转。图3 5 显示了在通用实时操作系统中出现优先级反转的情况。由于t 1 和t 4 共享资源s 1 而发生的优先级反转。其中t l 、t 2 、t 3 、t 4 的优先级依次为从高到 低排序。 巨3 5 优先级反转实例图 在该图中,初始时任务t 4 运行,占用信号量s 1 ,而后t 1 就绪,由于优先级 较高,抢占任务t 4 ,使t 4 处于就绪态,t 1 运行,t l 运行至申请占用资源s l ,由 于s 1 已被t 4 占用,则t l 处于等待态。在此过程中,由于t 2 、t 3 就绪,并且优 先级高于t 4 ,t l 需等待1 2 、t 3 运行完毕且t 4 运行至释放资源s 1 处才可继续运 行,发生优先级反转,严重影响了高优先级任务的实时性。 b 优先级死锁 当两个任务都已占用了一个资源,而且又试图访问对方所占有的资源时,它 们无限期地相互等待下去,这一现象称为优先级死锁。图3 6 显示了通用操作系 统中发生死锁的情况。 图3 6 优先级死锁实例图 在上图中,由于任务t 1 、t 2 分别占用资源s 1 、s 2 且未释放,而后又分别申 请对资源s 2 、s 1 的占用。从而两任务均处于无限等待状态,发生优先级死锁,使 重庆邮电大学硕士论文 第三章o s e k 标准概述 系统无法正常运行。 c 优先级天花板协议 为防止优先级的反转和死锁发生,o s e k 操作系统采用了优先级天花板协议 ( p r i o r i t yc e i l i n gp r o t o c o l ,简称p c p ) 。将系统中用到的每一资源在初始配置 时如同任务一样定义一静态优先级。p c p 协议如下“: a ) 资源的优先级下限大于或等于访问这个资源的历有任务中最大的优先级。 b ) 资源的优先级上限小于所有不访问该资源且优先级大于a ) 中出现的最大 优先级的任务的最小优先级。 c ) 当任务对资源加锁时,任务的优先级暂时被设为该资源的优先级。 d ) 当任务对资源解锁时,任务的优先级还原为它定义的静态值。 通过p c p 协议的实现,当一个任务占用了一个资源后,该任务的优先级会临时 升高为该资源优先级。其优先级为可能使用该资源的所有任务优先级的最高值 这样,该任务只会被不使用该资源并且比该资源的优先级高的任务强占,直到它 释放该资源为止。因此,当一个任务试图占用一个资源的时候,不可能有任何其 他任务正占用着该资源,也就不会有因试图占用资源而进入等待态的任务。同时 该协议中不存在等待任务,自然也就避免了死锁。 图3 7 显示了o s e k 操作系统在全抢占调度策略下,遵循p c p 协议管理资源时 任务调度情况。 图3 7 全抢占调度策略下遵循p c p 协议管理资源实例图 在图中,任务t 0 、t 1 、t 2 、t 3 、t 4 依次按优先级从高到低排序,其中任务 t l 和t 4 共享资源,则按p c p 协议规定,将该共享资源优先级设为大于等于任务 t l 的优先级,小于任务t 0 的优先级。初始时t 4 运行,申请占有资源,则t 4 优先 级暂时升为资源优先级。而后t 1 就绪,由于其优先级不大于t 4 当前的优先级, 则不能完成对t 4 的抢占,同理t 2 、t 3 的就绪也不会引起任务调度,随后任务t o 就绪,由于其优先级高于资源优先级,则t o 抢占t 4 运行,等t o 到挂起态,t 4 继 1 4 重庆邮电大学硕士论文 第三章o s e k 标准概述 续运行至释放资源,其优先级恢复为原来优先级,则t 1 抢占任务t 4 运行,而后 任务t l 申请对资源的占用,同理其优先级暂时升为资源优先级,而后由于释放资 源其优先级恢复为原优先级,继续运行直至成挂起态,然后t 2 、t 3 、t 4 按优先级 高低依次执行。 2 ) 事件处理机制 事件处理机制为o s e k 操作系统提供的另一种同步机制。该机制的含义是,一个 处于等待状态的扩展任务,只有当它所等待的事件至少有一个发生,才能进入就 绪态,并且事件的发生会以信号的方式传给该任务。事件处理机制既可用于多个 任务的同步,同时也是任务内部通信的方法之一。虽然只有扩展任务才可以等待 事件,但设置这些事件的却可以是任何任务或中断服务程序。有一点要注意,为 了遵循占用了资源就不被阻断的原则,必须避免一个占用了资源的任务因等待事 件而进入等待状态。 图3 8 说明了扩展任务在全抢占调度策略下通过事件处理机制实现任务的同 步。其中扩展任务t 1 的优先级高。 图3 8 全抢占调度策略下扩展任务同步图 在该图中,任务t l 起始由于等待事件处于等待状态,t 2 处于运行状态。当 t 2 给任务t 1 设置其等待事件,系统转到调度程序完成任务切换,t 1 从等待态 转为运行态。任务t 2 由于被t 1 抢占c p u 处于就绪态。t 1 运行一段时间后清除 事件继续运行,到某一时刻t 1 由于再次设置等待事件,系统重新启动调度程序 完成任务切换,t l 转为等待态,t 2 运行。 图3 9 说明了扩展任务在非抢占调度策略下通过事件处理机制实现任务的同 步。其中扩展任务t l 的优先级高。 1 5 重庆邮电大学硕士论文第三章o s e k 标准概述 图3 9 非抢占调度策略下扩展任务同步图 在该图中,任务t 1 起始由于等待事件处于等待状态,t 2 处于运行状态,当 t 2 给任务t 1 设置其等待事件,由于为非抢占调度策略,t 2 继续运行,直到调 用系统a p i 启动重调度服务,转到调度程序完成任务切换,t 1 从等待态转为运 行态。任务t 2 由于被t l 抢占c p u

温馨提示

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

评论

0/150

提交评论