已阅读5页,还剩59页未读, 继续免费阅读
(通信与信息系统专业论文)基于μcosⅡ的车载实时操作系统研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着汽车工业的发展,汽车电控单元( e c u ) 更多的采用3 2 位微处理器以及 嵌入式操作系统。为解决汽车电子中软件含量增加,以及在操作系统和通信网 络方面的重复开发,欧洲汽车行业开发了一个用于汽车电子、带有接口的开发 式系统o s e k v d x 规范。 本文首先介绍了o s e k v d x 规范的各个组成部分,重点分析了o s e k v d x 规范中关于操作系统内核的定义以及提供的一系列的服务与处理机制。然后在 分析嵌入式实时操作系统g c o s i i 内核的工作原理的基础上,着重研究了 g c o s 1 1 内核的任务调度算法、任务切换机制、优先级反转问题和时间管理等 方面功能。 为了提供一个开放、自主、实用的汽车电子软件开发平台,本文重点根据 o s e ko s 的定义,对g c o s i i 内核的部分功能进行改进和扩展。首先对任务调 度算法进行了改进,允许在相同优先级条件f 定义多个任务,不同优先级任务 采用原来优先级占先的任务调度方式,相同优先级任务则采用一个先进先出队 列来进行处理,使内核可以适用于车内一些高端的应用。然后为g c o s 1 i 内核 引入一种新的资源互斥协议一优先级天花板协议,解决实时操作系统中普遍存 在的优先级反转问题,使内核适用于在时间紧急的汽车环境下工作。最后根据 o s e ko s 规范中关于警报管理的定义,给g c o s i i 内核增添了外围的软件定时 器管理功能,以满足嵌入式控制系统根据所出现的一系列事件采取行动的需要。 本文最后将改进后的t i c o s i i 内核移植到基于i n t e lx 8 6 微处理器的仿真平 台上,对以上研究成果分别编写测试程序进行检验,所有的程序都通过了试验 和调试,运行状况良好。 关键词:汽车电控单元,嵌入式实时操作系统,任务调度,优先级反转 报警器管理 a b s t r a c t w i t l lt h ed e v e l o p m e n to fa u t oi n d u s t r y ,a u t o m o b i l ee l e c t r o n i c a lc o n t r o l l e du n i t ( e c u ) m o r ea d o p t3 2m i c r o p r o c e s s o r sa n de m b e d d e do p e r a t i n gs y s t e m s t os o l v e s o m eq u e s t i o n s ,s u c ha st h e i n c r e a s i n go f t h es o f t w a r ec o n t e n t si nt h ea u t o m o b i l e ,t h e r e p e a t i n gd e v e l o p m e n to fs o f t w a r ei no p e r a t i n gs y s t e ma n d c o m m u n i c a t i o nn e t w o r k , e u r o p e a na u t o m o b i l et r a d eh a sd e v e l o p e do n eo p e ns y s t e m a t i co s e k v d xn o r m w i t hi n t e r f a c ef o ra u t o m o b i l ee l e c t r o n t h i sp a p e rh a si n t r o d u c e de a c hc o m p o n e n ti no s e k v d xn o r ma t f i r s t a n a l y s e t h ed e f i n i t i o n ,as e r i e so fs e r v i c e sa n dt r e a t m e n tm e c h a n i s mo fo s e k v d x o p e r a t i n g s y s t e me s p e c i a l l y t h e nt h i sp a p e ra n a l y s et h eo p e r a t i o np r i n c i p l eo fae m b e d d e d r e a l - t i m eo p e r a t i n gs y s t e mi _ t c o s i i ,a n dt h et a s ks c h e d u l i n ga l g o r i t h mo fi _ t c o s i i k e r n e l ,t h et a s ks w i t c hm e c h a n i s m ,t h eq u e s t i o no fp r i o r i t yi n v e r s i o na n dt i m e m a n a g e df u n c t i o ne m p h a t i c a l l y , e t c t op r o v i d ea f r e e ,o p e na n dp r a c t i c a ls o f t w a r ed e v e l o p m e n tp l a t f o r mf o r a u t o m o t i v ee l e c t r o n i c s ,a c c o r d i n gt ot h ed e f i n i t i o no fo s e k o s ,i m p r o v ea n de x p a n d s o m ef u n c t i o n so f p c o s i ik e r n e l ii m p r o v et h et a s ks c h e d u l i n ga l g o r i t h ma tf i r s t m o r et h a no n et a s k sa r ea l l o w e dt ob ed e f i n i t i o n e di nt h es a m ep r i o r i t yc o n d i t i o n , d i f f e r e n tp r i o r i t yt a s k sa d o p t e dt h et a s ks c h e d u l i n gi nt h ew a yw h i c hp r i o r i t yi so n l y o n ef a c tf o rt h et a s k s ,t h es a m ep r i o r i t yt a s k sa d o p t st h et a s ks c h e d u l i n go faf i r s t i n f i r s t o u tt od e a lw i t h ,i no r d e rt ob es u i t a b l ef o rs o m ea d v a n c e da p p l i c a t i o ni nt h ec a r t h e nt h i sp a d e ri n t r o d u c eak i n do fn e wr e s o u r c em u t u a le x c l u s i o na g r e e m e n t t h e p r i o r i t yc e i l i n gp r o t o c a l f o rp c o s i ik e r n e l ,t os o l v et h ep r o b l e mo fp r i o r i t y i n v e r s i o nt h a te x i s t e di nt h er e a l t i m eo p e r a t i n gs y s t e m m a k et h ek e r n e ls u i t a b l ef o r w o r k i n gi nt h et i m eu r g e n ta u t o m o b i l ee n v i r o n m e n t f i n a l l ya d d st h ep e r i p h e r a l f u n c t i o n so fa l a l t nm a n a g e m e n tf o ri t c o s - i i i no r d e rt os a r i s f yt h en e e do ft h e e m b e d d e dc o n t r o ls y s t e mw h i c ht a k e a c t i o na c c o r d i n gt oas e r i e so fi n c i d e n t s a p p e a r e d a tl a s t ,t h i sp a d e rt r a n s p l a n t e dt h ee x t e n d e d 肛c o s i it ot h ee m u l a t i o np l a t f o r i l l b a s e do ni n t e lx 8 6m i c r o p r o c e s s o r , e x a m i n et h er e s e a r c hr e s u l t sb yw r i t i n gt h et e s t p r o g r a m m e ,a l lt e s ta n de x a m i n ea r ep a s s e d ,a n dt h eo p e r a t i o nc o n d i t i o n sa r eg o o d k e y w o r d :a u t o m o b i l ee l e c t r o m i c a lc o n t r o l l e du n i t ,e 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 m ,t a s ks c h e d u l i n g ,p r i o r i t yi n v e r s i o n ,a l a r mm a n g a g e m e n t 独创- 眭声明 v 、8 6 1 2 9 0 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名 蕃明习 日期: 珈6 予l 目1 0 日 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即学校有权 保留、送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名 誊朋导师签名 ( 注:此页内容装订在论文扉页) 期:竺! 置塑蜩 武汉理工大学硕士学位论文 1 1 课题研究的背景 第1 章绪论 1 1 1 汽车电子国内外发展现状 汽车产业日益扩大的市场需求,为电子信息产业提供了新的发展机遇,同 时电子信息技术也为汽车制造业提升整体竞争力提供了新的支撑。汽车电子化 是现代汽车发展的重要标志之一,目前世界上每辆汽车采用电子装置的情况已 成为衡量汽车水平高低的主要标志,未来汽车市场的竞争是汽车电子化的竞争。 目前,国际汽车巨头纷纷将更多的电子信息技术设备装备到整车中,在困外, 中高档轿车采用的电子信息设备已经达到3 0 5 0 。可以说,近,l 十年来汽车 工业的技术进步很大程度上是应用电子技术,特别是嵌入式技术的结果。 随着汽车电子产业的扩大,车载控制系统的复杂化,软件工程师面临的工 作蕈和压力也越来越大,据估计,每辆汽车投入的软件开发工数( 时间及人力) 在2 0 1 0 年将达到2 0 0 2 年的5 1 0 倍。随着大量嵌入式产品涌向市场,缩短开 发周期,提高开发效率,成为汽车产品开发商重点关注的问题。上述面临的问 题归结到一点,就是车用控制软件缺乏重用性和兼容性。国际业界早已开始解 决这些问题,提出于1 9 9 3 年的o s e k v d x 体系经过十多年的发展,已经引起 全球的强烈关注。o s e k v d x 标准是欧洲汽车行业先进开发技术的总结,提供 了将各种先进汽车电子设备有机集合在一一起的网络化嵌入式计算机系统的开发 规范,使汽车行业的各种软件能够兼容与协作开发,有利于提高汽车软件的开 发效率。在不同的设计中,可以重用编码和专业技术,而且使用通用接口标准, 可以在工业生产方面实现明显的节约。这个想法是非常吸引人的,世界上每一 个主要汽车制造商都高度评价用于下代产品的o s e k 标准。 在汽车电子产业发展方面,我国已形成了较好的产业基础,特别是在一些 基础的配套产品方面,例如,汽车音响、g p s 、传感器、通信设备等方面,具有 较强的竞争力。今后关键是要进一步形成经济规模来降低成本,以提高在全球 市场的竞争力。而汽车电子控制系统具有投资较大、开发周期长、技术难度大 等特点,虽然中国已经有一些企业从事技术研发,但没有形成产业化,因此这 武汉理j := 大学硕士学位论文 行业还没有发展起来,加上市场上面对着国外实力强大的跨国汽车电子公司, 这些都会影响国内汽车电子产业化的进程。 相关信息显示,信息产业部已经着手在汽车电子产业发展规划方面制定相 关的产业发展规划和政策,以加快我国汽车电子产业的发展,缩短我国在汽车 电予关键技术 :与国外的差距l 。 1 1 2 嵌入式实时操作系统的特点 目前嵌入式应用领域的。个发展倾向是采用实时多任务操作系统( r t o s ) 。 随着应用的复杂化,一个嵌入式控制器系统可能要同时控制监视很多外设,要 求有实时响应,有很多处理任务,各个任务之间有多种信息传递,如果仍采用 原来的程序设计方法存在两个问题:一是中断可能得不到及时响应,处理时间 过长,这对一些控制场合是不允许的;二是系统任务多,要考虑的各种可能也 多,各种资源如调度不当就会发生死锁,降低软件可靠性,程序编写任务量成 指数增加。 嵌入式操作系统是嵌入式应用软件的基础和开发平台,它是一段嵌入在目 标代码中的软件,用户的其它应用程序都建立在操作系统之上。嵌入式操作系 统大部分是实时操作系统r t o s ,r t o s 是一个可靠性和可信度很高的实时内核, 将c p u 时间、中断、i o 、定时器等资源都包装起来,留给用户一个标准的a p i , 并能根据各个任务的优先级,合理地在不同任务之间分配c p u 时间。优秀的 r t o s 可面对几十个系列的嵌入式m p u 、m c u 、d s p 等提供类同的a p i 接口, 这是r t o s 基于设备独立的应用程序开发的基础。它大大提高了嵌入式系统开发 的效率,减少了系统开发的总工作量,而且提高了嵌入式应用软件的可移植性。 实时操作系统分为软实时操作系统和硬实时操作系统。在硬实时操作系统 中,各任务不仅要执行无误而且要做到准时,而软实时操作系统的宗旨是使各 个任务运行得越快越好,并不要求限定某一任务必须在多长时间内完成。大多 数实时操作系统都是两者的结合。在一个实时操作系统中,系统内有多少任务 并不是那么重要,我们关心的是一个任务在系统中的重要程度,重要任务必须 优先完成。如果我们采用优先级抢占式调度方式,那么实时操作系统通常会要 求每一个工作在交付给系统的时候也给定一个优先级,代表该任务在系统中的 重要程度,任务之间的切换以优先级为根据。 r t o s 的实时性和多任务能力在很大程度上取决于它的任务调度机制。从调 武汉理工大学硕1 :学位论文 度策略上来讲,分优先级调度策略和时间片轮转调度策略;从调度方式卜来讲, 分可抢占、不可抢占、选择可抢占调度方式:从时间片来看,分固定与可变时 间片轮转。只有抢占式优先级调度方式的r t o s 才是真正的实时操作系统,可以 使中断响应时间减到最小。 r t o s 体现了一种新的系统设计思想和个开放的软件框架,开发人员在编 写程序时,可以分别编写各个任务,这样大大减少了程序编写的工作量,减少 了出错的可能性,保证最终的程序具有高可靠性。实时操作系统可以根据应用 环境的要求对内核进行裁剪和重新配置,组成可根据实际的不同应用领域而有 所不同,但以下几个重要组成部分是不太变化的:实时内核、网络组件、文件 系统和图形接口等。r t o s 的体系结构如图1 1 所示【3 4 】。 应用程序 应用程序接口 富 瞬 嗵岁 驱动程序、硬件抽象层、板级支持包 硬件 图1 1r t o s 的体系结构图 1 2 研究的目的及意义 随着全球汽车行业竞争的加剧,汽车电子产品和软件市场已经成为国际汽 车巨头开展竞争的新战场,由于汽车电子系统复杂度的提高,导致车用控制软 件缺乏重用性和兼容性,在开发和管理与应用不相关的控制单元软件时,尤其 像车用嵌入式操作系统内核等软件,存在重复的巨额开销。因为不同的接口和 协议,不同厂商生产的控制单元没有兼容性。 武汉理j 二大学硕士学位论文 从市场上来看,o s e k 标准颁布之后,在汽车行业引起了广泛的关注和实践, 越来越多的商用r t o s 供应商遵照标准进行开发设计,并使其产品通过o s e k 认证,在后期的推广和应用中成为标准的受益者之一,同时也极大的推动了 o s e k 标准的发展,促进了汽车电子控制软件领域的长足发展。 目前通过o s e k 认证的r t o s 有如下一些: 1 o s e k t u r b oo s 是一个小型、快速、可靠、可扩展的实时操作系统,满足 最新的o s e k 开放系统标准,支持8 、1 6 、3 2 位微处理器,它的设计主要是为 了满足性能的需求。 2 n u c l e u so s e k 是o s e k v d x 操作系统的全面实现,满足所有一致类,多 种调度策略,报警及用户定义计数器。 3 o s c a n 是一个多任务操作系统,在微控制器上的使用有着最优性能。 o s c a n 是一个静态操作系统,小而快,是完全抢占式操作系统,提供控制优先 级的任务管理和不同的同步机制。 4 o s e k w o r k s 提供了模块性、性能和灵活性的独特结合。对特定对象可根 据不同的o s e k v d x 类进行裁剪,令r a m 、r o m 需求达到最小。 5 p i c o s l 8 是基于o s e k v d x 标准,针对m i c r o c h i p 公司的p i c l 8 f 系列单 片机编写的一个嵌入式实时操作系统。 6 e r c o s e k 是一个硬实时系统,已经在汽车行业多个大规模的生成项目里 证实其可靠性,为提高移植性以c 函数库的形式实现。 汽车操作系统属于高技术产品,由于我国汽车工业技术相对落后,国内这 方面的开发研究工作较少。汽车信息技术是汽车技术最活跃最有潜力的生长点, 我国要在汽车技术上赶超先进水平,对汽车信息技术进行跟踪和超前研究是必 要的,而且也是最有效的途径。此论文在设计符合o s e ko s 规范的实时操作系 统方面做了相关的研究和尝试,对增加汽车自主知识产权的拥有量,推进我国 汽车信息技术发展有重要意义【7 1 。 1 3 论文主要工作与安排 本论文主要工作是根据o s e ko s 的定义,对嵌入式实时操作系统i _ t c o s i i 内核的部分功能进行改进和扩展。论文总共包括6 章,结构如下: 第一章介绍了课题研究背景,包括汽车电子的发展现状和嵌入式实时操作 系统的基本特点,以及课题研究的目的及意义。 4 武汉理工人学硕士学位论文 第一:章首先介绍了当前在国际汽车上业界日益占据主导地位的汽车电子开 放式平台系统o s e k v d x ( o p e ns y s t e ma 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 r a u t o m o t i v ee l e c t r o n i c s v 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 ) 规范,着重分析了 o s e k v d x 操作系统的定义及提供的一系列的服务和处理机制。 第三章详细介绍了嵌入式实时操作系统p , c o s 1 1 内核的工作原理,l x c o s 一1 i 是专为嵌入式应用设计的,可用于各类8 位、1 6 位和3 2 位单片机或d s p 。 着重研究了崛o s i i 内核的任务调度算法,任务切换机制,优先级反转问题和 时间管理等方面功能。 第四章根据o s e ko s 的定义,改进和扩展g c o s i i 内核的部分功能。首先 对任务调度算法进行改进,允许在相同优先级条件f 定义多个任务,不同优先 级任务采用原来优先级占先的任务调度方式,相同优先级任务采用一个先进先 出( f i f o ) 队列来进行处理;然后为扯c o s i i 内核引入一种新的资源互斥协议一 优先级天花板协议( p c p ) ,解决优先级反转问题;晟后给 t c o s i i 内核增添外围 的警报管理功能。 第五章将改进后的i _ t c o s i i 移植到基于i n t e lx 8 6 微处理器的仿真平台上, 对研究成果进行测试和验证。 本文最后对研究工作进行了总结和展望,提出了今后改进的方向和措施。 武汉理工夫学硕士学位论文 第2 章汽车电子o s e k v i i x 标准研究 最近2 0 年来,在汽车中嵌入式微控制器的数量迅速增多,为了节约成本和 缩短丌发周期,提高不同公司控制单元的软件质量,以及标准化不同体系结构 设计的接口特性,德国和法国的主要汽车制造商和供应商一起开发了用于操作 系统、通信和网络管理的开放式标准o s e k v d x 。虽然o s e k ,v d x 标准最初是 为汽车工业开发的,但其产生的规范描述了一个小的、适用于大多数嵌入式系 统的实时o s 。在以后的章节中,我们将o s e k v d x 标准简称为o s e k 标准【8 1 。 2 1o s e k 标准体系结构 o s e k 标准的主要组成部分已经通过了i s o 的标准化,主要由4 部分组成: 操作系统规范( o s e ko s ) 、通信规范( o s e kc o m ) 、网络管理规范( o s e kn m ) 和o s e k 实现语言( o s e k o i l ) 。其中o s e k o s 是针对汽车应用特点而专门制定 的一个小型r t o s 规范,着重以下几个方面:可移植性,所有a p i 都是标准 化的并且在功能上都有明确的定义;可扩展性,o s e ko s 旨在通用于任何类 型的e c u ,因此一方面系统要高度的模块化,另一方面又要能进行灵活的配置; 汽车应用的特定需求,诸如可靠性、实用性和代价敏感性等。相应的,o s e k o s 静态配置可以通过o s e ko i l 语言实现,用户在系统生成时静态制定任务的 个数、需要的资源和系统服务。o s e kc o m 为通信网络中的数据交换提供了标 准的接口和协议。o s e k n m 为监视网络的流量提供了一组标准的功能函数,以 保证网络的安全性和可靠性。 其中操作系统( o s ) 、网络管理( n m ) 和通信( c o m ) 是三个可重用模块,这三 个模块可用于构造分布式系统应用程序软件模块。操作系统模块、网络管理模 块和通信模块可以彼此独立于其它模块,完全由使用者决定实现o s e k 标准的 一个或者全部功能。使用o s e k 标准的应用程序与各个模块组件之间的关系如 图2 1 所示归1 。 6 武汉理1 一大学硕士学位论文 s 。 g8 i o 层 通信管理 8 物理层 图2 1o s e k 应用构架 2 2o s e k 操作系统模块 符合o s e k 标准的操作系统( 简称o s e ko s ) 定义了一个小的、可伸缩的实 时操作系统,为车控应用软件提供了一个统一的平台,从而更加有效的利用车 控应用软件。从d , n 具有8 k br o m 、运行在8 位微处理器上的系统到具有5 1 2 k r o m 、运行在3 2 位微处理器上的系统都可以使用这个o s 。 2 2 1o s e ko s 的要求 1 严格的实时性特征:必须支持事件驱动的控制系统。 2 标准接口:提供统一的a p i 服务为各类汽车电子控制软件的开发提供标 准接口,对于运行在各类芯片上的不同o s e ko s 而言,这些接口都是相同的。 3 可扩展性:o s e ko s 本身必须具备高度的模块化和可配置性,使操作系 统既能支持低端微处理器又能支持复杂的控制单元,并支持在大多数硬件上的 实时性应用。定义“一致类( c o n f o r m a n c ec l a s s ) ”以及为应用程序进行系统的定制, 以满足这些需求。不同的一致类,不同的调度机制以及不同的配置特征能使 o s e ko s 支持广泛的应用和硬件。最简单的情况下,o s e ko s 只需要很少的硬 件资源( r a m 、r o m 、c p u t i m e ) ,并可以在8 位处理器上运行。 4 应用软件可移植性:移植性是指应用软件在不需要很大改动的情况下从 一个e c u 转换到另一个e c u 上运行。o s e k 标准的一个目标就是支持系统的移 植以及应用软件的重用,因此,应用软件和操作系统的接口被定义为标准系统 武汉理l 一大学硕1 l 学位论文 服务。应用标准系统服务能减少维护和移植应用软件的投入,操作系统的标准 接v i 将在源代码层支持可移植性。为了更好的支持应用程序的可移植性,o s e k 标准定义一种表示标准配置的语言“o i l ”,它支持对所有o s e k 标准对象( 如任 务,a l a r m 等) 的可移植性的描叙。 5 对汽车需求的特殊支持:o s e ko s 的特殊要求来源于车控软件的应用环 境发展,下列特征反映了需求,例如可靠性,实时性和对价格的敏感性:o s e k o s 能被静态的配置和扩展,用户静态指导任务的数目,资源和服务的需求: o s e ko s 规范支持在r o m 中实现,比如,代码能在r o m 中运行;o s e ko s 规范提供可预见的方式保证操作系统的实现符合汽车的实时性要求。 2 2 2o s e ko s 体系结构 1 处理层次 o s e ko s 作为彼此独立的应用程序的基础,在处理器上为这些应用程序提 供一个运行环境。o s e ko s 可以控制几个时问上并行运行的过程实时执行。 o s e ko s 为用户提供了一套定义的接口。些争用c p u 的实体使用这些接 n 。有两类类型的实体:由操作系统管理的中断服务程序和任务( 基本任务和延 伸任务) 。 操作系统服务可以管理一。个控制单元的硬件资源,特殊的接口、应用程序 都可以调用操作系统服务。o s e ko s 定义了三个处理级别:中断层;调度 程序的逻辑层;任务层。 在任务层内,用户根据任务的优先级调度任务。在任务开始执行时,就已 经占有它运行时所需要的全部资源,并且一旦任务运行完毕,它会释放它所占 有的所有资源。 o s e ko s 建立了下面的优先级原则:中断的优先级高于任务的优先级; 一个或者多个中断优先级层次构成中断处理层;中断服务例行程序有一个 静态分配的中断优先级层次;根据具体实现和硬件体系结构分配中断服务程 序的中断优先级;用户静态的分配任务优先级。 处理层是为处理任务和中断程序而定义的一系列连续数值,将操作系统的 优先级映射到硬件优先级是特殊实现的,为调度程序分配优先级只是一个逻辑 上的概念,而且o s e ko s 没有定义关于任务优先级和特殊微处理器体系结构硬 件中断层之间关系的任何规则。 武汉理工大学硕士学位论文 2 ,。致性类 应用软件对系统的不同需求和特定系统的不同性能要求操作系统具有不同 的特点,操作系统的这些特点被描述为“致性类( c o n f o r m a n c ec l a s s e s 简写为 c c ) ”。 一致类支持下列目标:方便的提供操作系统特征,使得o s e ko s 更加易 懂和便于讨论;在预定义条件下运行部分实现,这些部分实现能被认定为符 合o s e k 标准;利用o s e k 的相关属性,在不改变应用程序的前提下,实现 对功能较强或者功能较弱的升级。 一致类由下列属性所决定:任务启动的多次请求,即一个任务是否可以 被启动多次;任务类型,分为基本任务和扩展任务,通过w a i t 状态和支持事 件来区分;每个优先级的任务个数。 o s e k o s 中定义了四种致类:b c c l ( 只有基本任务,每个任务只能有 一个启动请求,每个优先级只能有一个任务,所有的任务都有不同的优先级) : b c c 2 ( 与b c c l 类似,加上二每个优先级可以有多于一个的任务,任务允许有多 重启动请求) ;e c c l ( 与b c c i 类似,加上扩展任务) ;e c c 2 ( 与e c c l 类似, 加上每个优先级可以有多于一个的任务,基本任务允许有多重启动请求 。 2 2 3o s e ko s 系统运行机制 1 任务管理机制 一个复杂的控制软件可以根据它的实时性需求分成几个子部分来执行,这 些子部分可以由任务来实现,一个任务为函数的执行提供了框架,操作系统提 供了任务的同步执行和异步执行,调度程序组织了任务的执行顺序。o s e ko s 提供了一套任务转换机制,还提供了空闲任务机制,用来处理系统函数和应用 函数都不活动的情况。 f 1 ) 任务的分类 o s e ko s 提供两种不同的任务概念:基本任务和扩展任务。 基本任务:基本任务只有在下面三种情况下才释放处理器,分别是:任 务运行结束:o s e k 转去运行更高优先级的任务;发生了中断,使处理器 转去执行中断服务程序。 扩展任务:扩展任务和基本任务的区别在于是否允许操作系统调用 w a i t e v e n t 服务,调用这个服务就会引入w a i t i n g 状态,扩展任务允许操作系统 9 武汉理上大学硕士学位论文 调用w a i t e v e n t 服务,而基本任务不允许操作系统调用w a i t e v e n t 服务。w a i t i n g 状态允许处理器被释放并且重新分配给较低优先级的任务,而不用结束现在l f 在运行的扩展任务。从操作系统的观点来看,对扩展任务的管理要比对基本任 务的管理更加复杂,并且需要更多的系统资源。 ( 2 ) 任务的状态模型 因为处理器在某一时问只能执行一个任务的。条指令,所以任务要在几个 不同的状态之间变换,而且在同一段时问可能有几个不同的任务竞争处理器。 o s e ko s 负责保存和恢复进行状态转换的任务的上下文。 扩展任务有四个任务状态:运行态( r u n n i n g ) ,在运行状态时,任务占有 c p u ,任务的指令被执行。在任何个时间点,只有一个任务处于运行状态。在 其他状态可以同时有几个任务;就绪态( r e a d y ) ,已经具备所有转换到运行态 所需要的条件,任务只是等待分配处理器。由调度程序决定下一次哪个处于就 绪态的任务进入运行态;等待态( w a i t i n g ) , 个任务因为要等待至少个事件 的发生而不能继续执行;悬挂态( s u s p e n d e d ) ,处于悬挂态的任务是“消极”的, 但是可以被激活。基本任务和扩展任务的区别在于扩展任务比基本任务多一个 等待状态。 基本任务只在任务的开始和结束时有同步点,如果一个应用程序没有内部 同步点,就必须由另外一个基本任务来实现同步,基本任务的优点是可以缓和 运行时对r a m 的需求。 扩展任务的优点是无论同步需求是否处于激活状态,在一个任务中都可以 连贯地处理工作。当缺少进一步处理所需要的消息时,扩展任务就转换到等待 状态,而且扩展任务所具有的同步点也比基本任务多。 ( 3 ) 任务激活 操作系统服务a c t i v a t e t a s k 或者是c h a i n t a s k 完成激活一个任务的操作,激 活之后,任务就由初始状态转换到准备执行状态。o s e k o s 不支持像c 语言那 样的变量传递,但是可以通过消息通信或者全局变量来传递参数。任务激活的 多重请求是指o s e ko s 接受并且记录一个已经激活的任务的并行激活次数。一 个基本任务能够被激活一次或者多次,是由这个基本任务所属的一致性类决定 的。系统生成时,在基本任务特定属性中就已经定义了一个任务能够被并行多 重请求的次数,如果没有达到多重请求的最大数值,那么这些请求就会排队, 每个优先级的基本任务的激活请求按照激活次数排队。 武汉理工大学硕士学位论文 ( 4 ) 任务优先级 调度程序根据任务的优先级来确定下一个由就绪态进入运行态的任务,0 代 表最低优先级,数值越大定义的优先级就越高。为了提高效率,不支持优先级 的动态管理方法,也就是由用户静态定义的优先级,在系统执行过程中是不能 被修改的,但是,在特定的情况下,操作系统有时认为一个任务具有更高的优 先级。 具有同一个优先级的多个任务的启动顺序取决于任务被激活的次序,因此 处于等待状态的任务不会阻碍具有同一优先级的并发任务的启动。一个被抢占 的任务按照优先级被放在就绪表中,如果就绪表中有一个任务a 跟这个被抢占 的任务具有相同的优先级,那么把被抢占的任务放在a 的前面。一个任务b 由 等待状态转换到就绪态,按照优先级的大小放在就绪表中,如果有一个任务c 和任务b 具有相同的优先级,并且任务c 也要进入就绪表,那么把c 放在b 的 前面。 确定下一个将要被执行的任务必须遵守下面的基本步骤:调度程序搜寻 所有处于就绪态运行态的任务;在处于就绪态运行态的任务集合中,调度程 序确定具有最高优先级的任务集合;在处于就绪态运行态并且具有最高优先 级的任务中选择排在最前面的任务,使其投入运行。 2 任务调度机制 ( 1 ) 调度机制的分类 调度机制有如下三种: 完全可抢占式调度机制:是指当时处于运行状态的任务,可以被操作系 统在任意指令处重新调度,完全可抢占式调度机制会把处于运行态的任务变成 就绪态任务。一旦一个较高优先级任务进入就绪态,那么操作系统就会存储正 在运行的任务的上一f 文,使得这个被抢占的任务以后能够在它被终止的地方继 续执行。 完全可抢占式调度机制的延迟时间与低优先级任务无关,o s e k 限制了为了 存储任务的上下文对存储器的需求,还限制了为了实现任务之间的同步对复杂 性的要求。理论上来说,每个任务在任何地方都可以被重新调度,都可以访问 为了实现与其他任务同步而共同使用的变量。 在完全可抢占系统中,用户可以期望经常抢占正在运行的任务,如果有一 个任务片断不允许被抢占,可以临时使用系统服务g e t r e s o u r e e 阻塞调度程序工 武汉理t = 大学硕士学位论文 作。 不可抢占式调度机制:是通过选择,。个明确定义的系统服务来实现任务 转换。不可抢占式调度机制在任务可能的定时需求上强加了一个特别的约束。 一个处于运行状态的低优先级任务是不可被抢占的,有些处于运行状态的低优 先级任务可能会延迟高优先级任务到达它的下一个重新调度点。 混合抢占调度机制:许多应用程序包含了几个需要长时间执行的并行任 务,这时,完全可抢占的操作系统更方便,如果应用程序还包含了许多具有确 定执行时间的短任务,这时不可抢占的调度机制效率更高。混合式调度机制是 完全抢占和不可抢占调度机制的折中方法。 如果在一个系统中既定义了可抢占式任务,又定义了不可抢占式任务,那 么系统采用的调度机制就是混合式调度机制。在这种情况下,系统的调度机制 取决于处于运行状态的任务的抢占属性。如果运行的任务是不可抢占的,那么 就执行不可抢占调度机制,如果运行的任务是可抢占的,那么就执行可抢占调 度机制。 如果任务的执行时间和任务的切换时间在数量级上一致,如果想更合理的 使用存储任务上下文所需要的存储空间,如果任务是不可抢占的,那么在完全 可抢占的操作系统中定义不可抢占任务是很有益的。 ( 2 1 调度机制的选择 软件开发者或者系统集成者通过定义任务的优先级和指定任务的抢占属性 来决定任务的执行顺序、任务的类型和任务的调度类型。所以令完全可抢占操 作系统可以包括基本任务,而不可抢占系统也可以包括扩展任务。如果正在运行 一个系统服务,那么抢占性和上下文切换都要延迟到这个系统服务运行完毕。 不管是那种调度策略,为了使应用程序书写起来更加简单,用户可以通过 系统服务s c h e d u l e 在任何它想重新分配c p u 的地方重新调度。使用完全可抢占 调度机制的应用程序可以不使用系统服务s c h e d u l e ,其它调度机制都要使用系统 服务s c h e d u l e 。 在o s e ko s 中,一个任务可以自己退出运行状态。o s e ko s 提供了服务 c h a i n t a s k 保证当一个任务退出运行状态之后激活另一个任务,并且将这个任务 排在优先级队列的最前面。所有的任务在运行完它自己的所有代码之后都要结 束自己。如果在任务的最后没有调用t e r m i n a t e t a s k 也没有调用c h a i n t a s k ,其结 果是不可预料的。 3 中断处理 武汉理1 大学硕士学位论文 处理中断函数可以细分为两类中断服务程序:中断服务程序类别1 f i s r c a t e g o r y1 ) ,中断服务程序不使用操作系统服务,当一个中断服务程序结束时, 在被中断的指令处继续执行,电就是说中断对任务管理没有影响,这个类别的 中断程序有最小的额外开销;中断服务程序类别2 0 s rc a t e g o r y2 ) ,o s e ko s 提供一个中断框架为用户程序准备个运行时环境,在系统生成时,用户程序 就被分配给这个中断。 在中断服务程序内部,不会发生重新调度,只有当第二类中断服务程序结 束时,如果是一个可抢占的任务被中断,并且没有发生其它中断时才可能进行 重新调度,这样就能保证任务按照o s e ko s 的调度点来执行。为了保证这一点, 实现必须规定一些关于所有级别的中断服务程序的中断优先级等级,并且在配 置时应该仔细检查。 中断优先权的最大数值是由控制器和具体实现决定的,中断的调度依赖于 硬件并且不是在o s e k o s 标准内指定的。 中断由硬件调度,任务由调度程序调度,如果中断程序激活一个任务,这 个任务会在当前正在运行的中断程序运行结束之后才被调度执行。 4 事件机制 事件机制是一种同步方法,只有扩展任务才能用到事件机制。事件机制可 以将一个任务从等待状态转换到就绪状态,也可以将一个任务从运行状态转换 到等待状态。 事件是由操作系统管理的对象,事件不是自主对象,而是分配给扩展任务 的对象,每个扩展任务具有一定数目的事件,这个任务叫做这些事件的所有者。 一个单独的事件是由它的所有者和事件自己的名字标识的,事件可以被用于它 所属的扩展任务进行二进制消息通信。事件的含义是由应用程序定义的,例如 一个运行期满的定时器发信号、某资源现在可用、接收到某个消息等等。 有许多不同的选项被用来操纵事件,所有的扩展任务都可以设置事件,一 个事件的所有者可以是任意不处于悬挂状态的扩展任务,但是只有事件的所有 者可以清除这个事件或者是等待接受这个事件。 事件是一个扩展任务从等待状态转换到就绪状态的标准,操作系统提供服 务来设置、清除、询问事件以及等待事件的发生。 任何一个任务或者是一个第二类别的中断服务程序可以为一个非悬挂状态 的扩展任务设置一个事件,并且通过这个事件来通知扩展任务关于某个状态的 信息。 武汉理工大学硕l 学位论文 在任何情况f ,一个事件的接受者都是一个扩展任务,因此一个中断服务 程序或者一个基本任务等待一个事件都是不可能的。一个事件只可以被它的所 有者清除,扩展任务只可以清除属于它自己的事件,因此基本任务不可以使用 操作系统服务清除事件。 一个处于等待状态的延伸任务只有当它所等待的至少一个事件发生时才。可 能转换到就绪状态。如果一个处于运行状态的任务企图等待一个事件,并且这 个事件已经发生了,那么这个扩展任务就将继续处于运行状态。 5 资源管理 资源管理用于几个具有不同优先级的任务纵向同步访问一个共享资源,例 如管理实体( 调度器) ,编程顺序,存储器或者硬件。资源管理可以保证:两个 任务不能同时占有同一资源:不会发生优先级的倒转;不会因为使用这些 资源而发生死锁;访问资源的任务不会进入等待状态。 如果资源管理已经延伸到中断级别,那么还可以额外保证两个任务或者是 中断程序之间不会在同一时间占有同一个资源。 资源管理的功能在下面情况下有效:可抢占任务:对于不可抢占任务, 当用户想让应用程序代码在其它的凋度机制下执行时;任务和中断服务程序 之间的资源共享;中断服务程序之间的资源共享。 如果用户需要保护中断,那么用户可以使用操作系统来使中断工作或者使 中断不能工作,这不会导致重新凋度。中断既可以是由任务引起的,也可以是 由中断源引起的。 如果将资源的概念用于任务或者是中断,那么o s e ko s 就必须保证如果一 个中断要执行,那么这个中断执行过程中所有可能访问的资源都处于释放状态。 o s e k o s 严格禁止对同一资源的嵌套访问,在极少必须使用嵌套访问的情况下, 可以使用具有相同行为的第二资源作为第一资源使用。 如果一个任务要保护它自己不被其它任务抢占,这个任务就要给调度器上 锁,调度器可以看成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年绥德县医疗事业单位人员招聘考试模拟试题及答案解析
- 2026年宜君县社区工作者招聘考试参考题库及答案解析
- 2026年尉氏县医疗事业单位人员招聘考试备考试题及答案解析
- 2026年双江拉祜族佤族布朗族傣族自治县带编教师招聘笔试备考题库及答案解析
- 2026年龙山县带编教师招聘笔试备考题库及答案解析
- 2026年市场监督管理局公务员招聘面试指南与模拟题及答案
- 2026年杭州市丁桥医院公开招聘高层次人才考试题库(含答案)
- 2026年垣曲县带编教师招聘考试参考题库及答案解析
- 2026年昭苏县医疗事业单位人员招聘考试模拟试题及答案解析
- 2026年吉隆县带编教师招聘笔试备考题库及答案解析
- 2026秋人教PEP六年级上册英语(新改版)全册教案
- 2026 年秋季开学初中军训站姿坐姿行为养成课件
- 《港台文学12节》课件
- (2026年秋)人教版六年级上册数学教案
- 2026小学教科版四年级科学上册全册教案
- 医院检验科生物安全培训试题及答案
- 2026年新《治安管理处罚法》知识考试题库及答案(含各题型)
- 2026年一建市政实务教材改版试卷及答案
- 新版人教版七年级上册历史全册教案(完整版)教学设计含教学反思
- 2026年主要负责人《金属冶炼(黑色金属铸造)》安全生产模拟考试题
- 康复护理中的感染控制技术
评论
0/150
提交评论