- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式实验二
嵌入式实验二
PAGE PAGE 7
嵌入式实验二
嵌入式实验报告二
实验二 优先级反转
姓名:陈秀容 班级:08通信(1)班 学号:1
1. 实验目的
掌握在基于优先级的可抢占嵌入式实时操作系统的应用中,出现优先级反转现象的原理。
实验设计
优先级反转原理
优先级反转发生在有多个任务需要使用共享资源的情况下,可能会出现高优先级任务被低优先级任务阻塞,并等待低优先级任务执行的现象。高优先级任务需要等待低优先级任务释放资源,而低优先级任务又正在等待中等优先级任务,这种现象就被称为优先级反转。两个任务都试图访问共享资源是出现优先级反转最通常的情况。为了保证一致性,这种访问应该是顺序进行的。如果高优先级任务首先访问共享资源,则会保持共享资源访问的合适的任务优先级顺序;但如果是低优先级任务首先获得共享资源的访问,然后高优先级任务请求对共享资源的访问,则高优先级任务被阻塞,直到低优先级任务完成对共享资源的访问。
设计要点
1)设计了3 个应用任务TA0~TA2,其优先级逐渐降低,任务 TA0的优先级最高。
2)除任务 TA1外,其它应用任务都要使用同一种资源,该资源必须被互斥使用。为此,创建一个二值信号量 mutex 来模拟该资源。虽然μC/OS-Ⅱ在创建信号量时可以选择采用防止优先级反转的策略,但在本实验中我们不使用这种策略。
3)应用任务的执行情况如图 2-1 所示:
注意:图中的栅格并不代表严格的时间刻度,而仅仅表现各个任务启动和执行的相对先后关系。
系统的运行流程
1) 系统初始化,之后进入 main 函数;
2) 在 main 函数中,首先创建一个二值的信号量 mutex;
3) 在 main 函数中创建 TaskStart 任务,由 TaskStart 任务创建所有的应用任务(TA0、TA1、TA2)。优先级较高的任务 TA0、TA1 先延时若干个时钟节拍,以便低优先级任务TA2 运行。
4) t1 时刻,任务 TA2运行并首先申请到信号量 mutex;
5) t2 时刻,任务 TA1 延时到期,任务 TA1 的优先级高于任务 TA2 的优先级,因此任务 TA1立刻抢占TA2执行,任务 TA2由执行态转为就绪态;
6) t3 时刻,任务 TA0 延时到期,任务 TA0 的优先级高于任务 TA1 的优先级,所以任务 TA0 立刻抢占执行,任务 TA1 由执行态转为就绪态,任务 TA0 申请二值信号量mutex 被阻赛;
7) t4 时刻,任务TA1 由就绪态转回为执行态;此时 TA0 在等待TA2 保持的 mutex , 而TA2 又因为优先级低于 TA1 被阻塞。如果 TA1 一直执行而 TA2 没有机会被调度的话,那么 TA2 将一直等到 TA1 执行完后才能执行,而 TA0 更要等到 TA2 释放它所占有的信号量资源后才能执行,这样就出现了优先级高的 TA0任务等待优先级低的TA1 任务的现象;
8) t5 时刻,任务 TA1 挂起自己,而 TA0 又因为申请二值信号量 mutex 而处于阻塞状态,所以任务TA2 由就绪态转为执行态,任务 TA2释放信号量 mutex;
9) t6 时刻,TA0获得信号量并立刻抢占执行,任务TA2 由执行态转为就绪态;
10) t7 时刻,任务TA0 将自己延时一段时间,而TA1仍然处于挂起状态,TA2是当前最
高优先级的就绪任务,它又转为执行状态,任务TA2 因申请二值信号量 mutex 而阻塞;
11) t8 时刻,任务 TA1延时到期转为执行态,任务 TA1又因等待一个事件而阻塞;
12) t9 时刻,任务 TA0 延时到,释放二值信号量 mutex,mutex 被 TA2 得到后,内核自动切换任务;
13) t10 时刻,在就绪队列中,TA0 优先级最高,TA0 执行,又因为任务 TA0 等待一事件而阻塞;
14) t11 时刻,任务 TA1 延时到期,立刻抢占执行,又由于任务 TA1等待一事件而阻塞;;
15) t12 时刻,任务 TA2执行,保持信号量 mutex;以后系统再次出现优先级反转现象;
16) 系统如此周而复始地运行……
.进行操作系统配置
目的在于根据应用的需要,对操作系统的功能和规模进行设置,以便优化对系统存储空间的使用。配置的方法为修改μC/OS-Ⅱ源代码目录中的 文件.
3. 程序清单
#include
/******************************************* 定义部分 ************************************************/
#define TASK_STK_SIZE 512
您可能关注的文档
- 奇葩说策划案.doc
- 奇瑞汽车售后服务蓝图.docx
- 奇思妙想教案.doc
- 奇门遁甲基础知识.docx
- 奇门遁甲基础知识入门2.docx
- 契科夫短篇小说选阅读题精选.doc
- 契税优惠的承诺书.doc
- 契约情侣试恋爱之“卖身契”(范本).doc
- 奇门遁甲归纳.doc
- 女企业家协会会长在成立仪式上的讲话稿.doc
- 人教版(2019) 必修第一册 Unit 1 Teenage Life with复合结构教案.docx
- 外研版(2019) 必修第二册 Unit 3 On the Move Starting out vocabulary教学设计.docx
- 人教版体育二年级下册双脚跳、游戏(教案).docx
- 必修2 5.1 信息社会的伦理道德 教案 第1课时.docx
- 第6课 家中场景实时通 教案.docx
- 人教版(2019) 选择性必修第一册 Unit 1 People of Achievement Learning About Language教学设计.docx
- 人教版(2019)必修第二册Unit 3 The Internet Assessing Your Progress 教案.docx
- 初中物理九年级12.2 根据欧姆定律测量导体的电阻 教案.docx
- 统编版四年级上册语文第六单元 口语交际:安慰 教学设计.docx
- 通用版体育三年级下册 正面双手垫球 教案 ( 含反思).docx
文档评论(0)