(计算机系统结构专业论文)基于μcosⅡ的车载操作系统设计与实现.pdf_第1页
(计算机系统结构专业论文)基于μcosⅡ的车载操作系统设计与实现.pdf_第2页
(计算机系统结构专业论文)基于μcosⅡ的车载操作系统设计与实现.pdf_第3页
(计算机系统结构专业论文)基于μcosⅡ的车载操作系统设计与实现.pdf_第4页
(计算机系统结构专业论文)基于μcosⅡ的车载操作系统设计与实现.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(计算机系统结构专业论文)基于μcosⅡ的车载操作系统设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着汽车工业的飞速发展,汽车电控单元( e l e c t r o n i cc o n t r o lu n i t ,e c u ) 的数 量越来越多。大量e c u 的使用对汽车控制程序也提出了更高的要求。汽车电子 控制从硬件到软件都变得更复杂。由于汽车生产厂家在硬件的选择和软件的开发 上都相对独立,从而导致汽车电子软硬件呈现多元化状态。接口不兼容,应用程 序可移植性差等问题也日益突出。如何统一标准,建立一个符合当代汽车电子的 嵌入式操作系统已经成为一个迫切需要解决的问题了。 为了解决这些问题,o s e k v d x 规范就孕育而生了。o s e k v d x 规范是欧 洲汽车行业在2 0 世纪9 0 年代中期开发的一个有关汽车电子设计的规范。该标准 定义了嵌入式操作系统、网络通信和网络管理等方面的标准接口,这使得汽车电 子软件的可重用性、可兼容性提高,避免了重复开发,提高了开发效率。与此同 时,各大著名汽车生产商都采用此规范的车载操作系统。使o s e k v d x 规范更 具实际用途。因此,如何设计出符合o s e k v d x 规范的操作系统具有非常重要 的研究意义。 本文首先介绍了o s e k v d x 规范,并分析其运行机制。然后深入分析了嵌 入式实时操作系统i lc o s i i 的工作原理,分析二者的差异,通过修改l ac o s - i i 内核,设计出一种符合o s e k v d x 规范的车载嵌入式操作系统。并从任务管理 与调度、资源管理、警报与计数器管理、事件管理和中断管理等多方面,详细的 介绍了该系统的主要设计思想。并以m p c 5 5 5 芯片为硬件平台,给出了具体实现。 本文主要的工作和特色为: 1 根据o s e ko s 的机制和| ic o s i i 内核的特点,给出解决方案。本文首先 阐述了o s e ko s 具体运行机制,包括任务管理,中断管理,资源管理,事件管 理,计数器和计数器管理等。接着对uc o s i i 内核从同一角度分析了其特点。 最后给出了可行的解决方案。 2 总体设计。首先对要实现的系统进行需求分析,给出系统具体功能描述。 然后,给出所要实现系统的集成开发环境和硬件平台。最后给出具体的系统结构 划分。 3 数据结构和接口设计。本文针对系统每个功能模块,给出核心的数据结构 以及相应的数据项说明。并将接口划分为内部接口和外部接口。列举出大部分接 口,并对接口进行详细的功能说明。 4 运行设计及系统功能测试。详细介绍了系统初始化过程,并对各个功能模 块从系统启动到进入系统稳定状态以后,内部运行机制进行了详细分析。最后, 摘要 对系统核心功能模块进行测试,验证其是符合o s e k 规范的操作系统。 关键词:汽车电子,o s e k n d x ,1 tc o s i i 内核,嵌入式实时操作系统 i i a b s t r a c t w i t hm er a p i dd e v e l o p m e n to fa u t o m o b i l ei n d u s t r y ,t h en u m b e ro fv e h i c l e e l e c t r o n i cc o n t r o lu n i t s ( e l e c t r o n i c c o n t r o lu n i t ,e c 功 i s i n c r e a s i n g c o n t i n o u s l y w i d e 。r a n g e u s eo fe c ur e q u i r e sh i g h e rq u a l i t y o fv e h i c l ec o n t r o l p r o g r a m m e a n w h i l e ,t h eh a r d w a r ea n ds o f tw a r eo f v e h i c l ee l e c t r o n i cc o n t r o lh a v e b e c o m em o r ea n dm o r ec o m p l e x a u t o m o b i l e m a n u f a c t u r e r sa r er e a l a t i v e l y i n d e p e n d e n tf r o me a c ho t h e rb o t hi n t h ec h o i c eo fh a r d w a r ea n ds o f ts o f t w a r e d e v e l o p m e n t w h i c hl e a d st od i v e r s i f i c a t i o no ft h eh a r d w a r ea n ds o f t w a r eo f v e h i c l e e l e c 仃o n i c s i n t e r f a c e sa r en o tc o m p a t i b l ea n dt h ep r o b l e m so f , s u c ha sp o o rp o r t a b i l i t y o fa p p l i c a t i o np r o g r a m m sh a v eb e c o m em o r eo b v i o u s h o wt ou n i f o r ms t a n d a r d sa n d e s t a b l i s han e wv e h i c l ee m b e d d e do p e r a t i n gs y s t e mi na c c o r d a c ew i t hc o n t e m p o r a r y v e h i c l ee l e c 仃o nh a sb e c o m ea ni m p o r t a n tp r o b l e m sw h i c h n e e d st os o l v e du r g e n t l y t os o l v et h e s ep r o b l e m s ,o s e k v d xs p e c i f i c a t i o n sh a v ec o m ei n t ob e i n g o s e k v d xs p e c i f i c a t i o n sw e r ed e v e l o p e di nt h em i d 2 0 t hc e n t u r yb y t h ee u r o p e a n a m o m o b i l ei n d u s t r y t h es p e c i f i c a t i o n s d e f i n e dt h es t a n d a r d i n t e r f a c eo ft h e e m b e d d e do p e r a t i n gs y s t e m s ,n e t w o r kc o m m u n i c a t i o n sa n dn e t w o r km a n a g e m e n t , 、】v :h i c hm d k e sv e h i c l ee l e c t r o n i c ss o f t w a r er e u s a b i l i t y , i n c r e a s e sc o m p a t i b i l i t ya n d a v o i d sd u p l i c a t i o no fd e v e l o p m e n t ,t h u si m p r o v i n gd e v e l o p m e n te f f i c i e n c y a tt h e s a m et i m e l o t so fw e l l k n o w na u t o m o b i l em a n u f a c t u r e r sh a v ea d o p t e d t h i so p e r a t i n g s v s t e m t h e r e f o r e ,h o wt od e s i g na no p e r a t i n gs y s t e mi na c c o r d a n c ew i t ho s e k v d x o p e r a t i n gs y s t e ms t a n d a r dh a sm u c hs i g n i f i c a n c e t h i sp a p e rf i r s t l yi n t r o d u c e st h eo s e k v d xs p e c i f i c a t i o n s ,a n da l s oa n a l y z e s i t so p e r a t i o n a lm e c h a n i s m a n dt h e nt h o r o u g h l ya n a l y z e so p e r a t i n gp r i n c i p l e s o r e m b e d d e do p e r a t i n gs y s t e mi t c o s i i b y i n ga n a l y z i n gt h ed i f f e r e n c e sb e t w e e nt h e t w os y s t e m sa n dm o d i f y i n gt h ek e m e lo f c o s i i ,t h ep a p e rd e s i g n sa i le m b e d d e d v e h i c l eo p e r a t i n gs y s t e mi nl i n ew i t ho s e k v d xs p e c i f i c a t i o n s t h ep a p e r i n t r o d u c e si nd e t a i lt h ed e s i g np h i l o s o p h yf r o mt h et a s km a n a g e m e n t a n dt a s ks h e d u l e , r e s o u r c em a n a g e m e n t ,a l a r ma n dc o u n t e rm a n a g e m e n t , e v e n tm a n a g e m e n ta n d i n t e r r u p tm a n a g e m e n ta n de t c a n dm e a n w h i l e ,b a s e do nm p c 5 5 5c h i ph a r d w a r e , o s e ko si si m p l e m e n t a t i o n t h ec h a r a c t e r i s t i c so ft h ep a p e ri s : 1 t h es o l u t i o ni ss u g g e s t e da c c o r d i n gt ot h em e c h a n i s mo fo s e ko sa n dt h e c h a r a c t e r i s t i c so ft h ek e r n e lo f 肛c o s - i i t h i sp a p e rf i r s t l ys t a t et h es p e c i f i co p e r a t i n g h i a b s t r a c t m e c h a n i s mo fr t c o s 1 1w h i c hi n c l u d e st a s km a n a g e m e n t ,i n t e r r u p t i o nm 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 ,e v e n t m a n a g e m e n tc o u n t e ra n dc o u n t e rm a n a g e m e n t ,e t c t h e n t h ep a p e ra n a l y z e st h ec h a r a c t e r i s t i c so ft h ek e r n e lo f i _ t c o s i if r o mt h es a m ep o i n to f v i e w a n df i n a l l yt h ep r a c t i c a ls o l u t i o ni ss u g g e s t e d 2 o v e r a l ld e s i g n f i r s t l yi ti sn e e d e dt om a k ead e m a n d a n a l y s i so ft h es y s t e mt o b er e a l i z e da n dd e t a i l e dd e s c r i p t i o no fs p e c i f i cf u n c t i o n so ft h es y s t e m a n dt h e nt h e i n t e g r a t e dd e v e l o p m e n te n v i r o n m e n ta n dh a r d w a r ep l a t f o r mw h e r et h es y s t e mi s r e a l i z e da r ep r o v i d e d f i n a l l y , t h ed e t a i l e dp a r t i t i o no ft h es y s t e ms t r u c t u r e 3 d a t as t r u c t u r ea n di n t e r f a c ed e s i g n i nt h i sp a p e r , t h ec o r ed a t as t r u c t u r ea n dt h e c o r r e s p o n d i n gd a t ai l l u s t r a t i o nw i l lb eg i v e nt oe a c hf u n c t i o n a lm o d u l eo ft h es y s t e m i n t e r f a c ei sd i v i d e di n t oi n t e m a la n de x t e r n a li n t e r f a c e s m o s to ft h ei n t e r f a c e sa r e c i t e da n dc o m p l e m e n t e dw i t hd e t a i l e df u n c t i o n a ld e s e r i p t i o n 4 o p e r a t i o nd e s i g na n ds y s t e mf u n c t i o n a lt e s t f i r s t ,ad e t a i l e de x p l a n a t i o no ft h e p r o c e s so fs y s t e mi n i t i a l i z a t i o nw i l lb eg i v e n t h e ni n t e r n a lo p e r a t i o nm e c h e n i s m a f t e rt h es y s t e mb e c o m e ss t a b l ew h e ne v e r yf u n c t i n a lm o d u l e sh a v eb e e ni n i t i a l i z e d w i l lb ea n a l y z e d a tl a s t ,c o r ef u n t i o n a lm o d u l eo ft h es y s t e mw i l lb et e s t e di no r d e rt o v e r i f yw h e t h e ri ti si na c c o r d a n c ew i t ht h er e g u l a t i o n so fo s e ko ft h eo p e r a t i n g s y s t e m k e yw o r d s :a u t oe l e c t r o n ;o s e k v d x ;i 且c o s - i i ;e m b e d d e dr e a lt i m eo p e r a t i n g s y s t e m i v 圹”。t ! 日录 f 目录 图2 1 任务状态转换阳 图2 1 任务状态转换卜- 1 图2 2r t c o s i i 任务:i 足态转换 图3 1o i l 解释器原耻 图3 2o i l 配置器流 图 图3 3m p c 5 5 5 结构譬 图3 4t o u c a n 模块 图3 5b s p 在嵌入式:) j :发的位: 图3 6b s p 设计框图置 图3 7 驱动程序管珊:。r 叫分 图3 ,8 驱动程序管翻:,一“j 分 图3 9o s e ko s 内4 :i i 。协 图3 1 0o s e ko s 内l :雠= 。结 图4 1c a n 中断流i : 图4 2 数据帧结构 图4 3 远程帧格式 图4 4 错误帧格式 图4 5 过载帧格式 图6 1 系统启动流1 : 图6 2 代码重置时nj 图6 3 报警器运行杉 图6 40 s e kc o m j :j :燃垮i 图6 5o s e kc o m t 引0 ,i 图6 6 任务运行界 图6 6 任务运行界i i 图6 7 任务运行界i f 图6 7 任务运行界i j 图6 8 中断设置流 图6 9i s r 1 类中断 l 6 j 6 9 1 7 18 :! ( ) 2 1 :! :! :! :; :1 3 2 :; ? :1 6 :1 6 3 7 3 7 :;8 :;l ; 3 8 4 9 ! ;1 ! ;6 ? ! ;7 j 收模型5 9 6 : 6 :; 6 3 6 3 6 4 6 1 ; 插图目录 图6 1 0i s r 一2 类中断抢占失败6 5 表格目录 表格目录 表2 1o s e k 操作系统一致类7 表3 1 可选的异常向量地址2 4 表5 1 时间接口4 0 表5 2 任务切换相关函数4 0 表5 3 任务管理器接口4 0 表5 4 中断管理器接口4 1 表5 5 资源管理器接口4 1 表5 6 事件管理器接口4 1 表5 7 计数器和报警器管理接口4 2 表5 8 交互层与应用的a p i 接口4 2 表5 9 开始服务接口4 3 表5 10 交互层与底层的a p i 接口4 4 表5 1 1 任务管理器内部接口4 4 表5 1 2 中断管理器内部接口4 5 表5 1 3o s e kc o m 内部接口4 6 表5 1 4o s e kc o m 内部接口4 6 表6 1 复位配置字选择4 9 表6 2 任务的属性5 9 表6 3 报警器测试结果6 6 x 中国科学技术大学学位论文原创性声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究工作所取得的成 果。除已特别加以标注和致谢的地方外,论文中不包含任何他人已经发表或撰写 过的研究成果。与我一同工作的同志对本研究所做的贡献均已在论文中作了明确 的说明。 作者签名:裂之_签字日期:兰竺丝:纠 中国科学技术大学学位论文授权使用声明 作为申请学位的条件之一,学位论文著作权拥有者授权中国科学技术大学拥 有学位论文的部分使用权,即:学校有权按有关规定向国家有关部门或机构送交 论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。本人 提交的电子文档的内容和纸质论文的内容相一致。 保密的学位论文在解密后也遵守此规定。 函公开口保密(年) 作者签名:楚兰二导师签名: 签字日期:墨翌堡:圣! 签字日期: 第1 章绪论 1 1课题的研究背景 第1 章绪论 随着科技的飞速发展与汽车技术的不断提高,现在的汽车中采用了大量的微 处理器。这就对相应的汽车控制软件提出了更高的要求。汽车控制软件在不断地 升级同时,应用软件接口不兼容,可移植性和可重用性差等问题日益突出。为了 解决这些问题。2 0 世纪9 0 年代中期,欧洲汽车生产商联合推出t ( o p e ns y s t e m a n dt h ec o r r e s p o n d i n gi n t e r f a c e sf o ra u t o m o t i v ee l e c t r o n i c s n e h i c l ed i s t r i b u t e d e x e c u t i v e ) 的规范体系【1 】。这个体系包含4 个规范:操作系统规范( o p e r a t i n g s y s t e ms p e c i f i c a t i o n ) 、通信规范 2 ( c o m m u n i c a t i o ns p e c i f i c a t i o n ) 、网络管理规范 ( n e 觚o r km a n a g e m e n ts p e c i f i c a t i o n ) 【3 】和o s e k 实现语言( o s e ki m p l e m e n t a t i o n l a n g u a g e ) 。这个规范很好的解决了上述出现的问题,并在汽车行业中,得到了 广泛的推广。 如今o s e k 标准应经被纳入到国际标准认证组织i s o 当中【4 】。并且被奔驰、 欧宝、宝马、博世、西门子、大众、标致和雷诺等多家国际知名汽车生产商所采 纳。这也进一步确立了o s e k 标准在汽车标准中的地位。 1 2 课题研究的目的与意义 随着经济与科技的发展,汽车已经不再是昂贵的奢侈品,越来越多的人使用 汽车作为自己的交通工具。据中国汽车工业协会统计显示,2 0 0 9 年我国汽车销量 达到1 3 7 9 1 0 万辆,同比增长4 6 。首次超越美国,成为全球第一汽车生产和消 费国。同年,巴西新车总销量达3 1 4 万辆,同比增长1 1 4 ,创历史新高。德国 新车销量比上一年增加了2 3 。法国家用新车销量超过2 2 6 万辆,同比增长 1 0 7 。全球对汽车过热的需求,给各大汽车生产商带来了无限的商机。同时也 将汽车电子的发展提到了一个空问的高度。 o s e k v d x 规范是作为汽车业界的一个主要规范,必然会受到生产商的足够 重视。其中以网络化的嵌入式车载操作系统的研发最为重要。如何深入理解 o s e k v d x 规范,设计出符合o s e k v d x 规范的高质量的车载操作系统,对于 商家迅速占领市场具有决定作用。因此,值得我们为此进行深入研究。 第1 章绪论 1 3 国内外研究现状 目前国内外很多公司开发了符合o s e k 规范的车载操作系统,其中很多已经 应用到高档汽车上,并取得了不错的效果。目前国外的著名o s e k 操作系统主要 有: 1 德国3 s o f t 公司开发p r o o s e k l 0 操作系统,已经为b m w 提供了基于 o s e k 的软件开发平台,为v w a u d i 开发了o s e k 软件开发平台,同时 为d a i m l e r c h r y s l e r 提供了首个基于o s e k 项目的软件平台,此外提供了 各种硬件平台的b o o t l o a d e r 、h i s 实现。 2 f r e e s c a l e 公司开发的o s e k t u r b o 操作系统 5 】。是当前最流行的o s e k 操作系统之一,得到了广泛的推广。 3 德国v e c t o r 公司开发的o s c a n 操作系统,具有c a n o p e n 协议栈,支持 多处理器以及不同的c a n 通信协议【6 】。 4 德国的e t a s 公司、英国的l i v e d e v i c e s 公司开发的r t a - o s e k 。 5 美国w i n dr i v e r 公司在其产品v x w o r k s 的基础上扩展开发了 o s e k w o r k s 以支持o s e k 标准 7 】。 目前国内也有不少公司和高校在研究开发o s e k 操作系统。主要有: 1 北京西曼公司与清华大学智能技术与系统实验室合作,自主研发了支持 o s e k 标准的嵌入式操作系统p o w e r o s e k 8 。 2 浙江大学嵌入式系统工程中心也自主研发了面向汽车电控领域的嵌入式 软件开发平台s m a r t o s e k 9 】。 其主要是通过对m i c r i u m 、l i n u x 1 0 等操作系统进行扩展,以支持o s e k 标 准 1 1 】。 而在开源嵌入式操作系统领域,o p e n o s e k 和t r a m p o l i n e 均为基于o s e k 标 准的嵌入式操作系统。其中o p e n o s e k 并未发布成熟运行版本【1 2 】,t r a m p o l i n e 已经可以在多个平台上运行 1 3 】。 t r a m p o l i n e 嵌入式操作系统的设计出发点是良好的平台移植性以及低内存消 耗,整体可分为三个部分: 1 g o i l :o i l 解析器。以o i l 文件为输入文件,生成系统配置相关的头文 件( 与平台相关) 。目前支持i n f m e o nc 1 6 7 、p o w e r p c 以及x 8 6 平台。 2 v i p e r :虚拟处理器仿真器( v i r t u a lp r o c e s s o re m u l a t o r ) 。用于在类u n i x 平台之上对目标平台进行仿真,v i p e r 监控定时器、中断以及警报,通过 共享内存以及异步p o s i x 信号与o s e k 进程通信。 3 k e r n e l :o s e k 内核。支持e c c 2 和b c c 2 一致类中的标准中规定的系统 调用。 2 第1 章绪论 总的来说,当前o s e k 操作系统仍然处在发展阶段,市场上流行的o s e k 操 作系统大多为不开源操作系统,不利于研究。少数开源操作系统对m i c r i u m 、l i n u x 等操作系统进行扩展,以支持o s e k 标准。依然存在内核模块过大,系统复杂。 不符合嵌入式车载系统精简,快捷的特点。因此,精简,灵活,开源,实时性高 的车载操作系统将成为人们追逐的目标。 1 4 论文的主要内容和安排 1 4 1 本文主要工作 本文将针对当前o s e k 操作系统暴露出的一系列问题,以开源嵌入式内核u c o s i i 为基础,设计出一款简洁,高效的o s e k 车载操作系统。本文的工作主 要包括以下几个部分: 根据o s e ko s 的机制和uc o s i i 内核的特点,给出解决方案。本文首先阐 述了o s e ko s 具体运行机制,包括任务管理,中断管理,资源管理,事件管理, 计数器和计数器管理等。接着对1 tc o s i i 内核从同一角度分析了其特点。最后 给出了可行的解决方案。 在给出可行性解决方案以后,对系统进行总体设计。首先对要实现的系统进 行需求分析,给出系统具体功能描述。然后,给出所要实现系统的集成开发环境 和硬件平台。最后给出具体的系统结构划分。 完成相关的数据结构和接口设计。本文针对系统每个功能模块,给出核心的 数据结构以及相应的数据项说明。并将接口划分为内部接口和外部接口。列举出 大部分接口,并对接口进行详细的功能说明。 在完成框架设计后,对系统的运行机制做了详细分析。详细介绍了系统初始 化过程,并对各个功能模块从系统启动到进入系统稳定状态以后,内部运行机制 进行了详细分析。 最后,对系统核心功能模块进行测试,验证其是符合o s e k 规范的操作系统。 1 4 2 论文组织结构 本文组织结构如下: 第一章绪论 介绍了课题研究背景、研究目的和意义、国内外研究现状以及工作安排。 第二章o s e ko s 与l ac o s i i 操作系统介绍 简单介绍了o s e k v d x 规范标准及组成形式,详细阐述了o s e ko s 规范的 第1 章绪论 运行机制,以及l ac o s i i 内核的特点。并给出了解决方法。 第三章基于uc o s i i 的o s e k 操作系统总体设计 给出了o s e ko s 的总体设计思想,包括系统软件完成的功能描述,运行环 境的介绍,和系统结构的划分。以及设计中的重难点的分析。 第四章系统数据结构设计 详细介绍了系统各功能模块的数据结构,以及数据结构每一项的含义。 第五章接口设计 介绍了各个模块的相关接口,每个模块的接口又分为内部接口,外部接口。 内部接口包括:与硬件之间的接口和与应用程序之间的接口。 第六章运行设计 给出了系统运行设计方案,主要针对系统的初始化过程以及各功能模块运行 进行分析。 第七章总结与展望 对全文进行总结,指出所做工作的不足并对未来工作提出新的展望。 4 第二章0 s e k0 s 与uc o s i i 操作系统的对比分析 第二章o s e ko s 与l ic o s i i 操作系统的对比分析 斗c o s i i 是个经典的实时操作系统,广泛的用于嵌入式领域。因此, i c o s 可以作为车载操作系统的最佳选择之一。这一章我们讲着重分析o s e ko s 的 运行机制和 t c o s i i 内核的特点,通过比较分析,找出两者之间的异同点。给 出从 t c o s - i i 到o s e ko s 的解决方案。 2 1o s e ko s 规范 2 1 1背景简介 o s e k v d x 规范是德国汽车工业界联合推出的汽车电子的开放式系统及接 口软件规范”。旨在提供统一的生产标准,消除各个厂商生产的软硬件之间的不 兼容性,提高应用软件的可移植性和可重用性 1 4 】。 它分为4 个部分包括:操作系统规范( o s e ko s ) 、通信规范( o s e kc o m ) 、 网络管理规范( o s e kn m ) 和o s e k 实现语言( o s e ko i l ) 1 5 。 1 操作系统规范( o s e ko s ) :针对汽车应用特点而专门制定的一个小型 r t o s 规范。是o s e k 规范中的核心部分。 2 通信规范( o s e kc o m ) :提供自动控制应用软件的通信环境。支持操 作系统任务间通信和处理器通信。 3 网络管理规范( o s e kn m ) :针对汽车电子中的e c u 之间通信,提供 管理方法和规范。 4 o s e k 实现语言( o s e ko i l ) :提供一种用于配置和使用o s e k 应用的 方法和规范。 2 1 2o s e ko s 结构特点 操作系统规范( o s e ko s ) 1 6 1 有具有以下几个特点: l 。可移植性,所有a p i ( a p p l i c a t i o np r o g r a mi n t e r f a c e ) 都是标准化的并且在 功能上都有明确的定义。 2 可扩展性,o s e ko s 旨在通用于任何类型的e c u ,因此一方面系统要高 度的模块化,另一方面又要能进行灵活的配置。 3 能够满足汽车应用的特定需求,可以为用户灵活配置。 第二章0 s e k0 s 与uc 0 s - i i 操作系统的对比分析 2 1 30 s e k0 8 运行机制分析 2 1 3 1任务管理 o s e k 规范提供2 种任务类型 1 7 】:基本任务( b t ) 和扩展任务( e t ) 。其 中基本任务( b t ) 具有三种状态:r e a d y ,r u n n i n g ,s u s p e n d e d 。而扩展任务( e t ) 比基本任务( b t ) 多一种w a i t i n g 状态。状态之间的相互转换关系,如图2 1 所 示。基本任务是顺序执行的代码,不存在阻塞任务的服务调用,同步点只在任务 的开始和结束处。扩展任务可以看作若干个由可以导致等待状态的系统调用分隔 开的代码段。由o s e k 一致类规定当任务处于激活状态时,记录所有对该任务的 激活请求,待其运行完毕时,再考虑每个激活请求。四种状态说明如下: r u n n i n g :任务占有c p u ,正在执行。任何时候只有一个任务处于这个状态, 而多个任务可以同时处于其他的状态。 r e a d y :任务等待c p u 调度执行。每次进行调度时,由调度器决定选择处于 此状态的哪个任务来执行。 s u s p e n d e d :这个状态的任务是不活跃的,能够被激活。 w a i t i n g :只有扩展任务才有这个状态,处于这个状态的扩展任务至少等待一 个事件的发生 1 8 】。 图0 1 任务状态转换图 2 1 3 2 优先级及调度策略 o s e k 规定必须给每个任务指定一个优先级。任务优先级数值越大,其对应 的优先级别越高。最低优先级数值为o 。同时o s e k 规定了3 种调度策略:非抢 占调度,完全抢占调度,以及混合抢占调度。非抢占型调度必须等到任务结束以 后,才能再次进行调度。完全抢占型调度只要有更高级别的任务处于就绪状态就 6 第二章0 s e k0 s 与pc o s i i 操作系统的对比分析 可以进行调度,抢占处理器。混合型抢占调度是为每个任务设定一种调度策略( 抢 占型调度或者非抢占调度) 。根据设定的调度方式,对任务采取相应的调度策略。 2 1 3 3 一致类 为了满足不同的应用需求,o s e k 规范定义了4 种一致类【1 9 】: b c c l ,b c c 2 ,e c c l ,e c c 2 。分别代表不同的应用模式。其中在b c c l ,b c c 2 模式 下只运行基本任务( b t ) ,在e c c l ,e c c 2 模式下可以运行基本任务( b t ) 和扩 展任务( e t ) 。同时,b c c i ,e c c l 模式下每个优先级只能放置一个任务。b c c 2 , e c c 2 模式下每个优先级可以放置多个任务。o s e k4 种一致类具体划分如表2 1 所示: 表2 1o s e k 操作系统一致类 一致类b c c l b c c 2e c c le c c 2 基本任务的多次不支持支持 不支持支持 激活请求 任务类型基本基本扩展基本 扩展基本 每个优先级是否否是否是 对应多个任务 非挂起状态任务 88 1 61 6 数 每个任务事件数无 无 88 任务优先级数 881 61 6 资源数调度器 8 88 2 1 3 4 中断 o s e k 规范提供2 种中断机制:i s r 1 ,i s r - 2 中断。其中i s r 。1 中断不需要 调用系统a p i 函数,中断服务函数结束直接返回原来的中断点继续向下执行。 i s r - 2 中断需要调用系统a p i 函数,中断服务程序提供一个中断服务框架用来为 用户程序的提供运行时环境;中断服务函数结束时如果被中断的任务是可抢占任 务而且没有其他中断被激活,则重新调度任务。 2 1 3 5 资源管理 资源是o s e k 操作系统提供在任务间或者中断和任务间的同步和互斥手段。 所有的任务都可以使用资源,如果操作系统支持,中断也可以使用资源。资源管 理必须保证五点: 1 两个任务不能同时占有同一个资源; 2 不会发生优先级反转; 7 第二章0 s e k0 s 与uc 0 s - i i 操作系统的对比分析 3 不会发生死锁; 4 访问资源不会进入w a i t i n g 状态。 5 如果中断级别也可以使用资源,那么还需要保证中断例程和任务不会同 时占有相同的资源。 为了防止在访问资源的时候发生优先级反转和死锁,o s e k 操作系统规范规 定了资源的优先级天花板协议( p r i o r i t yc e i l i n gp r o t o c 0 1 ) 。当一个任务获取一个资 源后,该任务的优先级立即提升到资源的优先级,资源的优先级等于共享该资源 的任务中的最高优先级。这样,就可以避免优先级反转的问题 2 0 】。 2 1 3 6 报警器和计数器 o s e k 规范中的报警器主要用于处理重复现象:时间滴答,汽车引擎元件的 信号,作为事件机制的补充。可以管理周期性任务或者监控各种状况( 等待事件 发生、发送接收消息) 的看门狗定时器。计数器是用来计算来自资源的“滴答”, 而报警器将计数器与任务连接起来。警报可以有三种行为:激活相关任务、设置 相关任务的事件或者执行回调函数。警报可以设置成一次性或者周期性的以满足 不同应用要求,多个警报可以依附于同一计数器。 2 1 3 7 事件管理 o s e k 规范规定任何任务或者i s r 2 都可以为一个没有挂起的扩展任务设置 一个事件,从而通知该扩展任务一些状态的改变。基本任务和i s r 都不可以调用 任何与事件有关的a p i 。扩展任务等待的任何一个事件的发生都会使得该任务从 等待状态回到就绪态,如果扩展任务等待的事件,在该任务等待前已经发生,那 么不需要再等待。 只有扩展任务,才具有事件。当激活一个扩展任务时,这些事件被o s 清空。 事件可以被用来通讯传达二进制信息到被指定的扩展任务。事件的意义被相应的 应用定义( 如有效计时器,消息队列,消息邮箱,可利用的资源等等) 。在对事件的 操作中,许多的操作是否可执行的,要取决于这个任务是否是相应事件的o w n e r 或者任务是否是扩展任务。所有的任务都可以设置任何非s u s p e n d e d 可扩展任务 的事件,只有o w n e r 可以清除相应的事件并等待。 8 第二章o s e ko s 与uc 0 s i i 操作系统的对比分析 2 2 | ic o s - i i 内核特点分析 2 2 1l lo o s - 1 1 背景介绍 “c o s i i 是一个著名的源代码公开的实时内核,专门为嵌入式应用设计的。 它的具有如下特点【2 l 】: 1 源代码公开。这样很容易就能把操作系统移植到各个不同的硬件平台上。 2 可移植性。l 上c o s i i 绝大部分源代码

温馨提示

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

评论

0/150

提交评论