osek操作系统-

上传人:suns****4568 文档编号:60845790 上传时间:2018-11-19 格式:PPT 页数:40 大小:516KB
返回 下载 相关 举报
osek操作系统-_第1页
第1页 / 共40页
osek操作系统-_第2页
第2页 / 共40页
osek操作系统-_第3页
第3页 / 共40页
osek操作系统-_第4页
第4页 / 共40页
osek操作系统-_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《osek操作系统-》由会员分享,可在线阅读,更多相关《osek操作系统-(40页珍藏版)》请在金锄头文库上搜索。

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

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

3、后的相同优先级。,调度步骤,查找所有准备/运行状态的tasks 从查找好的任务设置中,调度基于最高优先级的任务 同上, 找最后的任务 。 开发人员通过task的属性配置任务优先次序和分配抢占性来确定任务执行顺序。,调度策略,全抢占式 非抢占式 定义Tasks 组 (抢与非抢并存) 混合抢占式调度,应用模式,应用模式的设计是为了让一个osek操作系统根据不同的应用模式来运行。 最低数量支持的应用模式是一,仅作为运作模式,各模式之间是相互排斥的, 应用模式范围 若相同的功能被重复使用,建议在不同模式分享任务/中断/时钟 启动性能 应用模式支持,中断处理,ISR 分类1 不使用操作系统的服务 完成后

4、处理程序继续运行被中断停止的命令 如中断不会影响task的管理 开销最少,ISR 分类2 操作系统提供一个isr框架为专用用户程序准备一个运行时环境 系统创建时,用户程序被分配给中断,中断处理(哪个优先级高),Categoy 1 code without any API calls 在中断内调度不会发生,若一个任务被中断且没有其他中断被激活 ,重调度会在类型二之后被执行。,Categoy 2 code with API calls 最多数量的中断优先取决于控制器以及执行。中断调度时基于硬件的,并没有在osek 里描述。,可屏蔽中断函数,Osek提供快速函数可以无效所有的中断 Enableall

5、interrupts Disableallinterrupts Resumeallableallinterrupts Suspendallinterrupts 类型2 Resumeosinterrupts suspendosinterrupts,事件机制,是一个同步的方法 仅仅提供给扩展任务 task的初始状态改变和从等待状态改变,抢占式调度表(任务一为高优先级),非抢先式调度过程(任务一为高优先级),资源管理,用来协调不同优先级不同任务的资源共享,如管理授权,按排次序,内存或硬件范围。 对所有的一致性阶层 资源管理时强制性的。 可以有选择和的扩大调整并行访问的任务和中断服务程序。,资源管理保

6、证,2个task 在同一时间里不能同时占有同样的资源 不可以发生优先倒置 在资源使用时不能发生死锁 绝不再waiting 状态下访问资源 如果资源扩展到中断级别它应附带保证: 两个任务或是中断处理程序不能呢个同时使用相同的资源。,如果资源扩展到中断级别它应附带保证。,如果资源扩展到中断级别它应附带保证: 两个任务或是中断处理程序不能呢个同时使用相同的资源。,访问资源的行为,Osek 规范严格静止嵌套访问统一资源。如嵌套访问时需要的,这里建议使用第二个同第一个有同样行为的资源。Oil 语言支持同样行为的资源定义,8.2 使用资源时的限制,当资源被占用时,不能调用terminatetask , C

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

8、的优先将提高到天花板优先的资源的级别 3 如果task 释放这个资源,task的优先级恢复到在需求资源是动态分配优先级前的优先级。 优先级天花板有可能延迟优先级相同的或是低于资源优先级的task,这个延迟最大的延迟时间是被任何低优先级task占用资源的时间。,天花板优先级图示(高到低1-4),天花板优先协议对中断的扩展,警报,计数器 alarm 管理,警报Alarms,Osek操作系统提供一个为处理反复时间的任务。如事件可能为时间的例子提供中断和调节间隔。 系统提供两态 定义处理这样的时间,往复的时间通过使用专用的计算器实现。基于计数器,对于应用软件osek 操作系统提供alarm机制。,计数

9、器,通过一个计数值实现,在ticks内被实现,有些计算值时特殊常数。 提供一个标准api 直接操作计数器 仔细照顾管理 alarms的必须的行为,什么时候计算器前进和金额如何前进。 至少提供一个从硬件时钟继承的计数器。,ALARM 管理,当alarm 超时时,设置时间或是条用一个alarm的call-back 程序 Alarm既可以被定义为单个的,也可以是循环的。另外os提供的服务可以取消alarm 也可以得到alarm当前的状态。 一个alarm可以 被多个alarm使用 一个alarm是在系统创建时静态分配的 在alarm超时和循环alarm的周期,计数器的值时动态参数。 Alarm-ca

10、llback程序既没有参数 也没有返回值。,Alarmcallback的格式,ALARMCALLBACK( AlarmCallbackroutlinename),例子,ALARMCALLBACK(brakepedalstroke) /*do application processing*/ ,消息,为了分装osek的实现,提供内部处理器通讯的消息处理。 更多细节参考osek com 规范,错误管理,追踪和调试,钩子程序 出错管理 系统启动 系统关闭 调试,钩子程序,操作系统提供钩子程序来允许用户在os内部定义动作 程序如下: 1在一个取决与操作系统实现的特殊背景里,被操作系统调用 2 比所有的

11、tasks 优先级高 3 不会被 category 2 的中断程序打断 4 操作系统的一部分 5 被用户定义的功能实现 6 标注接口,但在功能功能上不标准化,钩子程序是不 可移植的。 7 仅仅允许通过api的函数的子集 8 强制性的,但是通过oil 配置,钩子程序的使用,1 系统启动 startuphook 在操作系统启动后并且在调度程序运行前被调用。 2 系统关闭 :当系统被应用或是操作系统出错要求关闭时被调用。 3追踪或是基于 用户定义的外部切换的调试应用 4 出错管理,出错管理,两种不同类型的错误: 应用错误:系统不能执行需要服务修正,但是假定他的内部数据时正确的。这种情况下,集中错误处

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号