SmartOSEK操作系统设计和空间优化_第1页
SmartOSEK操作系统设计和空间优化_第2页
SmartOSEK操作系统设计和空间优化_第3页
SmartOSEK操作系统设计和空间优化_第4页
SmartOSEK操作系统设计和空间优化_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、SmartOSEK操作系统设计和空间优化 浙江大学硕士学位论文SmartOSEK操作系统设计和空间优化姓名:陈威申请学位级别:硕士专业:计算机应用技术指导教师:吴朝晖;赵民德20050301摘要在信息时代潮流当中,嵌入式技术扮演了承上启下的桥梁作用,它和传统的工业控制技术有着密切的联系,又结合了最新的计算机软硬件技术。和传统的桌面系统类似,嵌入式系统也需要能够方便用户二次开发和使用的操作系统,这种操作系统就叫做嵌入式操作系统。目前,汽车电控软件趋向于复杂化,大型化;使得传统的前后台程序开发的复杂度大大增加,在分析了工业界存在的面向汽车电子开发的嵌入式操作系统的技术情况和应用情况的基础上,本文提

2、出并实现了符合欧洲标准的嵌入式操作系统,并提出了相应的内核空间优化技术。本文的主要工作集中在如下两个方面:第一,实现了符合/标准的操作系统,实现的内核模块包括调度模块,任务管理模块,资源管理模块,中断管理模块。该操作系统具有层次化的结构方式和丰富的外围接口,由多个功能模块组成一个精简内核,并且具有很大的可定制性和扩展性。在运行时候只需要很少的内存开销最低.开销可以运行在低端单片机上。目前已经被移植到十多款主流嵌入式控制芯片上。在标准提出的优先级置顶协议根底上,本文提出了面向内部和外部资源的两种不同的优化方法,在操作系统处于混合调度模式下,这种改进显著地减少了调度中资源分配的开销。第二,针对是一

3、个静态操作系统的特点,我们通过将操作系统内核代码拆分成更小粒度的组件,和外围的结合进行内核配置,实现了内核空间的最小化。和原来的大粒度的同样功能的内核版本相比,减少了%的空间丌销。在任务的代码开销减少方面,通过分析符合一致类的任务之间的调度关系,操作系统将非并行任务进行堆栈复用,减少了应用程序的空间开销。本文提出了对静态操作系统进行建模的方法,该模型能将静态嵌入式操作系统的不同组成元素进行抽象;在此模型根底上提出了计算任务最小的上下文的方法。为了更好地评估的空间性能,我们搭建了包括主机,嵌入式开发板,逻辑分析仪的测试平台,得到了的最优化空间开销。经研究比较得出,的内核空间性能已经到达了可以与国

4、外相关的符合标准的商业操作系统相比的水平。本文得到以下资金赞助:课题支持汽车电子的嵌入式软件开发平台,课题支持数字化设备的嵌入式软件平台。关键词:/,汽车电子,内核,空间性能 ., /. , . .,. ,.,. :. , , ., . . ?. . . ,., %. ., . . ,., .? : 订, .浙江大学硕士学位论文第一章引言.应用背景.汽车电子化的现状汽车电子化是现代汽车开展的重要标志之一。目前世界每辆汽车采用电子装置的情况已成为衡量汽车水平上下的主要标志。未来汽车市场的竞争是汽车电子化的竞争。八十年代以来,国外应用计算机技术和微电子技术,推出了具有多种检测和控制功能的汽车电子系

5、统,使汽车的性能和质量得到巨大的提高,并且还解决了汽车环保生态问题。使用这些电子控制装置后,明显地改善了汽车的动力性、可靠性、安定性、舒适性、便利性和经济燃油性。可以说,近十几年来汽车工业的技术进步很大程度上是应用电子技术,特别是嵌入式技术的结果。据美国通用汽车公司报道,至八十年代末,美国汽车平均每年装备汽车电子产品为美元,假设按此水平对我国年轿车所装汽车电子装备进行计算,那么年需亿元人民币的电子产品装备。万辆轿车,到时我国还将拥有近万辆社会车辆,它们该补充装备的电子产品达亿元人民币。因此,汽车电子工业是一个潜力巨大的产业。目前国外汽车电子系统在汽车价格中所占比例已达%,而且这一比例还在不断扩

6、大。为了加强市场竞争能力,国外在提高屯子系统所占比例的同时,广泛采用位位微处理器,以及广泛采用更先进的传感器,使汽车的功能从对汽车自身的控制管理扩大到“汽车?人?环境这样一个大系统的信息获取、处理和控制。伴随着汽车市场的飞速开展,汽车电子产业在中国也进入到一个跳跃式增长期。汽车工业将成为我国经济的支柱产业。近几年中国汽车电子产业的年增艮率超过%,成为拉动汽车工业开展的重要因素,赛迪参谋预计到年中国汽车电子产品市场规模将突破间。汽车电子产业的蛋糕到底有多大据长期从事汽车电子产品研究的赛迪高级参谋李东宏介绍,年我国市场上共销售汽车电子产品万套,销售额突破亿元,与年相比,分别增长.%和.%,数最和价

7、格同时增长。预计年我国汽车电子产品需求额将达亿元的规模,年有望突破亿元。我国汽车电子产业将保持一个持续高速增长的态势。但是作为一个新兴的产业,汽车电子行业却面临着诸多为难。中国汽车技术研究中心博士龚进峰认为,汽车%的创新来自汽车电子。在国外每辆新车上的汽车电子支出占整车平均价值的.%,越是高档车,电子化趋势越明显,甚至超出造车本钱的一半以上。而我国每辆车上电子产品支出仅为%左右。清华大学汽车工程系袁大宏教授在近日举办的汽车电子研讨会上表示,国内相关部门和企业应尽早重视汽车电子控制系统的自主开发。汽车电子控制系统自主开发势在必行袁教授介绍说,汽车电子产品可以分为两类:一类是车载汽车电子装置,例如

8、汽车音响等,它们和汽车本身的性能无直接关系,属于汽车的附加值局部;另一类是汽车电子控制系统,例如电子燃油喷射系统、制动防抱死控制系统、电子控制悬架系统等,它们浙江大学硕士学位论文直接影响着汽车的性能。就车载汽车电子装置而言,目前国内有较好的开发根底,今后关键是要进一步形成经济规模来降低本钱,以提高在全球市场的竞争力。而汽车电子控制系统具有投资较大、开发周期长、技术难度大等特点,虽然中国已有一些企业从事技术研发,但还没有形成产业化,因此这一行业还没有开展起来。特别是如今市场上面对的都是国外实力强大的跨国汽车电子公司,加上国内电子行业对汽车电子控制系统所知有限,先天缺乏加上后天“营养缺乏,这些都会

9、影响国内汽车电子产业化进程。.汽车电控软件面临的挑战随着全球汽车行业竞争的加剧,汽车电子产品和软件市场已经成为国际汽车巨头开展竞争的新战场;而同时随着汽车电子系统复杂度的提高,以往一个企业单打独斗、“垂直综合型产品开发模式已经很难满足复杂开发任务和本钱目标的需要。汽车电子化进程带来的新问题可概括如下:.随着车载控制系统日益先进和复杂化,软件开发工程师所面临的工作量和压力也越来越大。据专家估计,每辆汽车投入的软件开发工数时间及人力在年将到达年的.倍。.汽车电子系统设计复杂化和单个企业“垂直综合型开发模式造成了可靠性隐患,从而导致汽车因平安隐患被“招回的现象频繁发生。一些国际顶级汽车制造商已经因此

10、倍感痛苦。.随着大量的嵌入式产品涌向市场,汽车产品开发商将面临着剧烈的市场竞争。准能在最短的时间内推出高质量的产品,谁就能抢占先机。缩短开发周期,提高开发效率,成为汽车产品开发商重点关注的问题。上述问题归结到一点,就是车用控制软件缺乏重用性和兼容性。在开发和管理与应用不相关的控制单元软件时,尤其是像车用嵌入式操作系统内核等软件,存在重复的巨额开销。因为不同的接口和协议,不同厂商生产的控制单元没有兼容性。如果能标准不同供应商之间汽车电子产品和元器件的互通性,实现汽车电控软件的接口标准化,那么汽车电子行业就可建立国际间广泛的合作关系,分享汽车电子领域的技术积累,向“水平分业型开发方式转变,从而缩短

11、产品开发时间、降低开发本钱,从根本上提高产品的可靠性。国际业界早己着手开始解决这些问题。提出于年的/体系,它的开放式体系结构提供了标准化接口。经过十多年的开展,/已经引起了全球的强烈关注。它的主旨是从已有软件的可移植性、可扩展性和可重用性角度出发,采用基于标准化接口和协议的构件化、模块化设计。同时,/还允许不同供应商把不同的模块集成在汽车电控系统中。另据日本媒体报道,丰田汽车公司与日产汽车公司目前宣布将联手开发汽车电子控制软件,以促进电子控制刹车及发动机燃料喷射等装置的根底软件实现标准化并提高其通用性,降低软件开发的本钱。.技术背景目前嵌入式应用领域的一个开展倾向是采用实时多任务操作系统,。的

12、应用是和目前电子应用复杂化直接相关的。浙江大学硕士学位论文过去一个单片机应用程序所控制的外设和履行的任务不多,采取一个土循环和几个顺序调用的子程序模块即可满足要求。目前单片机芯片本身的性能大幅度提高。可以适应应用复杂化这一要求,问题在于软件。随着应用的复杂化,一个嵌入式控制器系统口能要同时控制/监视很多外设,要求有实时响应,有很多处理任务,各个任务之间有多种信息传递,如果仍采用原来的程序设计方法存在两个问题。一是中断可能得不到及时响应,处理时间过长,这对丁一些控制场合是不允许的,对于网络通信方面那么会降低系统整体的信息流量。二是系统任务多,要考虑的各种可能也多,各种资源如调度不当就会发生死锁,

13、降低软件可靠性,程序编写任务呈指数级增加。实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于之上的各个任务,根据各个任务的要求,进行资源包括存储器、外设等管理、消息管理、任务调度、异常处理等丁作。在支持的系统中,每个任务均有一个优先级,根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。工程师在编写程序时,可以分别编写各个任务,不必同时将所有任务运行的各种可能情况记在心中,大大减小了程序编写的工作量,而且减小了出错的可能,保证最终程序具有高可靠性。实时多任务操作系统,班分时方式运行多个任务,看上去是多个任务“同时运行。任务之间的切换应当以优先级为根据,只有

14、优先效劳方式的才是真正的实时操作系统,时间分片方式和协作方式的并不是真正的“实时。也表达了一种新的系统设计思想和一个开放的软件框架,工程师可以在不大景变动系统其它任务的情况下增加或去掉一个任务;一个工程开发的过程中,可以有多个程师同时进行系统的软件开发,各个人之间只要制订好规程和协议即可,既缩短了开发时间,又降低了最终软件产品对于具体某个开发者个人的依赖性。为设计的成熟和通用的任务可以以库函数的形式供其它人继续利用,和语言的设计思想一致。因此可以说是嵌入式软件的编写从“小生产方式进入“大生产方式的必然产物。嵌入式比桌上的相对简单,但由于各种嵌入式系统产品中包含各不相同的、 、特殊需求,导致这类

15、系统中使用的不下几百种,例如、等等都是。而且至今仍有一半的开发者使用自行开发的。实时操作系统包含以下成分:硬件抽象层及自举代码,各种硬件的驱动,提供根本的硬件平台管理。该局部是能快速提供多平台支持的关键。核心,嵌入式系统通常存在着线程并发需求,核心是支持并发线程调度,提供线程同步和通讯机制的主要工具。核心的结构和调度算法根本决定了如响应时间等实时性能,为硬实时系统用户所关心。功能较强的提供高质量的定制,.软件包,方便嵌入式系统的开发工作,吸引领域用户。通常有如下实现选择,功能方面有支持何种平台,何种,是否包含支持、是否支持核心态用户态、是否支持、可移植性、调试支持,标准支持等。性能方面重要的选

16、择有的实时性指标,大小等。而用同一个取适应几种不同的需求,要求该有很强的可配置能力。实时内核的使用使得实时应用程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成假设干独立的任务,使得应用程序的设计过程大为减化。使用可剥夺性内核时,所有时间要求苛刻的事件都得到了尽可能快捷、有效的处理。通过有效的效劳,如信号量、邮箱、队列、延时、超时等,使得资源得到更好的利用。如果应用工程对额外的需求可以承受,应该考虑使用实时内核。这些额外的需求是:内核的价格,额外的/开销,到百分点的额外负荷。还没有提到浙江火学硕士学位论文的一个因素是使用实时内核增加的价格本钱。在一些应用中,价格就

17、是主导因素,以至于承担不了使用的代价。当今有个以上的商家,生产面向位、位、位、甚至是位的微处理器的产品。一些软件包是完整的操作系统,不仅包括实时内核,还包括输入输出管理、视窗系统用于显示、文件系统、网络、语言接口库、调试软件、交叉平台编译.。的价格从美元到,美元。制造商还可能索取每个目标系统的版权使用费。就像从商家处买一个芯片安装到每一个产品上,然后一同出售。商家称之为硅片软件。每个产品的版权费从美元到美元不等。同如今的其它软件包一样,还得考虑软件维护费,这局部开销为每年还得花到美元。.工程背景本文依托的工程目标是针对我国汽车电子领域的汽车动力总成电子控制系统的自主国产需求,研制一种面向汽车电

18、子控制的嵌入式软件平台,参照欧洲标准,构建超微型实时平安的嵌入式操作系统,以及面向汽车电子的嵌入式动力总成控制应用的根底与专用编程接口;基于该平台,研制开发大型卡车的动力总成电子控制系统,形成行业标准与标准,提升我国汽车电子领域嵌入式软件自主开发能力,取得显著的经济效益和社会效益。本工程的研究内容,如下列图,包括:.参照欧洲标准的、超微型实时平安的嵌入式操作系统;.支持卡车动力总成电子控制的嵌入式根底编程接口库;.支持卡车动力总成电子控制的嵌入式专用编程接口库:.商用车的动力总成电子控制系统的应用示范。一塑兰查兰堡主兰垡丝苎图?产品平台结构结合工程,操作系统平台的具体研制目标是:针对我国汽车电

19、子领域的汽车动力总成电子控制系统的自主国产需求,研制一种面向汽车电子控制的嵌入式软件平台,建立符合汽车电子控制与标准的、超微型实时平安的嵌入式操作系统,以及面向汽车电子的嵌入式动力总成控制应用的根底与专用编程接口与一汽集团、吉林大学合作:基于该平台,研制开发大型卡车的动力总成电子控制系统,形成行业标准与标准,提升我国汽车电子领域嵌入式软件自主开发能力。浙江大学硕士学位论文的主要研究内容为:利用开放源码机制,结合实验室本身在嵌入式操作系统方面的技术积累,研发一套面向汽车电子的、参照欧洲标准的嵌入式实时操作系统,通过裁减与移植,支持多种国际主流处理器的、实现超微型实时平安的汽车电子嵌入式操作系统。

20、该内核实现可抢占、式内核,多种实时调度机制,满足实时性要求高的汽车电子产品。以芯片为根底运行平台,并可以移植到多种国际主流处理器,可满足不同的硬件需求。参照标准,研制支持核心系统调用和标准的根本程序库,支持语言。的主要研究内容为:基于操作系统,开发面向汽车电子和其他相关数字化设备的可视化集成开发环境,其中包括任务运行时间分析工具、任务可调度性分析工具、支持 标准的配置工具以及可视化系统建模设计工具。的核心功能和技术要点:?深度嵌入的超微型、强实时操作系统内核。、 、一遵循 标准。支持位、位和位的处理器。一支持系统静态配置。严格的片内存储器要求,内核小于字节。满足高实时性要求,上下文切换时间小于

21、。一支持全抢占、非抢占和混合式调度方式。?支持完成周期性任务。支持任务通过事件和资源进行同步。一支持一致类中的、基于消息机制支持设备内部的通讯。提供通知机制向任务报告消息收发情况。?提供消息收发的过滤算法。一支持一致类中的、。支持用户通过对平台进行配置。、基于多种国际主流处理器,包括:、 、 、等。核心功能和技术要点:支持标准。支持对操作系统内核模块、通讯模块的配置。支持对操作系统内核模块、通讯模块进行裁减。可以解析、生成文件。支持自动生成系统主函数。?支持用户进行可视化的系统配置。支持用户进行图形化的系统建模和设计。支持自动代码生成。支持根底代码复用。一支持用户在线进行任务运行时间计算。支持

22、系统任务集的响应时间和可调度性分析浙江大学硕士学位论文第二章标准.标准来源和开展年德国汽车工业界提出了车内多控制单元的开放式分布控制体系,最早倡导者有:宝马、博世、戴姆勒.奔驰、欧宝、西门子、群众和卡尔斯鲁厄大学的工业信息技术研究所。法国的汽车制造商标致和雷诺于年参加了体系,并将法国汽车工业使用的 系统也纳入这一体系,的作用与相似,都是为汽车嵌入控制器开发的公共平台的应用编程接口。的名称来源于德国的一种叫法:“汽车电子开放系统和通信接口。规定了汽车控制器的通信规程、网络管理规那么、以及操作系统。目的就是支持逻辑软件的可扩展性、可传输性及可再使用性。可扩展性表示现有硬件平台集成新的功能。可传输性

23、可理解为将逻辑功能由一个硬件平台传输到另一个为此目的要给抽象的独立应用的接口定义。此外必须给独立于硬件与网络的用户接口登记,用此方式可最正确支持软件模型的再使用性。系统是可配置及可分度的,以便对于任何应用都可最正确匹配。在年召开的第一次研讨会上,众多的厂商对和的认识达成了共识,正式产生了当前流行于汽车行业内的汽车电子分布式控制的开放平台。年第二次国际/研讨会后,发布了第二版的标准,目前已经开展到了.版本。/平台由通信模块,网络管理模块三大局部组成。对于通、实时操作系统? 信模块和实时操作系统,有两种可供选择的标准,一是普通要求的标准的操作系统,豆信机制的标准,另一是特殊要求的,包含了全球同步容

24、错体系对时问的要求和标准。在标准本身不断更新的同时,委员会还于年月,启动了一个工程,名为,为测试符合/标准的操作系统的功能提供了测试方法和案例。它与年公布的标准第二版开始配套,命名为认证配套集合,主要包含四个局部:, , , 。目前已经发布的版本为。要做到良好的可移植可扩展性以及对已有软件资源的重用,必须实现基于标准化接口和协议的结构化、模块化软件设计。功能的可扩展性意味着可以把一个新的功能集成到已经有其他功能的单个控制单元中。程序的移植只是把功能函数通过很小的改动从一个硬件平台转移到另一个硬件平台,比方把已有的一个应用程序移植到的下一代产品上去。同时,程序的可移植性、可扩展性应该与功能函数提

25、供方无关,也就是说通过从不同功能函数提供方那里来联合组成一个软件的方法是可行的。需要注意的是,/并不规定/各模块的实现机制,也就是说,不同的需要有符合/标准的相同接口,但可以有不同的实现机制,这主要看其硬件结构和性能方面的要求。标准技术委员会的参与提供了刚中一些可以互动操作的合作伙伴。当前,技术委员会主要由/的初始成员和其他多个与汽车电子相关的各行业合作伙伴组成,也就是说,像汽车制造商、供应商、半导体生产企业以及软件公司等与汽车电子相关的合作伙伴。/对于另外相关合作者的加盟是开放的。标准的主要组成局部已经通过的标准化。官方的/号是 。土耍包括以下几个局部:浙江大学硕士学位论文 ?术语表配套说明

26、.操作系统.通信.网络管理?实现语言.标准层次结构标准比较完整的来讲,共有七个局部:定义了车上电子控制单元应程序的标准的操作系统接口。:定义车上网络任务间通讯协议,典型的车上网络是控制器域网络。:定义管理车上网络管理协议,主要功能是确定网络中哪个是活泼的。:定义接口,告知操作系统内部状态信息。:实现语言,用于整个系统的系统配置和生成描述。:定义应用程序的时间性约束。:定义有时间保证的通讯协议,被看作的一个局部。而其最核心的组成局部,是、,当前的国际认证测试也是针对这三个局部的,同时作为整个系统配置和生成的标准,是所有符合标准的系统进行信息交互的根底,也是不可缺少的一个局部。.操作系统局部.操作

27、系统的要求严格的实时性特征:必须支持事件驱动的控制系统。标准接口:提供统一的效劳为各类汽车电子控制软件的开发提供标准接口,对于运行在各类芯片上的不同 而言,这些接口都是相同的。可扩展性: 本身必须具备高度的模块化和可配置性,使操作系统既能支持低端的微处理器又能支持复杂的控制单元,并支持在大多数硬件上的实时性应用。定义“一致类 以及为应用程序进行系统的定制,以满足这些需求。不同的一致类,不同的调度机制以及不同的配置特征能使 支持广泛的应用和硬件。最简单的情况下,只需要很少的硬件资源,并可以在位处理器上运行。应用软件可移植性:移植性是指应用软件在不需要很大改动的情况下从一个转换到另一个上运行。标准

28、的一个目标就是支持系统的移植以及应用软件的重用。冈此,庶用软件和操作系统的接口被定义为标准系统效劳。应用标准系统效劳能减少维护和移植应用软件的投入,以及开发的费用。操作系统的标准接口将在源代码层支持可移植性。为了更好的支持应用程序的可移植性,标准定义一种表示标准配置信息的语言“,它支持对所有标准对象如任务,等的可移植性的描述。对汽车需求的特殊支持:的特殊要求来源于汽车电子控制软件的应用环境发展。列特征说明了需求,例如可靠性,实时性和对价格的敏感性:能被静态的配置和扩展。用户静态指导任务的数目,资源和效劳的需求。浙江大学硕士学位论文标准支持在中实现,比方,代码能在中运行。标准提供可预见的方式保证

29、操作系统的实现符合汽车的实时性要求。.操作系统的体系结构进程级别作为独立于应用程序的平台,为应用程序在处理器上运行提供了环境。能控制多个并行的实时任务。为用户提供了一个接口集。这些被一些竞争的实体所利用。有两种类型的实体:由操作系统管理的中断效劳程序和任务根本任务和扩展任务。操作系统的效劳也能管理控制单元的硬件资源。对于应用程序和操作系统内部来说,这些操作系统的效劳都通过特定的接口来调用。标准定义定义个进程级别:中断层用于调度的逻辑层任务层在任务层,任务由用户指定的优先级进行调度。运行环境在任务开始执行的时刻被占有,在任务结束的时候被释放。优先级准那么:中断优先级高于任务中断层由一个或多个中断

30、优先级组成中断效劳程序必须静态指定中断优先级一中断效劳程序的优先级指定依赖于系统实现和硬件结构在任务优先级和资源优先级置顶协议中,数值越大代表的优先级越高一任务优先级由用户静态的指定为了处理任务和中断,进程级别被定义成一系列连续的值。操作系统优先级和硬件优先级的匹配是具体操作系统实现的细节。一致类应用软件对系统的多样的需求和具体结构的多样性都需要操作系统具备不同的特性。一致类是不能够在运行这些操作系统的属性被称为“一致类时被改变的。一致类支持以下目标:方便的提供操作系统特征,使得 更加易懂和便于讨论。一在预定义条件下运行局部实现,这些局部实现能被认定为符合标准。利用的相关属性,在不改变应用程序

31、的前提下,实现对功能较强或者功能较弱的升级。一致类由以下属性所决定所有其他的特性都是可选的:任务启动的屡次请求,即一个任务是否可以被启动屡次任务类型,分为根本任务和扩展任务,通过状态和支持事件来区分每个优先级的任务个数中定义了四种一致类:只有根本任务,每个任务只能有一个启动请求,每个优先级只能有一个任务,所有的任务都有不同的优先级与类似,加上每个优先级可以有多于一个的任务,任务允许有多重启动请求浙江大学硕士学位论文与类似,加上扩展任务与类似,加上每个优先级可以有多于一个的任务,根本任务允许有多重启动请求.操作系统的功能提供一系列不同的效劳和进程机制。在系统生成期间,用户可以通过配置指令来定制操

32、作系统。而在运行期间,操作系统是不能被修改的。四种可以实现操作系统对不同功能和能力的需求。因此,用户可以通过配置操作系统来控制任务和目标硬件。的功能:任务管理任务的启动和结束任务状态的管理,任务切换一同步资源管理:对。共享资源和设备不可分操作的访问控制,对于程序流程的控制事件控制:基于任务同步的事件管理中断管理中断效劳过程一相对和绝对,周期性事务内部通信机制交换数据的效劳错误处理在各种出错情况下给用户支持的机制.通信局部通信简称是汽车控制单元应用软件的统一通信环境。通过定义公共软件通信接口以及依赖于使用的通信协议约定标准提高了应用软件模块的可移植性。完整的通信包含内部通信单个内部通信和外部通信

33、网络上不同之间通信。整个通信标准非常复杂,而内部通信是外部通信的子集。在,版本及以后的标准,任一个与标准兼容的操作系统,必须支持标准的最小一致类。.目前符合标准的操作系统当前,从匡】际市场来看,标准公布之后,在汽车行业引起了广泛关注和实践,越来越多的供应商遵照标准进行开发设计,并使其产品通过了认证,在后期的推“和廊用中成为标准的受益者之一,同时也极大的推动了标准的开展,促进了汽车电子控制软件领域的艮足开展。从官方网站提供的认证通过者名单来看,很多著名的嵌入式实时操作系统厂商浙江大学硕士学位论文都在其中。面简单列举一些通过认证的操作系统:.是一个小型、快速、可靠、可扩展的实时操作系统,提供了一套

34、效劳来开发嵌入式应用程序,为实时应用程序提供快速背景切换时间。该操作系统占用极小和空间。公司网站:/.。.是操作系统的全面实现,满足所有一致类,多种调度算法,资源和事件管理,报警及用户定义计数器。为了简化开发, 配置器把用户对对象的说明转换为格式,继而转换为文件。主要以 写成,以函数库的形式实现,只有应用程序用到的局部才链接为可执行映像,极易移植。公司网站:/.。.是一个多任务操作系统,对微控制器上的使用有着最优性能。基于公司在微控制器操作系统和驱动程序上的多年经验,的出现代表了更小、稳定的操作系统内核。是一个静态操作系统,小而快,是完全抢先型操作系统,提供控制优先级的任务管理和不同的同步机制

35、,支持基于时间和基于事件的体系。灵活的中断概念令在中断效劳程序里也可使用系统效劳。公司网站:/.。.提供了模块性、性能和灵活性的独特的结台。其高度模块化的体系令用户可限制应用程序所使用的效劳,优化存储器使用率。对特定对象,如任务,可根据不同/类进行裁剪,令,需求到达最小。调度策略以任务和资源的优先级排列,用户可在其中选择,配合以事件和中断处理程序的适当使用,来优化应用程序速度。公司网站:/.。.是一个硬实时系统,在过去几年里,已经在汽车行业多个大规模生产工程里证实其可靠性。为提高移植性以函数库的形式实现。公司网站:/./。.实时操作系统不只可用于汽车工业,而且可用于任何资源受限的系统,操作系统

36、中的资源数目是静态提供的,只依赖于应用程序的需求。其突出性能包括可移植性,图形配置环境和自动代码生成。已经被广泛使用于汽车工业,已经整合/。到宝马系列的大局部控制设备里。公司网站:/.是汽车工业的第一个全面可分析,确.定性的,符合标准的实时操作系统。是一个高效,可裁剪的单堆栈操作系统,采用最后期限单调分析理论来执行四种严格评估:可调度性分析,灵敏性分析,优先级分配,能量使用率最小化,消除了采用常规操作系统时引入时间故障的危险。公司网站:/./。浙江大学硕士学位论文第三章系统设计.系统概述操作系统由内核和通信系统组成,其中操作系统内核的主要局部有:任务管理:主要包括任务的启动和结束,任务状态的管

37、理,任务切换。同步机制:操作系统支持两种类型的任务同步,即资源管理和事件控制。中断管理:处理外围硬件产生的中断。;管理相对和绝对。消息处理机制:即处理器内部交换数据的效劳。本人在开发过程中,主要负责设计和实现了任务管理,同步机制和中断管理这三个核心模块。内核也可以称为核心子系统,内核是操作系统中的一个概念,它是操作系统可以运行的最小配置单位的集合。在此之上,可以相应的添加一些目标开发系统所需要的模块,比如通讯模块、设备驱动模块、网络管理模块等等。的整体结构如下:图?整体结构图分为两大局部,第一为局部,此局部包含了为应用提供的各类,其中包含了任务管理机制、资源管理机制、机制、机制、中断处理机制、

38、内部通信机制、错误处理机制。我们又可以对这一局部划分为两个子系统,其一为内核子系统,这个子系统提供应应用最小的可以运行的子集,这个可以对应于标准的一致类定义;其二为通讯子系统,此系统对内核子系统进行扩展,这个可以对应于标准中的一致类和一致类定义。第二为 局部,此局部包含了提供应用户的开发工具集,包含了运行追踪工具、解析配置工具、任务调度分析工具、调试编译工浙江大学硕学位论文具。有了这些工具集,用户就可以在此根底上很方便地进行设计和开发。的设计需求如:.严格的实时性特征:必须支持事件驱动的控制系统。.标准接口:提供统一的效劳为各类车控应用软件的开发提供标准接口,对于运行在各类芯片上的不同符合标准

39、的操作系统而言,这些接口都是相同的。.可扩展性:本身必须具备高度的模块化和可配置性,使操作系统既能支持低端微处理器又能支持复杂的控制单元.并支持在大多数硬件上的实时生应用。定义“一致类以及为应用程序进行系统的定制,以满足这些需求。不同的一致类,不同的调度机制以及不同的配置特征能使支持广泛的应用和硬件。最简单的情况下,只需要很少的硬件资源,并可以在位处理器上运行。.应用软件可移植性:移植性是指应用软件在不需要很人改动的情况下从一个转换到另一个上运行。标准的一个目标就是支持系统的移植以及应用软件的重用。因此,应用软件和操作系统的接口被定义为标准系统效劳。应用标准系统效劳能减少维护和移植应用软件的投

40、入,以及开发的费用。操作系统的标准接口将在源代码层支持可移植性。为了更好的支持应用程序的可移植性,标准定义一种表示标准配置信息的语言“,它支持对所有标准对象如任务,等的可移植性的描述。.对汽车需求的特殊支持:的特殊要求来源于车控软件的应用环境开展。下列特征说明了需求,例如可靠性,实时性和对价格的敏感性:能被静态的配置和扩展。用户静态配置任务的数目,资源和效劳的需求。对标准支持能在中实现,比方,代码能在中运行。提供可预见的方式保证操作系统的实现符合汽车的实时性要求。.操作系统任务管理模块复杂控制软件能够根据他们的实时需求被细分成几个局部执行。这些局部能够通过任务的方式实现。一个任务提供了功能执行

41、的框架。操作系统提供了任务的并发和异步执行。调度器负责组织任务的执行顺序。操作系统提供了一个任务切换机制,包括一个在其他系统或应用功能被激活之前就已经存在的机制。这个机制被称为空闲机制。里面实现了两个不同的关于任务的概念:根本任务 扩展任务 根本任务有三个任务状态:就绪、运行、挂起。根本任务在下面三种情况释放处理器资源:任务结束的时候操作系统切换到一个拥有较高优先级的任务中断发生导致处理器切换到中断效劳程序扩展任务有四个任务状态:就绪、运行、等待、挂起。扩展任务与根本任务的区别在于扩展任务可以调用操作系统提供的系统调用而改变自己的状态到等待状态。在不需要结束正在运行的扩展任务的情况下,等待状态

42、允许处理器被释放并且可以被其他任务所抢占。根本任务和扩展任务的状态模型分别如图和所示,其中状态;:浙江大学硕士学位论文一运行:在运行状态,被分配给改任务,它的指令被执行。在任何时刻,只有一个任务能出于该状态,其他状态多可以被多个任务同时采用。一就绪:任务具备转换为运行状态的所有前提,只等待处理器的分配。任务调度器决定哪一个就绪任务将被执行。等待:一个任务由于等待至少一个事件而不能继续执行。挂起:在挂起状态,任务是被动的并能被启动。图根本任务状态模型图扩展任务状态模型根本任务没有等待状态,所以同步点只有在任务开始和结束的时候。任何有内部同步点分割的应用必须用大于一个的根本任务来实现。根本任务的优

43、点在于运行时不需要占用很多的资源。扩展任务的优点在于一个任务能处理连贯的工作,而无论哪个同步请求时活泼的。如果当前缺少继续运行的信息,扩展任务就会被切换到等待状态。而当收到事件信号或者所需数据或事件得到更新,任务就会离开等待状态。扩展任务比根本任务有更多的同步点。应用软件对系统的多样的需求弄具体结构的多样性都需要操作系统具备不同的特性。在下面的描述中,这些操作系统的属性被称为一致类“ 。一致类支持以下目标:浙江大学硕士学位论文提供简明易懂的操作系统特征,使得操作系统更加易懂和便丁讨论。一根据定义条件下运行局部实现,这些局部实现能被认定为符合标准。利用的相关属性,在不改变应用程序的前提下,实现对

44、功能较弱的操作系统版本升级。中实现的一致类保证了实现的完整性。对于一个特殊应用而言,系统的生成只需要连接那些系统效劳。一致类是不能够在运行时被改变的,一致类有以下属性所决定:任务启动的屡次请求任务类型每个优先级的任务数,卜 ?/。.。 . 叫图 的分类方法中实现了如下的一致类:一只有根本任务,每个任务只能有一个启动请求,每个优先级只能有一个任务,所有的任务都有不同的优先级与类似,加上扩展任务在中,任务的优先级是一个重要的属性,调度器根据任务优先级来决定在就绪任务集中那一个任务将被转换到运行状态。任务的最低优先级定义为。相应的,值越大定义的优先级越高。为了提高效率,不采用动态优先级管理。相应的,

45、任务的优先级只能静态定义,比方,用户不能在运行时改变任务的优先级。但是,在特定条件下,操作系统把任务的优先级提的比原来高。图给出了一个实现每个优先级调度的一个例子。不用优先级的多个任务处于就绪状态;例如,三个任务的优先级都为,一个优先级为,一个,加上两个优先级为的任务。任务等待的时间决定于它的请求顺序,位于各队列底部的时等待时间最长的任务。处理器已经处理并结束了一个任务。调度器选择下一个被执行的任务优先级,最高。在优先级的任务被执行以前,所有高优先级的任务必须离开运行和就绪状态,如,启动离开队列然后结束或转换到等待状态。浙江大学硕士学位论文图基于优先级的调度以下的是决定执行下一个任务的根本步骤

46、:.调度器查找在/状态的所有任务。.从在/状态的任务集中.调度器决定优先级最高的任务集。.在/状态并且具有最高的优先级的任务集中,调度器找到最早的任务。要求支持三种类型的调度策略,即全抢占式调度,非抢占式调度和混合调度。全抢占式调度意味着,运行的任务在任何时刻都可能由于高优先级的任务抢占,而被操作系统重新剥夺的执行权利。当高优先级任务进入就绪状态,全抢占式调度就把当前运行任务转换到就绪状态。任务的运行环境将被保存,使被抢占的任务能在被抢占点继续。如图,低优先级的任务并不耽误高优先级任务的调度。图全抢占式任务与全抢占式任务不同,非抢占式任务只在特定的调度点调用系统效劳来实现任务切换。非抢占式调度

47、对有时间要求的任务会有限制。特别是,一个较低优先级就绪任务会影响较高优先级任务在的启动。如图,优先级较低的任务使得优先级较高的任务直到结束是才启动。浙江大学硕士学位论文图?非抢占式任务如果抢占式和非抢占式任务混合在一个系统中,产生了“混合抢占调度。这种调度策略依赖于当前运行任务的抢占特性。如果运行任务是非抢占的,那么采用非抢占式调度。如果运行任务是抢占的,那么采用抢占式调度。通过定义任务组,操作系统允许多个任务采用抢占式和非抢占式的结合。当任务的优先级不是组内最高时,这些任务运行就如同非抢占式,只有当前运行任务挂起或者等待的情况下才能发生调度。当任务的优先级是组内最高时,这些任务的运行就如同抢

48、占式。在全抢占式操作系统中定义非抢占式任务在以下情况下很有意义:一如果任务的执行时间比较少,和一次任务切换的时间相当。如果需要节约用于保存任务环境的空间。如果任务具有特殊的关键应用,不能抢占。许多应用都是有很少几个并行任务长时间的运行组成,使用抢占式系统就非常方便如果应用包含许多有确定运行时间的小任务,那么采用非抢占式系统更有效。所以混合抢占调度作为一种折中的调度机制成为一种解决方案。.资源以及同步机制管理模块在操作系统中,事件是由操作系统管理的对象。事件不是独立的对象,而是被指派给扩展任务。每个扩展任务都有确定的事件数。这个任务称为这些事件的所有者。一个单独的事件由它的所有者和自身的名字所确

49、定。当启动一个扩展任务时,这些事牛被操作系统去除。事件可以被它们所属的扩展任务用来传递二进制信息,比方,中止时钟信号,资源的可用性,消息的回复等等。可以利用各种选择来控制事件,这决定于目标任务是这个事件的所有者还是另一个任务并不要求是扩展类型。所有任务都可以设置未处于挂起的扩展任务的事件。只有所有者能把事件去除并等待事件的设置。事件是扩展任务从等待状态转换到就绪状态的手段。操作系统提供设置,去除,查询事件的效劳并等待事件的发生。在任何情况下,事件的接收者总是扩展任务。相应的,中断或是根本任务是不可能等待一个事件的。扩展任务只能自己来去除事件,根本任务就不能使用操作系统的效劳来去除事件。如果一个

50、扩展任务等待的至少一个事件发生,该任务就可以从等待状态转到就绪状态。如果一个运行状态的扩展任务等待一个事件的发生并且该事件已经发生,那么任务保存在运行状态。以下列图解释了全抢占调度中扩展任务问通过设置事件同步,其中的优先级较高。任务等待一个事件,任务设置了的事件,调度启动。结果是,从等待状态转换到了就绪状态。由于有较高的优先级,这就导致了一次任务切换,被抢占。重新设置这个事件。然,;彳,又等待这个事件,凋度器继续执行。浙江大学硕士学位论文图事件同步资源管理用来协调多个优先级不同任务对共享资源的访问,比方,管理实体调度器,程序序列,内存,硬件等。对所有的一致类来说,资源管理都是强制的,能随意的扩

51、展,协调对并发任务和中断的访问。主要能保证:两个任务不能在同一时刻占有相同的资源不会发生优先级反转使用资源时不会发生死锁使用资源不会导致等待状态操作系统管理的资源同步中,常遇到的两个典型问题是优先级反转和死锬。优先级反转意味着低优先级的任务会延迟高优先级任务的执行时间。以下列图说明了两个任务共同访问一个信号量的顺序。全抢占式系统,任务有较高的优先级任务优先级较低,占有信号量。抢占并请求相同的信号量。由于信号量已经被占据。进入等待状态。这时,低优先级的被一个优先级在和之间的任务中断并抢占。只有在低优先级任务完成后才能执行,因为信号量那时才能被释放。虽然和不使用信号量,他们的运行时间延迟了。图优先级反转另一个在同步机制中的普遍

温馨提示

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

评论

0/150

提交评论