




已阅读5页,还剩80页未读, 继续免费阅读
(计算机软件与理论专业论文)嵌入式操作系统实时性的分析与研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c l a s s i f i e din d e x : u d c : t p 3 1 1 m l i | 1 1 0 i i i i i 1 1 1 1 1 1 1 1 l i i l l l i i i i i i y 18 0 3112 d i s s e r t a t i o nf 6 rt h em a s t e rd e g r e ei ne n g i n e e r i n q v vv a n a l y s i sa n d r e s e a r c ho fr e a l t i m ei nt h e e m b e d d e do s c a n d i d a t e : q i ny r u h u a s u p e r v i s o r : p r o f j ia i g u o a c a d e m i cd e g r e ea p p l i e df o r :m a s t e ro f e n g i n e e r i n g s p e c i a l 毋: c o n l p u t e rs o 脚a r ea n dt h e o 巧 d a t eo fo r a le x a m i n a t i o n : j u n e2 0l0 u n i v e r s i 够:q i n g d a o1 b c h n 0 1 0 9 i c a lu n i v e r s i t y 硕士学位论文 嵌入式操作系统实时性的分析与研究 蓬,u_1 青岛理工大学工学硕士学位论文 目录 摘要i a b s t r a c t i i i 第1 章嵌入式实时操作系统l 1 1 嵌入式实时操作系统的概念及其实时性介绍1 1 2 嵌入式实时操作系统的种类及其应用领域4 1 3嵌入式实时操作系统在国内的现状6 1 4 本章小结6 第2 章s k y e y e 仿真环境8 2 1嵌入式系统仿真软件的选用8 2 2 s k y e y e 仿真环境9 2 3 s k y e y e 仿真软件进行实时性测评标准的可信度9 2 4 基于s k y e y e 的嵌入式仿真环境建立1 1 2 5 s k y e y e 仿真环境的同步验证1 3 2 6 本章小结1 4 第3 章嵌入式操作系统实时性分析1 5 3 1 概述1 5 3 2 p c 0 s i i 和l i n u x 的实时性比较1 6 3 3具体研究l i 肌x 操作系统的进程管理机制2 4 3 4 两种基于l i n u x 的实时操作系统2 7 3 5 嵌入式实时调度算法重要性2 9 3 6 本章小结3 0 第4 章嵌入式实时调度算法的分析与改进3 1 4 1 嵌入式实时调度算法3 1 4 1 1 基于截止时间优先权调度算法分析3 2 4 1 2 基于时间裕度优先权调度算法分析3 6 4 1 3 两种优先权调度算法响应时间分析比较3 8 4 2 最小裕度优先调度算法的改进3 9 4 2 1最小裕度优先算法原理及问题3 9 4 2 2 目前抢占阀值改进原理存在的不足一4 l 4 2 3 基于l i 肌x 内核的改进机制和s k y e y e 仿真验证4 3 4 - 3 本章小结4 6 青岛理工大学工学硕士学位论文 第5 章基于入度优先调度算法4 7 5 1 基于入度优先算法的提出4 7 5 2 基于入度优先算法原理及验证4 7 5 2 1 基于入度优先算法原理一4 7 5 2 2 基于入度优先算法的具体分析与研究4 9 5 2 3 基于数学理论响应时间的分析和s k y e y e 仿真验证5 1 5 3 基于入度优先算法具体应用分析:5 3 5 4 本章小结5 7 第6 章实时调度算法面临的冲突及解决方案5 8 6 1实时调度算法与临界资源的冲突优先级反转5 8 6 2 优先级反转对实时性的影响5 9 6 3 优先级反转的两种解决方案及实时性的比较分析6 1 6 4 本章小结6 5 结论6 6 参考文献6 7 攻读硕士学位期间发表的学术论文及科研工作7 0 致谢7 1 i i 青岛理工大学工学硕学位论文 摘要 嵌入式操作系统( t l l ee m b e d d e do p 耐i n gs y s t e m ) 是嵌入式系统的软件核心,准 确地来说是系统软件的核心组成。随着嵌入式系统在日常生活的不断深入应用, 用户对嵌入式操作系统的实时性的要求也越来越高,仅仅靠传统的前后台模式或 者反复循环控制模式已经满足不了要求,从而使得嵌入式操作系统的实时性研究 备受关注,本文也正是从实时性这个角度出发进行分析和研究。 首先,本文借助心o s i i 来进行内核的实时性的分析,从多个方面进行了讨论 l i n u x 内核实时性存在的缺陷及改进机制,为嵌入式l i n u x 开发提供了实时依据, 着重分析了目前各种嵌入式操作系统的实时调度策略,对其在可调度性,系统响 应时间等方面进行了深入的探讨,借助s k y e y e 仿真环境进行了简单的仿真和比较。 其次,本文深入研究了目前两种嵌入式实时调度策略,具体分析了它们之间 的不同以及存在的不足,同时针对这些不足提出了基于l i 肌x 内核改进方案,进一 步防止了系统对进程的堵塞延迟,提高了进程的可调度性,通过改进可以大大提 高了系统的实时性。 再次,目前所有的实时调度策略基本上都是以相对独立的进程作为调度对象, 没有充分考虑到被调度的进程之间的相关性,本文正是从进程之间的相关性入手, 提出一种基于入度优先的调度策略,从而在满足所有相关联的进程可调度的情况 下,进一步来提高整体的响应能力和实时性,同时通过s k y e y e 仿真实验验证,该 策略能大大减少整体的响应时间,进一步提高了系统的实时性,最后将该基于入 度优先的算法具体应用在“c o s i i 和r e d l i n u x 来提高进程响应能力。 最后,针对实时调度算法与临界资源的使用存在着冲突,从而出现了优先级 反转的现象,针对这种现象对进程的实时性和响应速度造成的影响进行分析,比 较优先级极限和优先级继承两种解决方案。同时就这两种优先权反转的解决方式 进行分析,最后肯定了优先级继承对进程执行流程的影响相对较小,经理论分析, 它能大大减少切换次数,从而减少总的响应时间,提高系统的实时性。 关键词嵌入式操作系统;l i n u x ;调度策略;入度;优先权反转 青岛理工大学工学硕士学位论文 i i 青岛理工大学工学硕士学位论文 a b s t r a c t t h ee m b e d d e do p e r a t i n gs y s t e mi st h ec o r eo fe m b e d d c ds y s t e m e x a c t l y ,i ti st l l e c o r eo ft 1 1 ec o 1 p o s i t i o ni nn l es y s t e ms o 胁a r c w i mt 1 1 e d e 印e n i n go fe m b e d d e d s y s t 锄i i lo u rd a i l ya p p l i ca _ t i o n s ,t l l er e q u i r e m e n t s 行o mu s e r sa r ei n c r e a s i n gh i g m y a b o u tn l er e a l - t i m ee m b e d d e ds y s t e m s a n dr e l y i n go nt 1 1 e 仃a d i t i o n a lf r o n t a n d - b a c k p a t t 锄o rc y c l ec o m r 0 1 1 e d - m o d e ls i m p l yh a sb e e l l1 1 1 l a b l et om e e tr e q u i 崩n e n t s ,s o “s m a k e sr e a l 一t i m eg e tm o r ec o n c 锄t h i sp 印e ru s e sr e s p o n s i v e n e s st oa n a l y z ea l l ds t l l d y f i r s t l y ,m i sp a p e rc 硎e so u tt h ea 1 1 a l y s i so fr e a l m m ek e m e lb yd r a w i n go nt h e p c o s i i ,d i s c u s s i n gm a n ya s p e c t so fr e a l t i m el i n u xn a w sa 1 1 di m p r o v e dm e c h a n i s m s , s oi ti sf o rm ed e v e l o p m e n to fe m b e d d e dl i n u xt o p r o v i d er e g u l a t i o n s t h i sp 印e r f 0 c u s e so na 1 1 a 1 ) ,z i n gm ep r e s e n tv 撕o u ss c h e d u l e r si nt h ee m b e d d e dr e a l t i m eo p e r a t i n g s y s t e ma n dd i s c u s s e s l e i rs c h e d u l a b i l i t ya n dr e s p o n s i v e n e s s a n di tu s e ss k y e y et o s i m u l a t ea i l dc o m p a r ev 撕o u ss 仃a t e 百e s s e c o n d l y ,m i sp 印e rs t u d i e st h ec u 【玎e n te m b e d d e dr e a l t i m es c h e d u l i n gs t r a t e 百e s , a i l da i l a l ) ,z e st h ed i 侬牝n c e sb e t 、) l ,e e nt h e i i la n dt h ed e f i c i e n c ye x i s t i n gi nt h es t r a t e 百e s a tt h es 锄et i m e ,t h i sp a p e r p u t sf o 刑a r ds c h e m e st op r e v e n tt h es y s t e m 五r o mj a ma 1 1 d d e l a ya n di m p r o v es c h e d u l a b i l i 够o ft 1 1 ep r o c e s s e s t h ei i n p r o v e m e n to ft h es y s t e mc a n i m p r o v et h er e s p o n s i v e n e s s a g a i n ,a 1 1t 1 1 er e a l 一t i m es c h e d u l i n gs 仃a t e 酉e sb a s i c a l l yu s er e l a t i v e - i n d 印e n d e n t p r o c e s s e sa l ss c _ h e d u l e di t e n l s a n dt h e yd on o tc o n s i d e rt h ec o i l i l e c t i o nb e t w e e nt h e p r o c e s s e s 向l l y ,s ot h i sp a p u s i n gt h ec o r r e l a t i o nb e 锕e e nd i 日e r e n tp r o c e s s e s ,p u t s c r i t i c a lr e s o u r c e s d u et 0al o to fi n f l u e n c e sc o m i n go u t 台o mm ep r i o r i t yi n v e r s i o n ,m e p 印c rc o n c r e t e l ya 1 1 a 1 ) ,z e s i t ss o l u t i o n sa n d 也er e a l - t i n l e a n dt h e s es o l u t i o n sa r e 皿o r i t ) r 耐l 堍a n d 研o r i 够扯e r i t a n c er e s p e 出v e l y a st l l e 似os 0 1 们o n sa r ea n a l y z e d , m ep 印e rf i n a l l ya f f i m sp r i o r i t ) ri i l h e r i t a n c e b yt h e o r 出c a la n a l y s i s ,p r i o r i 锣m h e r i t a n c e c a n 伊e a t l yd e c r e a s et l l e 删【m b e ro fs w i t c h i n g s ,也c r e b yr e d u c i n gm e o v e r a l lr e s p o n s e t i m e ,a n di i n p r o v et h es y s t e mo f r e a l 一劬e k e yw o r d s 即出e d d e do p e r a t i n gs y s t e m ,l i n u x ,s c h e d u l i n gs 仃a t e g y ,p e l l e 乜a t i o n , p r i o r i t ) ,i i l v e r s i o n 青岛理工大学工学硕士学位论文 第1 章嵌入式实时操作系统 1 1 嵌入式实时操作系统的概念及其实时性介绍 嵌入式实时操作系统就是所谓的一种支持嵌入式领域系统进行实时应用的 操作系统,它是嵌入式实时系统( 包括硬、软件系统) 中极为重要的组成部分。 而目前对于嵌入式实时操作系统的完整定义是指该操作系统本身不仅仅要保证 程序逻辑的正确性,同时也要确保所有程序结果在规定的时间内产生,如果某些 程序的时间约束条件或截止时间等条件得不到满足,将会发生系统出错或崩溃。 因此从以上的定义将嵌入式操作系统总结为,嵌入式实时操作系统【l 】实质上就是 保证在规定的时间限制内完成特定功能的一种操作系统,目前在国内外是一个重 要的研究领域。 从以上的定义还可以知道嵌入式实时操作系统关键是在于它要有实时性的 要求,因此对于实时性的具体定义,即要求在规定的时间内完成某种操作。对于 在上面中提到的实时性,在这里可以将实时性根据时间的要求分为两种,分别是 硬实时性和软实时性。 硬实时性【l 】就是所有的实时操作要求必须在严格规定的时间内必须完成,否 则的话,就会发生很严重的后果,这就是在设计操作系统时要一定保证的。比如, 在航空领域中实时性的要求就是硬实时; 软实时性【i 】贝0 没有那么严格的时间要求,只要能按照进程的优先级或时间的 要求,尽最大可能快地完成相应的操作即可以了。 从上边的定义不难看出不论是硬实时还是软实时,从响应的绝对时间来说, 没有严格的区别。 下面就针对嵌入式操作系统实时性的两种分类用一个例子来表述。 例如,在嵌入式系统设计中,为确保生产流水线上的某种产品能够得到组成 它本身的成分,最终形成一个完整的产品而设计一个实时操作系统。如果该实时 操作系统要求在“硬实时环境中,如果不能在规定的时间内完成使组成该产品 的成分顺利到达的话,操作系统将因这种错误立刻结束,整个过程就全盘结束。 如果该实时操作系统要求在“软”实时环境中,生产流水线仍然能继续工作,但 青岛理工大学工学硕士学位论文 最终产品的输出会因组成产品的成分不能在严格规定的时间内到达而减慢速度, 这使最终产品出现短暂的不生产现象。 从上面的例子来看一些实时操作系统是为特定的应用设计的,另一些则是通 用的。即使一个操作系统是通用系统或者不是严格的实时系统,它们也能解决一 部分实时应用问题,比如l i n u x 操作系统。同时对于通常使用的操作系统像l i 肌x 操作系统在经过一定改进之后就可以变成实时操作系统( 嵌入式l i n u x ) 。 通常,作为一种嵌入式实时操作系统必须有以下几点【2 : ( 1 ) 支持多进程或多线程; ( 2 ) 支持多种优先级别实时调度; ( 3 ) 多种中断级别( 外部异步) 。 由于嵌入式实时操作系统比一般通用的操作系统在实时性上要求更加严格, 因此对于嵌入式实时操作系统的技术指标的要求也一定会比通用的操作系统的 技术指标的要求更高。对于通常所说得通用操作系统,比如,w i n d o w s 操作系统 等,就是提供给用户某些接口,方便用户使用系统资源,极力追求系统资源的总 体最大利用率。而嵌入式实时操作系统追求的是更高的实时性,可靠性及准确性。 尤其是对于那些硬实时操作系统,这种实时性要求更加严格。 嵌入式实时操作系统实时性的主要技术指标2 】吲有以下几个: ( 1 ) 进程的响应时间 目前的嵌入式实时操作系统都是多进程或多线程的操作系统,在一个进程得 到处理器进行真正执行之前,可能会有很长的时间等待,这个时间的长短可能与 进程本身有关系,比如该进程的优先级,执行时间的长短,截止时间等,但是不 管这个进程具体在什么时间被系统调度开始运行,这个等待的时间肯定是存在, 甚至还可能比较长,而在嵌入式实时操作系统中一个进程的等待时间的大小也是 有限制的,不能无限的等待或者为死等待,任何一个已创建的进程的等待时间可 以近似用下面的定义来计算【5 】: 进程等待的时间= 在该进程调度之前的一个或者多个进程的执行时间+ 进程 的切换时间+ 这些进程被调度时调度算法的时间复杂度 在上面的这个公式中,设计到的进程的切换时间和实时操作系统的调度算法 正是下面要涉及到的。 2 青岛理工大学工学硕士学位论文 ( 2 ) 调度算法 对于嵌入式实时操作系统在很大程度上取决于算法本身如何调度进程的问 题( 也就是采用什么样的调度算法) 和调度算法的复杂程度。在这里首先要考虑 的到的是采用什么样的调度策略,不同的调度策略对于时间的要求也是不同的, 也就是说实时性的要求不样。目前的通常采用的调度策略主要有三种类型【5 1 , 分别为基于优先级调度策略、基于时间调度以及基于比例分配方式。 同时调度算法的时间复杂度也要取决于数据结构的组织,也就是就绪可执行 进程的数据结构。比如,在心l i n u x 这种微型控制系统中就绪进程的组织方式是 按照链表的方式组织的,这时时间复杂度就大约为o ( m ) ,其中,m 为就绪进程 数目,它的最大值也是有限制的( m v e i l d o r p r o d u c t g d b a r m u l a t o r ,内核选择 l i n u x 2 4 x ,具体如下图2 1 所示: 图2 - 1 模拟平台的选择界回 文件配置【7 】: 在工作目录( e m b e d 心l i n u x d i s t ) 下建立专门用于基于a t 9 1 x 4 0 开发板的 s k y e y e 硬件配置文件s k y e y e c o n f o m 锄- b a l l k :m 印= m ,t y p e = r w ,a d d r = o x 0 0 0 0 0 0 0 0 ,s i z e = o x o o 0 0 4 0 0 0 m 锄- b a i l k :m 印= m ,t y p e = r w ;a d d r = o x 0 1o 0 0 0 0 0 ,s i z e = o x 0 0 4 0 0 0 0 0 青岛理工大学工学硕士学位论文 m 锄- b a n l ( : m a p = m ,t ) ,p e = r ,a d d r = o x o 14 0 0 0 0 0 ,s i z c - o x 0 0 4 0 0 0 0 0 ,丘1 e = b o o t m e i i 小a n l 【:m a p = m ,t y p 萨r w ,a d d r = 0 x 0 2 0 0 0 0 0 0 ,s i z 萨o x 0 0 4 0 0 0 0 0 m e m j a n k :m 印= m ,t y p e - r 、,a d d r :o x 0 2 4 0 0 0 0 0 ,s i z e 2 0 x o o 0 0 8 0 0 0 m e n o a n k :m a p = m ,t y p e = r w ja d d f o x 0 4 0 0 0 0 0 0 ,s i z e - 0 x 0 0 4 0 0 0 0 0 m e m j a l l k :m a p = i ,t y p e 2 则吒a d d 严o x 们0 0 0 0 0 0 ,s i z e = o x l o o o o o o o 运行: 在锄b e d p c l i n u x d i s t 目录下,u s 川o c a l b 耐s k y e y e1 i n u x 2 4 x 1 i i l u x 键入s k y e y e 命令,显示如下图2 2 所示: 【r o o t 1 0 c a t h o s tu c l i n u x a i s t l 毒s k y e y e t ,t ,# t 蕾,常 , ,t 节t # 事,簟簟事审,# 簟希,事常,t 窜,t 辫幸 掌t , 。 s k y e y e s i 薅u l a t o r 、,e re 9 2w 王t h g d b z n s 土g t5 。3 i n :e r f a e e 审 癣幸,中 ,中,奢审,_ 母囊 t ,章,_ 节却女t t 川t 市擎十i 冉中,寸事唯r 紫中, 6 n u 口d bs 3 c o p y r i q h t2 e e 2f r e es o t 蝴r ef o u n d a t i o n 。 工n c 6 d bi sf r e es 3 f t 怕r e 。c o v e r e db yt h eg h u6 e n e r a lp b l i cl i c e n s e 。 a n dy o uare ,e l c o 瘁地! t oc h a n 口e 工ta n d o rd i s t r i b u t ec o p i e so fi tu n a e rc e r t a i nc o n d i t 】o n s t y p e 。s h o wc o 口y i n 口。 t oseet h ec o n d i t i o n s 。 t h e f ei sa b s o l u t e l yn ow a r r a n t yf o r6 d b t y p e 。s h o f ww a r r a n :y 。f o rd e t a i l s t h i ss k y e y ew 童sc o n f i 9 u r e da s 。- h o s t l i 6 8 6 p c - 1 土n u x g n u 一- t a r 9 e t 互a 硼一e l f “ f s k y e y e ) t a r g e ts i 翔 c p ui n f o :a r m 一3 ,3 m 7 t d m i ,4 l 7 7 e e 。f f 千e f f 9 0 , e m a c hi n f o :n a l l ea t 9 1 佴a c hi n i ta d d r8 x 8 1 8 4 e e e l c di n f 0 :t u r no nl c d ! s k y e y :u5ea m 7 1 e e 姗ho d s l o a ( i e dr o mb o o t r o m c o n n e c t e dt ot h es i 町u t a t o r 。 s k y e y e ) u 图2 - 2 s k y e y e 安装成功的环境演示 在s k y e y e 环境下,进入p c l i n u x 界面,具体如下图2 3 所示: p - r tp r i o t t yi so c o m 臻a n d :孤k d 主r v ar t m 扛 c o m 豫a n d :f n k d i r v a r l o 口 c o m 瓶a n d : m k a i r v a r r u n w e l a h ti s2 9 p 一r t p r i o t t y i s8 c o 拜l 瓤a n d :m k d i r v ar 1 _ o c k c o f 掰弭a n a :m k d l r v ar e m p t v c o 拜博i l a n d c a t,e t c m o t d w e l c o m et o , 一l l llll l lll iliili ililll li l l li l i 一一, g d b a r m u l a t o rs u p p o r tb y d a v 主d | 静 s n a p 9 e a r c o m f o rf u r t h e ri l f o r m a t i o nc h e c k : h t t p :w w w u c l i n u x o r 9 厂 图2 3 心l i n u ) 【界面演示 1 2 青岛理工大学工学硕士学位论文 在l i n u ) 【环境下安装s k y e y e 时,以下方面需要注意用: ( 1 ) 恤p p c l i n u x 是心l i n u x 一2 4 x 精简压缩包的缺省安装目录; ( 2 ) 建议使用r e d l l a t 7 1 以上版本的系统; ( 3 ) 建议使用a 肌一e l f - t o o l s 2 0 0 1 1 2 1 9 t a l g z 为交叉编译工具编译a n n 程序; ( 4 ) 建议使用g c c 2 9 6 或g c c 3 2 编译s k y e y e 。 2 5 s k y e y e 仿真环境的同步验证 在调度策略的中,基于截止时间优先的调度策略就是根据进程的截止时间越 早,该进程就越先得到处理器的处理。假设有三个已经创建成功的进程h u a l 、 h u a 2 和h u a 3 ,假设当前的系统内核的相对时间j i m e s - l o o ,具体的进程属性如下: h u a l 截止时间1 2 0 ,运行时间1 0 ;h u a 2 截止时间1 4 0 ,运行时间2 0 ;h u a 3 截止时间1 6 0 ,运行时间3 0 。 按照常理分析l m l 进程会得到优先处理,h u a 2 次之,h u a 3 最后,这是基于 截止时间优先调度的原理。 准确理论时序如下图2 4 所示:其中,横轴代表时间轴,纵轴代表进程轴。 t m 3 h :u a : h u a l 根据基于截止时问优 先调度的策略t 进程 曲运行理论顺序为; 轴m 1 j l n l 固,h 珥3 _ 一 时间轴x 1 0 0 ( 0 )1 2 0 ( 2 )1 4 0 ( 4 )1 6 0 ( 6 ) 蝉a l 截止时h i 鞠1 2 截止时问 i q 图2 - 4 理论时序图 然后将这种分析用s k y e y e 仿真软件来验证,是否也是这样的结果? 在具体 的验证中s k y e y e 内部的相对时间却不一定是1 0 0 ,但是一定是有个时间,这个 具体时间就作为这三个进程的开始时间,将该软件模拟的操作系统心l i n u ) 【中的 调度器修改成基于最短截止时间优先的调度策略,具体修改就是改动g o o d n e s s ( ) 函数来确定进程的优先权。 即:w e i g h t = 1 5 0 0 ( 根据具体的进程来确定) 一截止时间+ 系统相对时间 1 3 青岛理工大学工学硕士学位论文 具体验证如下图2 5 所示: b i 丘d ty i - w 】r m l n a h 上蹲h t h eh a x w e l g n t1 s 2 4 c r e a t eh u a 3p r o c e 5 5 t h eh a x w e 土口h t1 s1 4 4 4 t h eh a x w e l q h ti s 2 3 t h eh a x w e i 口h t1 s1 4 5 e 工n i tf a t h rp r o c s si sr u n n l n g t h eh a x w e i a h t1 s一1 e e e 8 t h eh a x w e i 口h ti ,1 4 5 e t h eh a x w e i g h ti s2 7 b i l t h eh a x w e i g h ti s1 e e e t h eh a x w e i a h ti s1 4 4 8 h u a lp r o c e 5 52i sr u n n i n 口 t h h a x w e l 口n ti 51 4 4 6 h u a 2p r o c s s2 i sr u n n l n g t h eh a x w e i g h t1 s1 4 4 4 h u a 3p r o c e s s3i sr u n n i n g t h ch a x w c i 口h ti o2 口 t h eh a x w e l g n t1 s1 e e e s l mi n f oc a t l e d p r o g r a mr e c e i v e ds i g n a 乙s z g 工n t z n t e r r u p t e x e l e e d e 4 8i n7 7 ) s k y e y e ) i 图2 5l i n u x 内核基于优先级调度 从上图可以看出仿真的效果与理论时序图的分析和比较来看,它们具有是同 步的特点,所以s k y e y e 仿真软件用在本论文中进行验证是有一定可信度的。 2 6 本章小结 本章节主要是简单介绍s k y e y e 仿真软件的选用、原理、测评标准、仿真环 境的建立以及通过理论分析来进行该仿真软件的同步验证,为以下几章进行算法 的比较提供依据和比较的可信度。 1 4 青岛理工大学工学硕士学位论文 第3 章嵌入式操作系统实时性分析 3 1 概述 目前,不论是在日常的生活中,还是在工业测控,航空航天,军事医疗等方 面,嵌入式操作系统都有着非常广泛的应用。嵌入式操作系统目前主要有: v x w b 舾、心o s i i 、w 谊c e 和e c o s 等,它们都具有比较好的实时特性、系统的可 靠性、进程处理的随机性等优势,但是这些操作系统的的价格普遍偏高。而嵌入 式l i l 嗽以其非常低廉的价格,开放的源代码等优点,就完全可以大大的降低成 本和开发难度,于是该系统逐渐成为嵌入式操作系统的首选。但是,作为通用操 作系统的“n u x ,由于其存在在实时应用领域的技术弱点,要想将其完全应用在 嵌入式行业的领域内,还必须对l i n u x 内核做必要的修改。大多数嵌入式控制设 备都要求与外部的环境有着软硬实时的交互能力要求,因此将最初按照分时原理 的目标设计的通用的l i n u x 操作系统改造成能支持软硬实时性的嵌入式操作系 统显得十分重要。不过值得庆幸的是,l i n u x 操作系统及其相关的开发项目的开 放源码特点为深入研究其内核并加以改造提供了一定的可行性,通过修改 l i n u x 内核中的各个模块来充分达到满足嵌入式实时应用的需求,提高软件方面 的开发速度。目前,改善l i n u x 内核的设计与实现,使其适用于嵌入式实时领域 吸引了许多研究员和开发人员的注意力。 在现实的改进中,最常用的实时性改进的方法是采用双核的方法,但是这种 方法的缺陷是在于大多数实时进程的开发是直接面向提供准确实时服务的较小 实时核心的,而不是针对一个功能强大的常规所用的l i n u x 核心。基于这个现象, 近几年来修改内核的方法越来越受到国内外科研人员的高度重视,这种方法是根 据已有l i 咖x 系统对于软件开发的支持,进行源代码级修改而使l i n u x 变成一个 真正的实时操作系统。本文分析了标准l i n u x 在实时应用中的技术缺陷,参考了 修改内核方法的思想,从内核进程的管理、时钟的管理、中断的处理、内核的抢 占性、进程调度算法以及组织结构等多方面论述了改善标准l i n u x 实时性能的方 法。 1 5 青岛理工大学工学硕士学位论文 3 2 i j l c o s i i 和l i n u x 的实时性比较 众多周知,通用的l i n u x 操作系统在设计之初主要是采用通用的分时系统, 但是基于l i n u x 操作系统本身就有独特的优点,比如:开放性等,以及随着l i n u x 操作系统在嵌入式实时控制领域中的广泛应用,有效地提高l i l l u x 的软硬实时性 能是一个及其重要问题,本章节就是针对实时性以及目前比较流行的心o s 【1 0 】 实时操作系统做具体的分析,从而给l i n u x 操作系统的嵌入式开发者提供一些实 时改进的方向。 l i i m x 和p c o s i i 在实时性比较的方向主要有:时间粒度,响应中断,内核 的抢占,进程调度策略,数据结构的组织,内外存的管理,优先级反转或倒置。 ( 1 ) 时间粒度 所谓时钟粒度1 0 】【3 8 】或者是时钟滴答就是操作系统内核进行时钟中断的时间 间隔。时钟粒度按照时间的精度可以大体分为粗时钟粒度和细时钟粒度,它们主 要的界别在于时间的精度上,一般时间精度在微妙级精度,如,实时操作系统 “c o s i i ,称为细时钟粒度,大于这个精度就约为粗时钟粒度,这是中定义只是 相对来说的,主要是针对实时性的分类。操作系统中时钟的管理是至关重要的, 它是操作系统整体正常准确运行的一个基础平台,犹如人的心脏提供整个生命的 脉搏一样。一旦操作系统设计完之后,各种任务或进程的状态转化都直接或间接 与时钟存在着密切的关系。同时时钟也操作系统正常运行的“钟表”,比如在“姗x 操作系统中,为它提供相应的系统时间,作为系统的基准,即:j i 伍e s 。并且系 统利用时钟进行进程的监督管理,同时也作为进程调度的主要依据,也就是说在 l i n u x 操作系统中,时钟主要起到两个重要的作用,即,延时和调度,而在心o s i i 中,时钟只有起到一个作用,就是延时,没有像l i 肌x 中的时钟一样具有调度的 特点。 因此在l i n u x 这种操作系统中,时钟中断的时间间隔一般维持在1 0 m s 左右, 按照上面的说法这种时间间隔就属于粗时钟粒度,所以l i n u x 操作系统不能提供 准确的定时来充分满足实时应用微妙级的响应要求,要想进行l i n u x 的嵌入式领 域的开发,就要进行改进时钟粒度。 首先来具体看一下l i n u x 时钟中断的详细过程【l o 】: 从l i n u x 具体时钟中断来说,l i n u x 在进行初始化时,由硬件定时计数器硬 1 6 青岛理工大学工学硕士学位论文 地设定系统定时器的周期为1 0 m s ( 这里的主要是可编程的硬件完成) 。当时钟 断发生时,时钟中断服务程序t i m e r “伽p t 立即调用时钟处理函数 - t i m e r ( ) ,该函数会调用m 帅h ,将b h - a c t i v e 标志的t 妇够- b h 置1 ,接着h n u x 在时钟中断服务程序中通过如下代码片段: i f ( b h 9 c t i v e b h j n a s k ) i n 哆i c o u n t = l ; d o j o t t o m a l f ( ) ; i n 仃c o u n t = o ;, 来判断此时是否有b o t t o mh a l f 服务要处理,若有则执行d ob o 肋mh a l f 。该函数 会调用时钟响应函数血n e rb h ,分别由u p d a t e st i m e s 、r u n0 1 dt i m e r s 和 m nt i m e r1 i s t 检查、执行调用服务。u p d a t et i m e s 又调用u p d a t ep r o c e s st i m e s 函 数调整进程的时间片,当时间片小于0 时,n e e dr e s c h e d ( 需要重调度) 标志会被 置位。当时钟中断处理完毕后,系统会返回到入口r e t 舶mi n 仃, r e tw i t hr e s c h e d u l e 处,判断n e e dr e s c h e d 标志是否置位,若是则转入执行 s c h e d u l e 调度器。 从上面的详细分析,不难看出时钟粒度的大小直接影响到系统的响应速度和 进程上下文切换的系统开销。 目前的改进策略主要是细化时钟粒度1 0 】,使它朝向实时的要求靠近,也就 是说,增加时钟中断的频率。这是目前最简单的方式,但是从响应速度和切换开 销来说这是最不合理的。 为了实现这种改进策略,需要对硬件知识有一定的了解,即可编程逻辑定时 计数器的工作原理,加大定时的溢出频率,加大计数初值。尤其是在大量的周 期性场合下,是可以应用的,而且这种方法只需要设定一次,就可以随时使用。 同时还有一种改进策略就是单触发方式,也就是让上面提到的定时计数器工 作在单触发模式下,在上述的改进中,即使粒度再小,也会有时间间隔,同时也 会加大系统开销。因此该改进是针对下一个事件或中断要发生的时间来设计定时 计数器,也就是根据进程的实时时间进行来设计计数初值,这种精度可以比上面 的方式高很多级别。总之,进行时钟粒度单触发改进后,应用开发人员可以根据 具体的进程响应时间来设计,大大减少中断的响应时间,但是相对上面的改进, 1 7 青岛理工大学工学硕士学位论文 比较麻烦。 ( 2 ) 响应中断 总体来看通用的l m x 内核基本可以当作是一个不断对各种请求进行响应 的服务器,但是现在的内核结构已经出现了客户机服务器这种模式。这些请求 可能来源于正在处理器或控制器上执行的任务或进程,也完全可能来源于正在执 行异步中断请求的外部设备。因此说内核的各个部分并不是严格按照顺序依次执 行的,而是采用交错执行的方式,同时这种执行方式是异步的。在交错执行过程 中,要避免可能带来的数据出现混乱的危险,于是在操作系统原理中引入了临界 区【1 3 】和临界资源 1 3 】的概念。 所谓临界区是指这样的一段代码,一旦某个进程进入这段区域,其他的请求 只能处在临界区外等待,不管正在等待的进程是否具有实时性。 所谓临界资源是指这样的一些资源,它们任何时刻只允许一个任务或进程进 行访问,不能同时访问,这种访问主要是指修改或写操作,否则就会出现数据的 混乱,可能出现脏数据,甚至出现数据的丢失。凡是这样的资源就是所谓的临界 资源。 由于目前的l i n u x 操作系统频繁存在关中断开中断等的机制,最终引起的结 果是如果具有低优先级的进程由于进入临界区或者为了尽快完成进程而关闭了 中断,那么即使有高优先级硬实时进程的中断发生了,由于临界区和临界资源的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度中小企业贷款担保合作协议
- 独家合同:两个单位联合体投标协议
- 环境样本中微生物的检验试题及答案
- 注册会计师备考方法分享试题及答案
- 医院保安工作总结计划
- 开展社团特色活动的思路计划
- 增强品牌知名度的战略规划计划
- 新型微生物检测方法的研究进展试题及答案
- 2025年注册会计师考试成功之路反思试题及答案
- 2025年证券从业资格证重要考点清理试题及答案
- 2023年广西铝业集团校园招聘试题及答案解析
- 2024-2029年中国形象设计行业发展分析及发展前景与投资研究报告
- 2024中国绿色甲醇产业研究与前景展望-云道资本
- 1500万吨-年炼化一体化项目环评
- 500字作文标准稿纸A4打印模板-直接打印
- 山东春季高考(职教高考)语文历年考试真题题库汇总(含答案)
- 儿童康复家庭指导培训课件
- 初中迎国测方案
- 单元2-任务3 水利工程年运行费及年费用计算
- 《心律失常紧急处理专家共识》
- 小学数学重量单位克、千克、吨换算练习100道及答案
评论
0/150
提交评论