版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、内核实验(三)优 先 级 继 承实验目的 掌握嵌入式实时操作系统C/OS-II解决优先级反转的策略优先级继承的原理。 当高优先级任务因申请某共享资源失败被阻塞时,把当前拥有该资源的、且优先级较低的任务的优先级提升,提升的高度等于这个高优先级任务的优先级(可以指定一个PIP) 。优先级继承的主要思想任务A申请共享资源S S是否被占用任务A获得共享资源S S被任务B占用,任务A被挂起 Priority(B)Priority( A)?提升B的优先级到PIP B释放资源s并恢复原来的优先级 等待队列中优先级最高的任务获得s任务A继续执行NYNY优先级继承的主要思想它们的原始优先级: TASK0 TAS
2、K1 TASK2。3个应用任务竞争同一互斥资源 mutex;使用mutex时采用优先级继承策略,PIP(优先级继承优先级)为8;实验设计#define OS_LOWEST_PRIO 14 /*任务优先级不可以大于14*/#define OS_TASK_CREATE_EN 1 /*允许使用OSTaskCreate()*/#define OS_MAX_TASKS 6 /*最多可以创建6个任务*/#define OS_MAX_EVENTS 1 /*最多可以有1个事件*/操作系统配置#define OS_MUTEX_EN 1 /*是否允许使用互斥信号量的功能*/#define OS_TASK_CHAN
3、GE_PRIO_EN 1 /*是否允许使用 OSTaskChangePrio()*/#define OS_TIME_DLY_HMSM_EN 1 /*是否允许使用OSTimeDlyHMSM()*/#define OS_TICKS_PER_SEC 200 /*设置每秒之内的时钟节拍数目*/操作系统配置 OSTaskCreate():建立一个新任务 本实验中所用到的C/OS-II相关函数 OSMutexCreate():创建互斥信号量 OSMutexPend():申请互斥信号量 OSTimeDlyHMSM( ):将一个任务延时若干时间 OSMutexPost():释放互斥信号量 、应用初始化OSTa
4、skCreate(TaskStart, (void *)0, &TaskStartStkTASK_STK_SIZE - 1, 9); mutex = OSMutexCreate(8,&err); 设置互斥信号量,其中8为PIP(优先级继承优先级)的值 创建起始任务TaskStart源程序说明TaskStart负责:安装时钟中断服务例程ucos_x86_idt_set_handler(0 x20,(void *)OSTickISR,0 x8e00);初始化操作系统时钟ucos_timer_init();创建应用任务TaskStartCreateTasks();源程序说明2、创建应用任务for (
5、i = 0; i N_TASKS; i+) TaskDatai = i; /* Each task will pass its own id */ OSTaskCreate(Task, (void *)&TaskDatai, &TaskStkiTASK_STK_SIZE - 1, 12-i); 源程序说明void Task (void *pdata) for (;) /* 无限循环 */ OSMutexPend(mutex, 0, &err); /*申请资源*/ OSTimeDlyHMSM(0, 0, 0, 200); /*保持资源*/ OSMutexPost(mutex); /*释放资源*/ OSTimeDlyHMSM(0, 0, 0, (3-id)*150); /*延时*/ 3、应用任务源程序说明t1t2t3t4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江西铜业集团有限公司产融(融资租赁)第四批次社会招聘2人考试备考题库及答案解析
- 2026天津市津南区消防救援局面向社会招录政府专职消防员30人考试备考试题及答案解析
- 2026广东揭阳市惠来县教育系统事业单位赴高校现场招聘高层次和急需紧缺学科教师104人笔试备考试题及答案解析
- 2026湖北武汉儿童医院卫生专业技术人员招聘(第一批)笔试备考题库及答案解析
- 四川省骨科医院招聘手外科医师笔试参考题库及答案解析
- 2026河南许昌圆融颈肩腰腿痛医院招聘3人考试备考题库及答案解析
- 2026国网天津市电力公司高校毕业生招聘考试(第三批)笔试模拟试题及答案解析
- 2026惠州仲恺政务服务有限公司招聘项目人员12人考试备考试题及答案解析
- 2026年医药电子商务行业分析报告及未来发展趋势报告
- 2026广安北控广立污水处理有限公司人才招聘2人笔试模拟试题及答案解析
- (新版)广东省常用非金属材料检测技术培训考核考试(重点)题库300题(含答案)
- 给水厂污泥处理处置
- 2025课堂惩罚 主题班会:马达加斯加企鹅课堂惩罚 课件
- 幼儿园玩具及教具采购计划
- 《食品冷链物流追溯管理要求编制说明》
- 槽型铸铁平台施工方案
- 2024上海立达学院辅导员招聘笔试真题及答案
- 2025年环保技术研发与转化效率研究报告
- 《变频技术及应用》课件-课题三 变频恒压供水控制
- 卫校报名面试题库及答案
- 钟山区南开风电场环境影响报告表
评论
0/150
提交评论