第一范文网 - 专业文章范例文档资料分享平台

面向汽车电子的嵌入式软件研究与开发(18)

来源:用户分享 时间:2021-04-06 本文由吃货未泯 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

重庆邮电大学硕士论文第三章基于OSEKTurbo的ABS控制软件开发

图3.4扩展任务状态模型

基础任务通常在开始运行后,只有当它被高优先级任务占先或者是被中断

时,它才会停止,否则一直运行到任务结束。而扩展任务除了能被高优先级的任务占先和被中断外,还会因等待事件而停止运行,进入等待态。处于等待态的扩展任务只有当它所等待的事件中至少有一个发生时才会被激活继续运行。

处于就绪态的任务由调度程序调度运行,OSEKTurbo采用静态优先级调度策

略。任务的优先级在系统生成的时候进行静态分配,高优先级的任务先处理,低优先级的任务后处理。OSEK标准中的BCC2和ECC2要求OS能够支持多任务同优先级,相同优先级的任务进入一个先来先服务的队列,OSEKTurbo目前还不支持这一点,所以在OSEKTurbo中一个优先级只能对应一个任务。此外,任务可分为可被占先任务和不可被占先任务。对不可被占先的任务而言,一旦任务开始运行,就不会被占先,只有到达其调度点时才发生调度,程序设计员可以预知调度点;而对可被占先的任务而言,由于中断可能激活更高优先级的任务,所以任何时候都有可能进行调度。使用这两种任务可使程序设计具有更高的灵活性。

OSEKTurbo系统不允许同一任务的多个并行调用,因为这需要动态改变任务

的数量。当请求调用一个已经激活的任务时,该请求进入一个请求队列,直到前一个激活任务运行终止(转换为挂起态),第二个激活请求才执行。

3.2.2同步机制

OSEKTurbo提供了两种同步机制,即对共享资源的互斥访问机制和事件机

制。资源可以是一段临界区代码、调度程序、共享内存或数据结构,也可以是共享硬件设备。系统在处理多个任务对共享资源的互斥访问时,采用信号量对临界区数据或资源加锁。在某一时刻只能有一个任务访问资源,但是用信号量机制可能会导致优先级反转,即当一个高优先级的任务试图访问一个已经被较低优先级14

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新资格考试认证面向汽车电子的嵌入式软件研究与开发(18)全文阅读和word下载服务。

面向汽车电子的嵌入式软件研究与开发(18).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1184649.html(转载请注明文章来源)
上一篇:QA与QC区别
下一篇:2011中考物理宜宾卷

相关推荐:

热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top