内核实验三(优先级继承).ppt_第1页
内核实验三(优先级继承).ppt_第2页
内核实验三(优先级继承).ppt_第3页
内核实验三(优先级继承).ppt_第4页
内核实验三(优先级继承).ppt_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

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

文档简介

内核实验 三 优先级继承 实验目的 掌握嵌入式实时操作系统 C OS II解决优先级反转的策略 优先级继承的原理 当高优先级任务因申请某共享资源失败被阻塞时 把当前拥有该资源的 且优先级较低的任务的优先级提升 提升的高度等于这个高优先级任务的优先级 可以指定一个PIP 优先级继承的主要思想 任务A申请共享资源S S是否被占用 任务A获得共享资源S S被任务B占用 任务A被挂起 Priority B Priority A 提升B的优先级到PIP B释放资源s并恢复原来的优先级 等待队列中优先级最高的任务获得s 任务A继续执行 N Y N Y 优先级继承的主要思想 它们的原始优先级 TASK0 TASK1 TASK2 3个应用任务竞争同一互斥资源mutex 使用mutex时采用优先级继承策略 PIP 优先级继承优先级 为8 实验设计 defineOS LOWEST PRIO14 任务优先级不可以大于14 defineOS TASK CREATE EN1 允许使用OSTaskCreate defineOS MAX TASKS6 最多可以创建6个任务 defineOS MAX EVENTS1 最多可以有1个事件 操作系统配置 defineOS MUTEX EN1 是否允许使用互斥信号量的功能 defineOS TASK CHANGE PRIO EN1 是否允许使用OSTaskChangePrio defineOS TIME DLY HMSM EN1 是否允许使用OSTimeDlyHMSM defineOS TICKS PER SEC200 设置每秒之内的时钟节拍数目 操作系统配置 OSTaskCreate 建立一个新任务 本实验中所用到的 C OS II相关函数 OSMutexCreate 创建互斥信号量 OSMutexPend 申请互斥信号量 OSTimeDlyHMSM 将一个任务延时若干时间 OSMutexPost 释放互斥信号量 应用初始化 OSTaskCreate TaskStart void 0 mutex OSMutexCreate 8 设置互斥信号量 其中8为PIP 优先级继承优先级 的值 创建起始任务TaskStart 源程序说明 TaskStart负责 安装时钟中断服务例程ucos x86 idt set handler 0 x20 void OSTickISR 0 x8e00 初始化操作系统时钟ucos timer init 创建应用任务TaskStartCreateTasks 源程序说明 2 创建应用任务 for i 0 i N TASKS i TaskData i i Eachtaskwillpassitsownid OSTaskCreate Task void 源程序说明 voidTask void pdata for 无限循环 OSMutexPend mutex 0 延时 3 应用任务 源程序说明 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 12 优先级 11 10 8 t12 t13

温馨提示

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

评论

0/150

提交评论