收藏 分销(赏)

OSEK操作系统-PPT.ppt

上传人:胜**** 文档编号:802684 上传时间:2024-03-22 格式:PPT 页数:40 大小:695KB
下载 相关 举报
OSEK操作系统-PPT.ppt_第1页
第1页 / 共40页
OSEK操作系统-PPT.ppt_第2页
第2页 / 共40页
OSEK操作系统-PPT.ppt_第3页
第3页 / 共40页
OSEK操作系统-PPT.ppt_第4页
第4页 / 共40页
OSEK操作系统-PPT.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、OSEK操作系统2.23中文版一致性阶层n n为了使osek操作系统能在不同ECU上运行,定义了四个复合类,即一致性阶层BCC1,BCC2,ECC1,ECC2.每一个类包含一个特殊的操作特性,代表一类应用系统的需求,也包含了这些操作系统所包含的硬件系统。n nBCC1,BCC2n nECC1,ECC2任务n nBasic task 无等待状态,优点基于运行时间对ram 有一个适度的请求。n nExtended task 的优点是他可以在一个任务内掌握工作的一致性,没有同步激活的麻烦,当现有信息作进一步处理有缺失,可以切换到等待状态。Basic task的状态转换Running运行Suspend

2、ed暂停Ready就绪Termint(中止)Activate(激活)Preempt()Start(开始)Extended taskRunning(运行)SuspendedSuspended暂停暂停Waiting(等待)Ready(就绪)waitreleaseActivate(激活)Terminate(中止)startpreempt任务切换和调动任务切换和调动n n切换机制切换机制 调度程序是一种内部资源n n调度程序调度程序 决定哪些任务被启动,触发必须的操作系统内部活动n n优先级优先级 静态定义。0 为最低,大数字为高的优先级。不支持动态优先级的管理。相同优先级的任务时基于排序排序被启动,

3、因此等待状态不会堵塞以后的相同优先级。调度步骤调度步骤n n查找所有准备/运行状态的tasks n n 从查找好的任务设置中,调度基于最高优先级的任务n n 同上,找最后的任务n n。开发人员通过task的属性配置任务优先次序和分配抢占性来确定任务执行顺序。调度策略n n全抢占式全抢占式n n 非抢占式非抢占式n n定义定义Tasks 组组(抢与非抢并存)(抢与非抢并存)n n混合抢占式调度混合抢占式调度应用模式n n应用模式的设计是为了让一个应用模式的设计是为了让一个osekosek操作系统根据不同的应用模式来运操作系统根据不同的应用模式来运行。行。n n最低数量支持的应用模式是一,仅作为运

4、作模式,各模式之间是相互排斥的最低数量支持的应用模式是一,仅作为运作模式,各模式之间是相互排斥的,n n应用模式范围应用模式范围n n若相同的功能被重复使用,建议在不同模式分享任务/中断/时钟n n启动性能启动性能n n应用模式支持应用模式支持中断处理中断处理n nISR 分类分类1n n不使用操作系统的服不使用操作系统的服务务n n完成后处理程序继续完成后处理程序继续运行被中断停止的命运行被中断停止的命令令n n如中断不会影响如中断不会影响tasktask的管理的管理n n开销最少开销最少n nISR 分类分类2n n操作系统提供一个操作系统提供一个isrisr框架为专用用户程序框架为专用用

5、户程序准备一个运行时环境准备一个运行时环境n n系统创建时,用户程系统创建时,用户程序被分配给中断序被分配给中断中断处理(哪个优先级高哪个优先级高)n nCategoy 1Categoy 1n n n n code without code without any API calls any API calls n n n n在中断内调度不会发在中断内调度不会发生,若一个任务被中生,若一个任务被中断且没有其他中断被断且没有其他中断被激活激活 ,重调度会在类,重调度会在类型二之后被执行。型二之后被执行。n nCategoy 2Categoy 2n n n n code with API code

6、 with API calls calls n n n n最多数量的中断优先最多数量的中断优先取决于控制器以及执取决于控制器以及执行。中断调度时基于行。中断调度时基于硬件的,并没有在硬件的,并没有在osek osek 里描述。里描述。可屏蔽中断函数n n Osek提供快速函数可以无效所有的中断n n Enableallinterruptsn n Disableallinterruptsn n Resumeallableallinterruptsn n Suspendallinterruptsn n 类型2 Resumeosinterruptsn n suspendosinterrupts 事件

7、机制事件机制n n是一个同步的方法n n 仅仅提供给扩展任务n n task的初始状态改变和从等待状态改变抢占式调度表抢占式调度表(任务一为高优先级)(任务一为高优先级)非抢先式调度过程非抢先式调度过程(任务一为高优先级)任务一为高优先级)资源管理资源管理n n用来协调不同优先级不同任务的资源共享,如管理授权,按排次序,内存或硬件范围。n n对所有的一致性阶层 资源管理时强制性的。n n可以有选择和的扩大调整并行访问的任务和中断服务程序。资源管理保证n n2个task 在同一时间里不能同时占有同样的资源n n不可以发生优先倒置n n在资源使用时不能发生死锁n n 绝不再waiting 状态下访

8、问资源 n n如果资源扩展到中断级别它应附带保证:n n 两个任务或是中断处理程序不能呢个同时使用相同的资源。如果资源扩展到中断级别它应附带如果资源扩展到中断级别它应附带保证。保证。n n如果资源扩展到中断级别它应附带保证:n n 两个任务或是中断处理程序不能呢个同时使用相同的资源。访问资源的行为访问资源的行为 n nOsek 规范严格静止嵌套访问统一资源。如嵌套访问时需要的,这里建议使用第二个同第一个有同样行为的资源。Oil 语言支持同样行为的资源定义 8.2 使用资源时的限制n n当资源被占用时,不能调用terminatetask,Chaintask,schedule,waitevent。

9、中断服务程序将不被完成。n n 在一个task占用多个资源的情况里,用户不得不需要和使用lifo 的方法释放资源。优先反转的解释 n n 低优先级的任务延迟了高优先级的任务的执行。低优先级的任务延迟了高优先级的任务的执行。Osek Osek 的一优先限度的一优先限度规范避免了优先反转。规范避免了优先反转。死锁天花板优先级n n为了避免死锁为了避免死锁 osekosek需要下面的行为:需要下面的行为:n n1 1 系统创建时,每个资源的天花板协议被静态分配,最高系统创建时,每个资源的天花板协议被静态分配,最高优先上限必须至少高于访问这个资源或链接这个资源的所优先上限必须至少高于访问这个资源或链接

10、这个资源的所有的任务,这个优先级必须低于所有不访问这个资源的任有的任务,这个优先级必须低于所有不访问这个资源的任务,而且大于所有访问这个资源的任务。务,而且大于所有访问这个资源的任务。n n2 2 如果任务需要一个资源,并且目前的优先低于天花板优如果任务需要一个资源,并且目前的优先低于天花板优先的资源,那么先的资源,那么tasktask的优先将提高到天花板优先的资源的的优先将提高到天花板优先的资源的级别级别n n3 3 如果如果task task 释放这个资源,释放这个资源,tasktask的优先级恢复到在需求的优先级恢复到在需求资源是动态分配优先级前的优先级。资源是动态分配优先级前的优先级。

11、n n优先级天花板有可能延迟优先级相同的或是低于资源优先优先级天花板有可能延迟优先级相同的或是低于资源优先级的级的tasktask,这个延迟最大的延迟时间是被任何低优先级,这个延迟最大的延迟时间是被任何低优先级tasktask占用资源的时间。占用资源的时间。天花板优先级图示(高到低高到低1-4)1-4)天花板优先协议对中断的扩展警报n n计数器n n alarm 管理警报警报Alarmsn nOsek操作系统提供一个为处理反复时间的任务。如事件可能为时间的例子提供中断和调节间隔。n n 系统提供两态 定义处理这样的时间,往复的时间通过使用专用的计算器实现。基于计数器,对于应用软件osek 操作

12、系统提供alarm机制。计数器n n通过一个计数值实现,在ticks内被实现,有些计算值时特殊常数。n n提供一个标准api 直接操作计数器 n n 仔细照顾管理 alarms的必须的行为,什么时候计算器前进和金额如何前进。n n 至少提供一个从硬件时钟继承的计数器。ALARM 管理n n当当alarm alarm 超时时,设置时间或是条用一个超时时,设置时间或是条用一个alarmalarm的的call-back call-back 程序程序n nAlarmAlarm既可以被定义为单个的,也可以是循环的。既可以被定义为单个的,也可以是循环的。另外另外osos提供的服务可以取消提供的服务可以取消

13、alarm alarm 也可以得到也可以得到alarmalarm当前的状态。当前的状态。n n一个一个alarmalarm可以可以 被多个被多个alarmalarm使用使用 n n一个一个alarmalarm是在系统创建时静态分配的是在系统创建时静态分配的n n在在alarmalarm超时和循环超时和循环alarmalarm的周期,计数器的值的周期,计数器的值时动态参数。时动态参数。n nAlarm-callbackAlarm-callback程序既没有参数程序既没有参数 也没有返回值。也没有返回值。Alarmcallback的格式n nALARMCALLBACK(n nAlarmCallba

14、ckroutlinename)例子n nALARMCALLBACK(brakepedalstroke)n n /*do application processing*/n n消息n n为了分装osek的实现,提供内部处理器通讯的消息处理。n n更多细节参考osek com 规范错误管理,追踪和调试n n钩子程序 n n出错管理 n n系统启动 n n系统关闭n n调试钩子程序n n操作系统提供钩子程序来允许用户在操作系统提供钩子程序来允许用户在osos内部定义动作内部定义动作n n程序如下:程序如下:n n 1 1在一个取决与操作系统实现的特殊背景里,被操作系统在一个取决与操作系统实现的特殊背

15、景里,被操作系统调用调用n n 2 2 比所有的比所有的tasks tasks 优先级高优先级高n n 3 3 不会被不会被 category 2 category 2 的中断程序打断的中断程序打断n n 4 4 操作系统的一部分操作系统的一部分n n 5 5 被用户定义的功能实现被用户定义的功能实现n n 6 6 标注接口,但在功能功能上不标准化,钩子程序是不标注接口,但在功能功能上不标准化,钩子程序是不 可移植的。可移植的。n n 7 7 仅仅允许通过仅仅允许通过apiapi的函数的子集的函数的子集n n 8 8 强制性的,但是通过强制性的,但是通过oil oil 配置配置钩子程序的使用n

16、 n1 系统启动 startuphook 在操作系统启动后并且在调度程序运行前被调用。n n2 系统关闭:当系统被应用或是操作系统出错要求关闭时被调用。n n3追踪或是基于 用户定义的外部切换的调试应用n n4 出错管理 出错管理 n n两种不同类型的错误:n n 应用错误应用错误:系统不能执行需要服务修正,但是假定他的内部数据时正确的。这种情况下,集中错误处理被调用。n n 严重错误严重错误:操作系统不能修正它的内部数据,这种情况下,操作系统调用关闭中央系统。所有这些错误服务通过描述错误的参数被分配。错误钩子程序n n如果系统服务返回的状态不是e_ok 错误钩子程序被调用,注意钩子程序不会被

17、重复调用 系统启动 n n系统提供一个初始化的标准方法,n n须清晰的定义硬件初始化的接口。n n在osek os和osektime os共存的情况里,osektime的初始化总是第一位的并且osek 剩下部分的初始化将在osektime进入idle 循环后被执行。系统关闭系统提供一个服务以便关闭操作系统,系统提供一个服务以便关闭操作系统,shutdownOS,shutdownOS,当当shutdownosshutdownos被调用时,操被调用时,操作系统将调用钩子程序作系统将调用钩子程序shutdownhook shutdownhook 然后然后关闭程序。关闭程序。系统服务的描述n n系统对象的定义系统对象的定义 :操作系统里所有的系操作系统里所有的系统对象都是用户静态统对象都是用户静态定义。动态创建的系定义。动态创建的系统对象是无效的系统统对象是无效的系统服务。服务。n n协定:协定:调用类型调用类型 ,合法调用合法调用n n调用类型调用类型 :系统服务:系统服务接口是接口是iso/ansi-c iso/ansi-c,它的行为是一个普通它的行为是一个普通的函数调用,但是也的函数调用,但是也可以处理不同的执行可以处理不同的执行需求。如,一个需求。如,一个c c预处预处理的宏,一个特殊类理的宏,一个特殊类型的执行不能被实现。型的执行不能被实现。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服