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

下载本文档

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

文档简介

五邑大学硕士论文 摘要 操作系统技术历来就是计算机系统的核心技术,不管是在大型的服务器系统, 还是在家用p c 机系统,都可以看出操作系统在计算机领域的地位。最近几年,在 大型计算机系统进入相对成熟阶段后,小型实时嵌入式计算机系统迅速发展。在实 时嵌入式领域内,操作系统也处于核心地位。虽然基于大型计算机系统的操作系统 理论可以解决大部分实时嵌入式系统的问题,但实时嵌入式系统有其特殊性,应该 引入新的理论或者改进的方法来满足这些特殊要求。 本课题的主要任务是结合当前的操作系统理论,研究并实现一个实时嵌入式操 作系统内核原型,并在a r m 7 t d m i 核的s 3 c 4 4 b o x 芯片上运行。这个内核原型主 要包括以下的5 个部分: 1 内存管理,内存管理是操作系统内核提供的基本功能之一,在实时嵌入式系 统中,内存利用率和实时性是评估该部分的主要因素。在内存管理实现中,本课题 在基于常用的伙伴系统方式的基础上,对该方法进行了改进。该方法在将内存块由 2 的倍数大小改进成任意大小的基础上,使得该内存管理方式在保证伙伴系统方式 的实时性和简单性的同时,显著提高了内存的利用率。 2 任务管理,该部分实现了所有实时内核必须支持的抢占特性。该部分的主要 算法思想为:内核将所有任务按优先级高低分为6 4 个组,并尽量保证高优先级的任 务优先运行,对于同优先级的任务按照时间片的原则调度各个任务。 3 端口管理,这部分主要实现了对处理器中断的管理。为了便于移植,实现中 摒弃了向量中断模式。为了支持抢占,高优先级任务可以在处理器中断态下直接抢 占当前任务,这减少了内核对实时任务的响应时间。 4 任务互斥、同步与通信管理,该部分主要实现了任务间关系的处理方法,这 些方法主要来源于传统操作系统理论,他们包括信号量,共享内存,邮箱和管道等 技术。除此之外,还论述了自旋锁机制与事件机制,虽然内核未直接提供对它们的 支持,但说明了利用当前内核中所实现的机制如何实现这两种机制。 5 内核移植与驱动,这部分主要将内核移植到a r m 7 t d m i 核的s 3 c 4 4 b o x 处 理器,并利用内核提供的各种功能实现了串口驱动程序。 关键词:实时系统;嵌入式系统:实时嵌入式内核:内核移植;设备驱动 五邑大学硕士论文 a b s t r a c t o p e r a t i n gs y s t e mt e c h n o l o g yi s ac o r et e c h n o l o g yo fc o m p u t e rs y s t e m o p e r a t i n gs y s t e mi s f o u n di t s e l fi np o s i t i o nd o m i n a n tn o to n l yi nl a r g e - s c a l es e r v e rs y s t e m ,b u ta l s oi np e r s o n a lc o m p u t e r s y s t e m i nr e c e n ty e a r s ,t h es m a l lr e a l t i m ee m b e d d e ds m a l ls i z ec o m p u t e rs y s t e mi sd e v e l o p i n g r a p i d l yw h i l el a r g e s c a l ec o m p u t e rs y s t e mh a se n t e r e di n t oar e l a t i v e l ym a t u r ep h a s e i nr e a l - t i m e e m b e d d e df i e l d s ,o p e r a t i n gs y s t e ms h o u l da l s ob ca tt h eh e a r tp o s i t i o n a l t h o u g ho p e r a t i n gs y s t e m t h e o r i e st h a tb a s e do nl a r g e - s c a l ec o m p u t e rs y s t e mc a ns o l v eal o to fp r o b l e m so fr e a l - t i m ee m b e d d e d s y s t e m ,t h es p e c i a ld e m a n d si nr e a l t i m ee m b e d d e df i e l ds h o u l db eu s eo fn e wo ri m p r o v e dm e t h o d s o rt h e o r i e st of i xt h o s er e q u i r e m e n t s t h em a i nt a s ko ft h i ss u b j e c ti st h a tar e a l t i m ee m b e d d e do p e r a t i n gs y s t e mk e r n e lp r o t o t y p ew i l l b er e s e a r c h e da n di m p l e m e n t e dw i t hc u r r e n tt h e o r i e s ,a n dt h i sk e r n e ls h o u l db ei l i ao na m i c r o p r o c e s s o r s u c h a ss 3 c 4 4 8 0 xw i t ha r m 7 t d m ic o r e t h i sk e r n e lp r o t o t y p ei n c l u d e st h e f o l l o w i n gf i v ep a r t s : 1 m e m o r ym a n a g e m e n t m e m o r ym a n a g e m e n ti so n eo ft h eb a s i cf u n c t i o n st h a tak e r n e ls h o u l d b ep r o v i d e d ,a n du s e r a t i oa n dr e a l - t i m ec h a r a c t e r i s t i ca t et h em a j o rf a c t o r si ne v a l u a t i o nar e a l t i m e e m b e d d e ds y s t e m a ni m p r o v e dm e m o r ym a n a g e m e n tm e t h o dh a dd e v e l o p e da c c o r d i n gt ob u d d y s y s t e mt h e o r yi nt h i ss e c t i o n t h i sm e t h o db a s e do nw h a tt om o d i f yt h es i z eo fm e m o r yb l o c kf r o m2 。 t or a n d o ms i z ek e e p sb r i e f n e s s ,r e a l - t i m ec h a r a c t e r i s t i c sa n dd e p r i v e st h ec h a r a c t e r i s t i co fl o w m e m o r yu s e - r a t i oi nb u d d ys y s t e m 2 t a s km a n a g e m e n t t h i ss e c t i o nk e e p sp r e e m p t i v et r a i tt h a tar e a l - t i m ek e r n e ls h o u l d s u p p o r t e d t h em a i na r i t h m e t i co ft h i ss e c t i o ni st h a tt a s k sa t ed i v i d e di n t o6 4g r o u p sa c c o r d i n gt oi t s p r i o r i t y k e r n e la l l o c a t e sr u n n i n go p p o r t u n i t yt ot a s k sa c c o r d i n gt oar u l ei nw h i c ht h eh i g h e rp r i o r i t y t a s k sh a v em o r er u n n i n go p p o r t u n i t y , a n dt i m e - s l i c es t r a t e g yw a si m p l e m e n t e df o rp e e rp r i o r i t yt a s k s 3 p o r tm a n a g e m e n t i n t e r r u p t i n gm a n a g e m e n ti so n l yi m p l e m e n t e di nt h i s p a r t v e c t o r i n t e r r u p t i n gs t y l ei sn o ta d o p t e di no r d e rt oe a s i l yp o r t i n gk e r n e lt oo t h e rc o m p u t e ra r c h i t e c t u r e s ; m o r e o v e r , h i g h e r t a s k sc a l lp r e e m p tt h ec u r r e n tt a s ki np r o c e s s o r si n t e r r u p t i n gm o d e 4 m u t e x ,s y n c h r o n i z a t i o na n dc o m m u n i c a t i o nm a n a g e m e n t i ti st h em a i nm i s s i o ni nt h i sp a r t t od e a lw i t hr e l a t i o n s h i po ft a s k sw i t hs o m em e t h o d s t h o s em e t h o d sm a i n l yd e r i v ef r o mc l a s s i c o p e r a t i n gs y s t e mt h e o r i e s ,s u c ha ss e m a p h o r e s ,s h a r e dm e m o r y , p i p e l i n e ,a n dm a i l b o xe t c i n a d d i t i o n ,s p i n l o c ka n di n c i d e n tm e c h a n i s mw e r ed i s c u s s e d ,b o t hm e c h a n i s m sw e r en o ti m p l e m e n t e d i i 五邑大学硕士论文 d i r e c t l yi nc u r r e n tk e r n e l ,b u tt h e yc a nb er e a l i z e dw i t ho t h e rm e c h a n i s m so fk e r n e l 5 k e r n e lp o r t i n ga n dd r i v e r t h e r ea r et w ot a s k si nt h i ss e c t o r ;f i r s t l y , t h ek e r n e lw a sp o r t e dt o s 3 c 4 4 b o xp r o c e s s o rt h a tb a s e do na r m 7 t d m ia r c h i t e c t u r e s e c o n d l y , t h e s e r i a ld r i v e rw a s d e s i g n e dw i t hs e r v i c e sp r o v i d e db y k e r n e l k e yw o r d s :r e a l t i m es y s t e m ;e m b e d d e ds y s t e m ;r e a l - t i m ee m b e d d e dk e r n e l ;k e r n e l p o r t i n g ; d e v i c ed r i v e r i i i 本人声明 我声明,本论文及其研究工作由本人在导师指导下独立完成,完成论文所用的 一切资料均已在参考文献中列出。 作者:张虎 签字:鳓 2 0 0 8 年4 月1 5 日 五邑大学硕士论文 1 1 课题来源及研究背景 第一章绪论 操作系统技术历来就是计算机技术的核心,自u n i x 诞生以来,多任务操作系 统就得到了广泛、深刻的研究,比如任务调度、任务通信和文件系统等技术。经过 数年的研究,基于单c p u 的操作系统技术已经日趋成熟。目前,操作系统领域的研 究主要集中在实时领域和分布式领域两个主要方面。在这些领域中需要在传统理论 的基础上进一步研究,以期探索出符合实时或分布式操作系统的新方法与理论。在 实时嵌入式领域,由于应用规模相差甚远,这为操作系统理论带来了特殊的要求, 比如时限要求和确定性要求等,同时这些新要求也为实时嵌入式操作系统发展带来 了动力。 近年来,实时嵌入式技术在国内蓬勃发展,国内也宣起了学习实时嵌入式技术 的热潮。但是对于实时嵌入式技术,大多数情况都在应用的层面上,核心的技术还 是被国外公司所控制和垄断,导致了大量的利润被国外企业掠走。在这种形式下, 国家开始鼓励企业或者研究机构开发具有自主知识产权的核心技术。目前,国内已 研发出了一些比较成功的操作系统,通用系统如麒麟操作系统,嵌入式系统如 h o p e n ,d e l t ao s 等【l 】。 虽然这些系统和国外相比,还有很多地方需要改进,但总 有一天国产系统能与国外系统一较高下。 在通用操作系统方面,国产操作系统要超过国际水平难度较大。近两年实时嵌 入式领域的发展给国产操作系统带来了难得的机遇,从应用来看,实时嵌入式操作 系统不可能出现一枝独秀的垄断产品,这是由嵌入式系统的多样性决定的。从市场 的角度看,实时嵌入式操作系统也具有很大的空间,这是由实时嵌入式系统应用领 域的广泛性所决定的。从理论来讲也充满了价值和挑战。所以,不管从哪个方面来 讲,实时嵌入式操作系统都值得去研究。 1 2 实时嵌入式操作系统现状与发展趋势 1 2 1 实时嵌入式操作系统现状 从1 9 8 1 年r e a d ys y s t e m 开发了世界上第一个商业嵌入式实时内核v r t x t 射,到 今天已经有近2 0 年的历史。2 0 世纪8 0 年代的产品还只支持一些1 6 位的微处理器, 五邑大学硕士论文 如6 8 k 、8 0 8 6 等等。那时候的实时嵌入式操作系统还只是内核,以销售二进制代码 为主。当时的产品除v r t x 外,还有i p i 公司的m t o s 和8 0 年代末i s i 公司的p s o s 【引, 产品主要用于军事和电信设备。进入2 0 世纪9 0 年代,现代操作系统的设计思想, 如微内核设计技术和模块化设计思想,开始渗入到实时嵌入式操作系统领域。老牌 的实时嵌入式操作系统厂家如r e a d ys y s t e m ( 在1 9 9 5 年与m i c r o t e cr e s e a r c h 合并) , 也推出新一代的v r t x s a t 2 1 实时内核,新一代的实时嵌入式操作系统厂家w i n d r i v e r 推出了v x w o r k s l 4 1 。另外,在这个时期,各家公司都力求摆脱完全依赖第三方工具 的制约,而通过自己收购、授权或使用免费工具链的方式,组成一套完整的开发环 境。例如,i s i 公司的p r i s m t 、著名的t o r n a d o ( w i n d r i v e r ) 和老牌的s p e c t r a ( v r t x 开 发系统) 等【3 1 。 进入2 0 世纪9 0 年代中期,互联网之风在北美日渐风行。网络设备制造商、终 端产品制造商都要求实时嵌入式操作系统有网络和图形界面的功能。为了方便重用 大量现存的软件代码,他们希望实时嵌入式操作系统厂家都支持标准的 a p i ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) ,如p o s i x 5 1 ,w i n 32 等,并希望实时嵌入式 操作系统的开发环境与他们已经熟悉的u n i x ,w i n d o w s 一致。这个时期的代表性 产品有v x w o r k ,q n x 和w i n c e 等f 2 1 。 可以看出,进入2 0 世纪9 0 年代后,实时嵌入式操作系统在嵌入式系统设计中 的主导地位已经确定,越来越多的工程师使用实时嵌入式操作系统,更多的新用户 愿意选择购买而不是自己开发。这时的实时嵌入式操作系统技术发展有以下一些变 化: 1 因为新的处理器越来越多,实时嵌入式操作系统自身结构的设计更易于移植, 以便在短时间内支持更多种微处理器。 2 开放源码之风已波及实时嵌入式操作系统厂家。数量相当多的实时嵌入式操 作系统厂家出售实时嵌入式操作系统时,就附加了源程序代码并含生产版税。 3 后p c 时代更多的产品使用实时嵌入式操作系统,它们对实时性要求并不高, 如手持设备等。w i n c e ,p l a mo s 等实时嵌入式操作系统产品就是顺应这些应用而 开发出来的。 4 实时嵌入式系统要求的高可靠性,对实时嵌入式操作系统提出了新的要求。 w i n d r i v e r 新推出的v x w o r ka e 对支持h a ( 高可用性) 和热切换等特点都下了一 番功夫。 2 五邑大学硕士论文 5 w i n d r i v e r 收购了i s i ,在实时嵌入式操作系统市场形成了相当程度的垄断,但 是由于w i n d r i v e r 决定放弃p s o s ,转为开发v x w o r k 与p s o s 合二为一版本,这便 使得p s o s 用户再一次走到重新选择实时嵌入式操作系统的路口,给了其他实时嵌 入式操作系统厂家一次机会。 6 l i n u x 在消费电子设备中得到应用。嵌入式l i n u x 得到了相当广泛的半导体厂 商的支持和投资,如i n t e l 和m o t o r o l a 。 在过去几年中,国内的一些研究机构和企业,已经在开发具有知识产权的实时 嵌入式操作系统或在l i n u x 基础上发展自己的嵌人式l i n u x 版本。国产实时嵌入式 操作系统的市场主要集中在消费电子方面,因为这里有许多国外实时嵌入式操作系 统不能适应的部分,如中文处理。目前主要产品有:中科院的“女娲 ,英文是 “h o p e n ”:北京科银京成的d e l t ao s ( 原名是c r t o s ) ;中科院红旗l i n u x ;深圳 蓝点l i n u x 等。 1 2 2 主流实时嵌入式操作系统特点 下面对当前几种具有代表性的实时嵌入式操作系统内核做个简单的评述,这些 内核主要有:w i n d o w sc e 、嵌入式l i n u x 、v x w o r k s 以及c o s 【6 。 w i n d o w sc e 是一种针对小容量、移动式、智能化和模块化要求的软实时嵌人 式操作系统。它是从整体上为有限资源的平台设计出的完整优先级、多任务和多线 程的操作系统。但是它在效率、功耗方面的表现并不出色,并且无法很好地支持硬 实时应用; 嵌入式l i n u x 是开源项目,有着优秀的网络功能,并具有稳定、内核精悍、运 行所需资源少及支持的硬件数量庞大等优点。但是l i n u x 体系提供实时性能需要添加 实时软件模块,而这些实时模块是在内核空间运行的,因此,代码错误可能会破坏 操作系统,从而影响整个系统的稳定性和可靠性; v x w o r k s 具有可裁剪的微内核结构,效率高、可移植性好,具备完整的t c p i p 网络协议,是一个硬实时嵌入式操作系统。总的来说,v x w o r k s 在很多方面做得很 好,但是某些方面仍有改进的余地,比如线程调度,现有的调度策略比较简单,可 以增加一些稍微复杂的、更适合硬实时特性的调度策略; i t c o s 是专为嵌入式应用设计的开源项目,它同样具有可移植好、可固化、可 裁剪和实用可靠等特点。但是由于它只是一个实时内核,只提供了内核的基本功能, 诸如文件系统、网络管理等额外功能则需要用户自己去实现。 五邑大学硕士论文 从以上的比较可以看出,现有的嵌入式实时操作系统都或多或少的存在着一些 缺陷,仍有很多值得改进的地方。在充分吸收各自优点的基础上,尽可能的改善现 有的不足,使得系统更加完善。 1 2 3 实时嵌入式内核发展趋势 实时嵌入式操作系统内核正在向着形成行业标准、高可用性和高可靠性、高可 移植性和易扩展性的趋势发展【7 1 。目前一些行业已经开始定义相关的实时嵌入式操 作系统行业标准,如汽车电子的o s e k v d x t 8 1 、航空电子的a r i n c6 5 3 t 9 】等。根据不 同行业的要求,今后将会有其他的实时嵌入式操作系统行业标准出现。 高可用性和高可靠性也是实时嵌入式操作系统发展的必然趋势【7 1 。实时嵌入式操 作系统常常运行在关键的系统中,高可用性和高可靠性要求比一般操作系统高,因 此在实时嵌入式操作系统中采用合适的措施保证高可用性和高可靠性尤为重要。比 如,在一些高可用性和高可靠性的操作系统中,利用内存管理单元( m m u 一一 m e m o r ym a n a g e m e n tu n i t ) 技术实现操作系统与应用程序的隔离,以及应用程序与 应用程序之间的隔离,以防止应用程序破坏操作系统的代码和数据,从而保证了高 可用性和高可靠性。 嵌入式系统选用的处理器芯片范围广泛,要求实时嵌入式操作系统内核具有高 度的可移植性。目前的实时嵌入式操作系统内核都具有良好的移植性,比如p c o s 、 l i n u x 等内核都能方便地移植到不同的硬件平台上。 目前,实时嵌入式操作系统提供的功能越来越丰富,比如网络、g u i 、文件系统 和电源管理系统等,随着技术的发展,将来还会有更多的功能出现。虽然,实时嵌 入式操作系统提供了丰富的功能集,但实际应用中常常只需要部分功能,这要求实 时嵌入式操作系统应具备良好的可裁减、可配置的特点。 目前,实时嵌入式操作系统及其应用开发环境的发展动向如下: 1 实时嵌入式操作系统正向实时超内核发展。2 0 世纪8 0 年代后期,国外提出微 内核思想【1 0 】,即只给内核分配一些基本的功能,包括地址空间、进程间通信和基本 调度,其他服务都是由运行在用户模式下且与其他应用程序类似的进程提供的,这 些进程可根据特定的应用和环境需求进行定制,有时也称这些进程为服务器【1 0 1 。这 是一种机制与策略分离的开放式设计思路。 近几年,国外发展了一种基于微内核思想设计的精巧嵌入式微内核,即实时超 微内核1 1 1 l 。超内核是一种非常紧凑的基本代码层,为嵌入式应用提供了可抢占、快 4 五邑大学硕士论文 速而确定的实时服务,在它的基础上,可以灵活的构造各种类型的、与现成系统兼 容的、可伸缩的实时嵌入式操作系统。m r i 公司已首先推出了局域网实时超内核的 嵌入式操作系统v r t x s a ,它与v r t x 3 2 兼容,并具有更强的功能,实时性和可靠性 有很大的进步; 2 开发环境向开放、集成化的方向发展。实时嵌入式操作系统开发机构十分重 视集成开发环境,目前主流的集成开发环境已发展到第三代,它以客户服务器 的系统结构为基础,具有运行系统无关性、连接无关性、开放的软件接口、环境一 致性和宿主机上目标仿真等特剧1 2 1 ; 3 实时嵌入式操作系统网络化成为必然趋势。为适应嵌入式分布式处理结构和 应用上网的需求,面向2 l 世纪的嵌入式系统要求配备一种和多种标准的网络通信接 口。 1 3 主要工作 本课题的主要工作是研究设计并实现一个实时嵌入式操作系统内核原型。该内 核具备实时系统的基本特性。可以将本课题的工作细分为以下几部分: 1 设计实现内存管理功能; 2 设计实现中断管理功能; 3 设计实现任务管理功能; 4 设计实现任务互斥、同步与通信功能; 5 将该内核移植到a r m 7 t d m i 核的s 3 c 4 4 b o x 处理器上运行; 6 设计串口驱动程序,以便测试内核; 7 内核的单元测试,以及系统的整体测试; 8 设计演示程序测试该系统的实际应用能力。 1 4 论文的内容安排 本文通过总结现有的操作系统理论,并结合实时嵌入式系统的特征,设计并实 现了一个具有基本实时特征的实时嵌入式操作系统原型,该内核原型最终被移植到 具有a r m 7 t d m i 核的s 3 c 4 4 b o x 处理器上运行。本文将详细论述本课题所涉及的各 个方面,论文的组织结构如下: 第一章为绪论,该章主要介绍实时嵌入式操作系统的国内、国际发展现状,对 五邑大学硕士论文 主流的实时嵌入式操作系统的特点作简单总结,并简单论述实时嵌入式操作系统的 发展趋势。 第二章为实时系统概述,该部分主要有四个方面的内容:首先,论述实时系统 的定义:然后,实时系统与非实时系统的异同点被讨论;其次,论述实时系统开发 时应该考虑的问题;最后,论述设计实时系统的难点。 第三章为实时嵌入式操作系统内核原型及设计,在本章中先从前后台系统引出 操作系统内核的定义与特征,并对不可抢占内核与可抢占内核作详细的论述;最后, 对所设计的内核原型做总体结构上的说明,后面的章节将围绕着内核原型的结构来 论述,本章总领下面的章节。 第四章对内核原型的内存管理部分做详细的论述。首先,对内存管理机制,内 存分区,伙伴系统等基础知识做详细的探讨:然后,在这些知识之上提出一种改进 型的伙伴系统内存管理方案,该方案在保持伙伴系统的优点的同时,还具有较高的 内存利用率;最后,论述该改进型的伙伴系统内存管理方案的实现过程。 第五章主要论述硬件端口的管理方式,在这部分中实际上只论述中断管理。主 要内容有:首先,叙述中断分类和中断处理过程;然后,给出实时内核的中断参数, 这些参数是衡量实时嵌入式内核的重要指标;最后,叙述中断管理部分的实现。 第六章论述任务管理部分的内容。首先,论述任务的定义以及任务在内核中的 运行状态;然后,论述内核的核心任务调度,在这部分中还将详细论述优先级 反转现象以及处理技术:其次,探讨内核时钟;最后,叙述该部分的实现方法与过 程。 第七章主要论述任务互斥、同步与通信部分。首先,并发性原理以及并发带来 的后果被描述,并论述解决这些问题的基本技术;然后,详细讨论互斥、同步与通 信的基本技术;最后,叙述这些基本技术的实现过程。 第八章将叙述内核在s 3 c 4 4 b o x 处理器上的移植过程,以及用串口驱动实例来说 明驱动开发的步骤与方法。 6 五邑大学硕士论文 第二章实时系统概述 实时系统的特点是指如果逻辑和时序出现偏差将会引起严重后果的系统,实时 系统分为软实时系统和硬实时系统【1 3 l 。在软实时系统中系统的宗旨是使各个任务 ( 注:在文中不对任务、线程、进程加以区分,后面会根据实际情况使用这些名词) 运行得越快越好,并不要求限定某一任务必须在多长时间内完成。在硬实时系统中, 各任务不仅要执行无误而且还受到时限的要求。大多数实时系统是二者的结合。实 时系统的应用涵盖广泛的领域,而多数实时系统又是嵌入式的。嵌入式系统的例子 有工业过程控制、汽车业、计算机外设、调制解调器、路由器、机器人、航空航天 和家电产品。实时应用软件的设计一般比非实时应用软件设计要求更高。本章论述 实时系统基本概念和实时系统设计的难点,具体内容如下: 实时系统定义 实时系统与非实时系统的异同点 设计实时系统应考虑的问题 实时系统的难点 2 1 实时系统定义 精确定义实时系统是件比较困难的事,y o u n g ( 1 9 8 2 ) 将实时系统定义为:任何 在有限、指定的周期内对外部发生的激励作出响应的信息处理活动或系统【l 孤。一个 典型的实时系统监控着外部因素,系统能及时地捕获和响应外部条件的变化【1 4 1 。实 时系统的主要特征是能及时响应外部发生的随机事件,并以足够快的速度完成对事 件处理的计算机应用系统,比如电网监控系统、航空航天控制系统及工业控制系统 等。实时系统最大的特点是时间约束,在系统中任何时刻对任何事件的处理结果都 必须是可预测的或是可确定的。实时系统中所发生的事件( 突发的或预先设定的) 必须在时限以内得到正确的响应,否则系统将会造成严重的经济损失或者致命的后 果。可以看出,实时系统的正确性不仅依赖于计算的合理结果,还依赖于产生这个 结果的时间i ”j 。 实时系统分为硬实时系统和软实时系统两种类型。硬实时系统要保证按时完成 关键性的任务。为此,系统中所有的延迟都需要限制。软实时系统是一种限制较少 的实时系统,其关键任务的优先权要高于其它任务,并保持拥有这个优先权直到结 7 五邑大学硕士论文 束。在硬实时系统中,实时任务不能无休止的等待系统内核来执行它,因此需要限 制操作系统的内核延迟。软实时系统可以与其它类型的系统混为一体,但软实时系 统比硬实时系统有着更多受限的应用。鉴于其缺乏对操作时限的支持,在工业控制 和机器人中应用软实时系统是比较危险的。然而软实时系统通常在其它一些领域中 应用广泛,这包括了多媒体、虚拟现实和高级科学项目( 如海底探险和行星探测) 。 2 2 实时系统与非实时系统异同点 上节论述了实时系统的定义,实时系统与非实时系统都同为计算机系统,那么 他们之间有什么异同呢? 本节将对此问题进行较详细的论述,该节将从时限性、确 定性要求,日志机制,任务执行次序策略,安全性考虑和实时系统与非实时系统的 相同点等五个方面将实时系统与非实时系统做详细的比较。 2 2 1 时限性、确定性要求不同 非实时系统对时间的要求比较宽松,这类系统的运算结果基本与时间无关,只 要求逻辑结果的正确性。响应时间的随机性是非实时系统的一大特点,延时1 0 m s 或延时1 s 响应事件不会对非实时系统造成大的影响。非实时系统会产生不确定的行 为,实时系统要求所产生的行为必须是确定的。假如实时系统的某个任务必须在 1 0 m s 内得到正确的响应,超过1 0 m s 得到的服务都是没意义的。 实时系统中对每个事件的处理都有严格的时间约束,这个时间约束包括任务就 绪时间、运行时间和最迟响应时间1 1 4 】。实时系统必须提供实时机制或者服务来满足 这些时限要求。实时机制必须在以下5 个方面得到保障:任务管理,任务通信( i p c ) , 内存管理,设备管理和时钟管理,如图2 - 1 所示。 任务管理设备管理 时钟管理 i p c 内核内存管理 图2 - 1 需保障实时机制的五个方面 非实时系统中任务管理机制主要遵循公平性原则,而在实时系统中,必须让时 限更紧急的任务优先得到服务,所以实时系统任务管理机制是不公平的,通常采用 基于任务优先级的方案管理和调度任务;i p c 机制为任务间的信息传递提供可靠及 时的服务;内存管理机制为任务分配必要的内存空间,同时提供任务间内存共享服 8 五邑大学硕士论文 务;时钟提供诸如任务等待、任务超时以及确定任务时限的依据。从图2 1 可以看 出实时系统和非实时系统的组成相似,只是实时系统对以上五个部分有更严格的时 间要求。 这五个部分必须要构造一个确定性的环境来保证实时性要求。五个部分中任何 一环失败都会导致整个系统失败。例如某实时系统每个时钟中断都会产生一个信号 通知某个事件已经发生,如果某次时钟中断被覆盖而未能产生信号,这时整个系统 就失败了。 2 2 2 日志机制实现不同 在传统系统中,常采用日志机制记录系统运行信息,比如错误信息或任务状态 信息,这些信息能够帮助分析错误。实时系统的日志功能一般较弱甚至没有实现, 因为日志机制本身会占用资源和时间开销,这对资源和时间较敏感的实时系统来讲 是一个需要认真考虑的问题。当前某些类u n i x 实时内核也提供日志机制,但由于 开销的原因设计人员大多会摒弃日志功能。 2 2 3 任务执行次序策略不同 在实时系统中为保证紧急任务的时限,任务调度都会支持基于优先级的方案。 实时系统中所有任务的行为必须是确定的,而非实时系统中运行的任务是不确定的。 实时系统的确定性要求迫使系统中的任务必须按照合理的次序运行,任何不合时宜 的运行次序都会造成系统失败。 竞争条件是影响实时系统确定性的主要问题,两个或多个任务读写某些共享数 据,而最后结果取决于任务的精确时序,称为竞争条件( r a c ec o n d i t i o n ) 6 1 。非实时系 统中可以采取加锁、原子操作、或者关中断等机制1 0 1 解决竞争条件问题,实时系统 中也可以采取这些机制,不同的是实时系统还应该考虑机制本身的开销。 优先级反转【1 6 1 问题是实时系统中最常见问题,如果两个优先级不同的任务都试 图访问共享数据,必须保证高优先级任务先于低优先级任务访问数据。否则整个系 统就失败了。 非实时系统中也会有以上的情况,它可以采用日志的方式记录系统的运行状态 和信息,然后分析日志文件,这样能很容易的解决问题。而实时系统在采取何种机 制时还必须考虑机制本身的开销,这是同非实时机制的最大不同点。 9 五邑大学硕士论文 2 2 4 安全性考虑不同 对于大多数实时系统而言,设计时很少考虑安全因素,对安全因素的考虑常常 是在事发以后。这主要是以下三个原因:一是安全机制需要花费c p u 、内存以及其 他的资源,在实时系统中这些资源常常比较昂贵和紧缺;二是权衡安全机制和系统 可靠性花费较大:三是实时系统还未受到像通用系统那样的安全威胁,也没有受到 黑客或者恶意代码的狂轰滥炸。从实时系统的发展及特点来看,实时系统安全会得 到越来越多的重视。美国国防部和美国国家安全局制定了关于计算机设备( 包括实 时系统) 的安全指示d o dd i r e c t i v e s8 5 0 0 1 t 17 1 。指示中描述了所有的计算机设 备包括p d a s 和其他的移动设备必须在适当层次上保证数据完整性、机密性和有效 性。这说明实时系统的安全性已经成为不可忽略的一部分。 2 2 5 实时系统与非实时系统的相同点 实时系统与非实时系统也有很多相同的特性。首先从系统的软件构造来讲,它 们都有一个内核,然后在内核之上运行了很多任务,也可能提供用户交互界面。从 硬件方面,它们都有中央处理器;易失性存储器,如内存和寄存器;非易失性存储 器,如r o m 或者硬盘。非实时系统中存在的某些问题同样也威胁着实时系统,例 如缓冲区溢出、内存泄漏、安全等问题。 2 3 设计实时系统应考虑的问题 2 3 1 需求分析与系统设计方面 对于一个特定实时系统的需求分析和系统设计大体上可以从以下四个方面来分 析。 第一,分析系统中所有的事件,及事件的本质、事件的产生时机、事件的后果, 以及怎样处理事件。 第二,系统的健壮性分析,在系统出现错误以后采取什么措施,是使系统从错 误中恢复,还是减轻错误所带来的后果。如果采用后一种策略,系统分析人员就必 须预测后果的严重性、后果影响的范围等问题然后采取相应的措施。 第三,决定系统需要什么样的硬件设备。最主要是考虑存储设备,需要根据实 际情况来选择,比如是否考虑为以后系统升级留下空间等问题。 第四,根据系统功能要求决定采用什么样的实时内核,应考虑所选内核的中断 1 0 五邑大学硕士论文 响应时间、关中断时间、任务切换时间、任务切换和时间开销方面的参数,衡量是 否满足系统中所有任务的时限。 2 3 2 健壮性方面 健壮性是指整个系统不应该因为某一部件出现可靠性问题而影响到整个系统的 使用,健壮性是在系统内部可靠性不能被百分之百保证的情况下,应该提供的使系 统仍然可以使用的机制。系统中所有影响健壮性的因素都应该避免。下面几部分可 能影响系统健壮性: 内存:内存泄漏,内存越界访问; 内核活动:任务优先级设置不正确,运行时出现优先级反转; 系统服务内核模块:内核的某个模块崩溃; i p c - 消息异常,错误消息; 资源分配:死锁条件,竞争条件,文件访问越权,任务饿死。 这些都是影响健壮性的关键区域,五个区域中任何区域都会影响系统的健壮性。 例如,假设一个流氓任务r 得到了运行的机会,它给任务a 发送大量的信息,任务 a 要维持它的活动状态以便与任务b 同步。如果任务r 发给任务a 的信息达到一定 阀值时,那么任务a 就只能处理这些消息,从而导致任务a ,b 间通信失败,最终 导致整个系统失败,如图2 2 所示。 厂 i 任务aj i i _ j 图2 - 2i p c 问题 以上五个区域在非实时系统中也会出现问题,但由此造成的影响却是非常小的, 例如p c 上一个应用程序出现问题,只需终止此程序,而控制核反应堆的程序出现问 题就不是终止程序这么简单了。因此,以上五个区域是保证实时系统健壮性的关键。 2 3 3 系统性能方面 实时系统设计时都应该将保证系统时限要求作为考虑的重要因素,将设计过程 与任务时限要求相关的时间参数,以及可靠性初期评估进行形式化的描述。根据实 时任务特征,影响实时系统性能因素主要可分为硬件因素和软件因素。硬件因素包 圈困 五邑大学硕士论文 括c p u 、内存和存储器等,软件因素又包括任务因素和系统因素。任务因素包括任 务周期( 非周期性任务的到达时机) 、任务执行时间和任务数量。系统因素应该包括 系统响应时间、任务调度时间、中断延迟时间、资源共享与分配情况、总线情况、 通信协议和输入输出的时间约束等。 2 4 设计实时系统的难点 2 4 1 系统运行数据收集 实时系统的难点主要来自于保证时限性和确定性。系统运行数据是分析系统的 重要依据。保证系统运行数据是系统运行的重要证据之一,但是收集运行数据很难 或者根本不可能。运行数据能够说明哪个任务正在运行,任务访问了哪些资源,任 务申请了多少内存空间,哪个用户登录到了系统等等。主要有两个方面阻碍了运行 数据的收集,第一个困难来自于收集数据本身,当收集数据时系统中的数据已经被 破坏了,任何时候运行数据收集工具访问寄存器、c a c h e 或内存收集数据时,这些空 间中的数据已经被破坏了;第二个困难是在收集数据刚开始的时候,运行数据已经 丢失了。例如,试图收集一个事件的发生时机,从事件发生时刻到开始收集的时间 内系统很有可能产生了其他的事件。 系统运行数据收集的困难使得日志机制更具有价值,日志提供系统出错信息、 事件信息、任务运行信息等重要信息,这些对实时系统时限和确定性分析都非常重 要,但日志机制本身又会破坏时限和确定性,这又为设计增加了难度。同时日志机 制所带来的系统消耗也是不容忽视的。 2 4 2 可靠性和安全性 实时系统的可靠性和安全性通常比其他计算机系统更严格,r a n d e l l 等( 1 9 7 8 ) 将 系统的可靠性定义为:系统行为与权威性规格说明符合程度的度量【1 8 1 。可靠性是所 有实时系统的主要目标,要求实时系统能够在非常严格的条件下正确运行,因为纳 秒级的时间延误都会导致整个系统失败。可靠性所带来的开销比较大,其中一个最 主要因素是实时系统的开发环境同实际的工作环境相差甚大。例如煤矿瓦斯检测系 统,系统的开发环境同真实环境相差甚远,为提高瓦斯检测系统的可靠性仿真实际 的工作环境是必要的,但这却增加了系统开发的开销;另一个原因是实时系统的专 用性,实时系统在目前的环境下能可靠的运行这并不代表它能够在其他类似的环境 1 2 五邑大学硕士论文 下可靠运行。 2 4 3 系统维护与升级 非实时系统升级一般比较简单,比如运行于p c 上的软件可以通过i n t e m e t 在线 升级,但实时系统的升级和维护却是一个挑战。实时系统一般工作在特殊的环境, 对其升级一般很难。比如电网控制系统随着系统负荷的不断增大,必须对其升级和 维护,否则系统将达到处理能力的极限,一旦这些系统失败其后果非常严重,但对 电网系统升级和维护的难度是非常高的。一个重要的例子是2 0 0 3 年8 月1 4 一1 5 日 美国东北部和加拿大东部的电网出现问题,导致大面积停电直接影响近六亿人的正 常生活,估计造成大约6 0 亿美元的损失【l9 1 。这次事件的原因是物理线路老化导致 电网监控系统反应迟钝,备用系统由于大量事件积压使负荷过重最后不堪重负【2 们。 2 5 本章小结 本章主要对实时系统的基本概念作了详细论述,包括实时系统定义、实时系统 与非实时系统的异同点,并在这些基础上论述了实时系统设计与开发的难点,最后 简单提及了实时系统发展将会遇到的新问题。从本章可以看出,实时系统理论建立 在般计算机系统理论之上,但实时系统对时限和确定性的严格要求是区别于其他 计算机系统的最显著特性。 1 3 五邑大学硕士论文 第三章实时嵌入式操作系统内核原型及设计 近几十年来,计算机技术取得了突飞猛进的发展,从当初的打孔机到现代的分 布式系统。计算机系统不只硬件技术飞速发展,计算机软件技术也日新月异。在操 作系统领域,操作系统主要经历了批处理系统,多道程序系统和现代操作系统。在 现代操作系统中又可以细分为分时系统,

温馨提示

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

评论

0/150

提交评论