- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.5 汽车电子的开放系统及接口标准-OSEK 在上所述的背景下,针对汽车控制的操作系统标准也应运而生,其中,OSEK(Open Systems and the Corresponding interfaces for Automotive Electronics)逐渐在汽车行业中得到越来越多的认可。 OSEK的主要内容之一是定义了汽车领域的实时操作系统标准,通过建立OSEK标准,将软件的应用层和系统层完全分离开。 OSEK标准包括以下七个部分: 1. OSEK/VDX操作系统规范(OSEK os) 2. OSEK/VDX通信规范 第三十页,共八十页。 (3)OSEK/VDX实现语言规范 (4)OSEK/ORTI规范 (5)OSEK-Time规范 (7) OSEK FTCom规范 符合OSEK/VDX规范具有以下优点: 应用程序与硬件屏蔽,软件模块可并行开发; 任务扩展性好,修改方便; 可以完全图形化设计,直接生成源代码; 通过OIL文件描述整个操作系统,易于版本管理。 第三十一页,共八十页。 5.5.1 OSEK的任务管理 OSEK中提高两类任务:基本任务(Basic Task)和扩展任务(Extended Task)。基本任务用来完成那些激活后就必须完整执行的工作。扩展任务可以接受事件的优先级,被赋予固定优先级,运行期间不允许改变。 事件(Event)也被称为资源(Resource),可以同步任务的执行。 基本任务具有三种状态:运行状态、就绪状态、挂起状态;扩展任务比基本任务增加一个等待状态。 基本任务只有在开始和结束时才有同步点。扩展任务运行时可能进入等待状态。 第三十二页,共八十页。 如图5-13所示,状态转换有激活、启动、等待、释放、抢占和终止。 激活:任务由挂起状态变为就绪状态。激活后,任务就可以参与调度,并获得执行。 启动:将任务由就绪状态变为运行状态,这个过程由任务调度器进行控制。 等待:任务由运行状态变为等待状态。任务通过进入等待事件发生,实现与事件的同步,系统函数WaitEvent()会使任务进入等待状态。 释放:任务由等待状态变为就绪状态。当任务等待的事件发生,任务则退出等待状态,等待操作系统的调度。 第三十三页,共八十页。 抢占:任务由运行状态变为就绪状态。当有更高优先级任务进入就绪状态,任务就有可能被抢占。任务调度器负责各任务的启动和抢占。 终止:任务由运行状态变挂起状态。任务终止后,任务不再参与任务调度。 OSEK OS支持三种调度方式:抢占调度、非抢占调度、混合调度。 非抢占调度机制要求只有在重调度点才能从运行中的任务转去执行其他任务。 抢占调度机制要求在满足操作系统预定的触发条件时重新调度处于运行的任务。 第三十四页,共八十页。 混合调度是指在同一系统中即存在抢占调度任务又存在非抢占调度任务。 5.5.2 OSEK的一致性 OSEK中任务由以下三个组成部分组成:任务程序代码、任务堆栈和任务控制块。 其中,任务控制块用来保存任务属性;任务堆栈用来保护任务上下文;任务程序代码是任务的执行部分。 OSEK操作系统的调度行为并非严格的固定优先级。由于共享资源以及混合抢占调度战略的存在,操作系统需要时刻保证最高优先级的就绪任务得到运行。 第三十五页,共八十页。 一致类的概念可以使开发者根据应用灵活地配置操作系统调度程序。OSEK系统中定义了4种一致类: BCC1,BCC2,ECC1,ECC2。 一致类的划分是根据每个优先级可能具有的任务个数、需要的是基本任务还是扩展任务来决定。 BCC1:表示在应用系统中,每个优先级上只有一个任务,且是基本任务。 ECC1:表示在应用系统中,每个优先级上只有一个任务,且是扩展任务。 BCC2:表示在应用系统中,每个优先级上有多个任务,且是基本任务。 第三十六页,共八十页。 ECC2:表示在应用系统中,每个优先级上有多个任务,且是扩展任务。 在实时操作系统中,调度机制的核心是调度器,调度不仅需要保证正确性。其实现也必须是高效的。调度的主要工作如下: 根据就绪任务的优先级,选择最重要的任务优先运行; 如果需要切换任务,将任务上下文切换。 在OSEK操作系统中,调度有其额外的、特殊的需求; OSEK操作系统内核模块如图5-14所示 第三十七页,共八十页。 在BCC2和ECC2一致类中,能够正确处理基本任务的多
文档评论(0)