- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微型抢占式多任实时内核设计
嵌入式基础
论文题目:《嵌入式基础关于微型抢占式多任务实时内核设计》
学生姓名:赵雷
学生学号:0911240129
指导教师:范木杰
引言
介绍引入事件驱动观念的抢占式多任务微型实时内核——MicroStar的设计与实现;提出基于事件的优先级这一新概念。
关键词:事件驱动 优先级 任务管理 消息 信号 同步
市面上有很多优秀的嵌入式实时操作系统(RTOS),但在中低端微控制器(MCU)上运行性能良好的RTOS内核并不多。在高档机下,功能强大、运行极好的嵌入式实时操作系统,移植到中低端机上时性能很可能大幅度下降。一个很重要的原因就是它的大部分功能对中低档系统来说是不需要的,反而成为制约性能的累赘。中低档微控制器与高档机相比,一方面,寻址能力有限,处理速度慢,在相同的实时性能要求下,对内核的代码效率的要求更为严格;另一方面,中低档机完成的任务相对简单,减少了对内核的功能需求,比如可以不需要内存管理。从嵌入式系统的共性来说,大多数情况下用户程序和系统内核是紧密结合在一起的,运行时存储器容量消耗、任务的数量、执行时间和结果都是可以预计的,这可进一步缩小对内核的功能需求。
事件驱动的观点认为,任务应该是被动地响应外界发生的各种事件,而不是主动地去“查询”,浪费处理器时间。采用事件驱动编程的方法,不仅提高了运行效率,而且降低了事件处理之间的耦合,使程序流程非常清晰,从而可大大提高开发效率。
充分考虑中低端微控制器的硬件特点和嵌入式系统软件的需求,引入“事件驱动”的观念,笔者开发了一个微型的抢占式多任务RTOS内核——MicroStar。支持任务的动态创建、删除、睡眠、挂起和恢复,提供消息(message)和信号(signal)两种任务间的通信方案、完善的定时器服务和功能齐全的任务同步函数库。限于篇幅,着重论述几个与众不同的设计思路和实现难点。
1调度策略
1.1 基于事件的优先级
对内核的实时性能来说,调度策略是关键。好的调度策略,既要体现各任务因所处理的事件对实时性的不同要求而带来的优先级差异,又要保证一定的公平性,避免出现低优先级任务长时间得不到执行的极端情形。常用的调度策略有两种:一种是按时间片轮转(round robin)调度,如RTX51;另一种是严格按优先级的占先式调度,如μC/OS。
按时间片轮转调度能很好地保证公平,但优先级的差异是通过对处理器的占用时间的多少来体现的。如果各个任务都不主动放弃执行,高优先级的任务能够比低优先级任务获得更多的处理器时间;但在嵌入式系统中,某个事件要求实时处理,并不意味着该处理需要较长的时间,而往往是要求尽快响应。因此,采用按时间片轮转调度,实时性不会太好。
如果严格按任务的优先级来调度,可极大地提升系统的实时性,但却欠缺公平。如果高优先级任务是个无等待的死循环,低优先级任务就无法获得执行机会。
一个好的办法是两者的结合,即可由任务的优先级产生调度,也可以由时间片到产生新的任务调度,如VxWorks;但是实现起来较为复杂,不一定适合中低档MCU。为此,基于以下事实,提出“基于事件的优先级(events based priority)”这一新观念。
① 一个任务往往处理多个事件,各个事件对实时性的要求不尽相同。一般的RTOS下,任务的优先级是根据这些事件中对实时性要求最高的一个来确定的。因此,高优先级任务在处理对实时性要求不高的事件时,完全可能会妨碍低优先级任务处理具有一定实时性要求的事件。
② 有些情况下,对同一事件的处理可分为前台处理和后台处理:前台处理所需时间短,对实时性有较高的要求;后台处理花费时间长,对实时性则无多大要求。
如果根据正在处理和等待处理的事件对实时性的不同要求,更细致地按事件处理的前后台阶段,动态地调整任务的优先级,采用优先级调度策略,既可发挥实时性好的优点,又可在一定限度内保证公平。这种情况下,任务的优先级不再是一成不变的,而是动态地取决于所处理的事件和处理阶段,这就是所谓的“基于事件的优先级”。
1.2 在MicroStar中的实现
MicroStar中任务的优先级是由静态优先级和动态优先级共同决定的。静态优先级等同于其它RTOS中的优先级;动态优先级为基于事件的优先级——由内核根据任务正在处理和等待处理的事件动态调整。静态优先等级限定为0~15级,不允许创建静态优先级相同的任务。动态优先等级目前只有0(亦称紧急级)、1(亦称普通级)两级。任务的实际优先等级可由下式来计算:
优先等级=动态优先等级×16 + 静态优先等级。
优先等级值越大,优先级越低。可以看出,动态优先级起决定作用。
怎样实现优先级动态可调呢?首先简要介绍MacroStar中任务的四个状态:
休眠(dorm
您可能关注的文档
- 当老爹碰巧是PS高手.docx
- 录井队仪器工程岗位HSE应知应会试题库.doc
- 彩色羊皮毛一体高筒儿童雪地靴子.docx
- 彭州巿政府投资项目管理办公室.doc
- 影响与采取填补措施的议案.PDF
- 影响价格地因素good.ppt
- 影楼每月企划方案(多篇).doc
- 影视配音大赛策划方案(多篇).doc
- 影评《魁拔之大战元泱界》叙事的切磋琢磨与文化之精神气质8.doc
- 征地工作检讨书(多篇).doc
- 2025天津工业大学师资博士后招聘2人笔试题库带答案解析.docx
- 2025四川中冶天工集团西南公司招聘14人备考题库带答案解析.docx
- 2025四川南充市农业科学院第二批引进高层次人才考核招聘2人备考题库带答案解析.docx
- 2025四川德阳绵竹市人力资源和社会保障局绵竹市卫生健康局卫生事业单位考核招聘专业技术人员41人历年.docx
- 2025云南昭通昭阳区政务服务管理局公益性岗位招聘1人备考题库及答案解析(夺冠).docx
- 2025年西安一附院沣东医院招聘笔试题库附答案解析.docx
- 2025山东临沂市纪委监委机关所属事业单位选聘工作人员10人笔试备考试卷带答案解析.docx
- 2025四川成都市新都区妇幼保健院编外专业技术人员招聘8人历年真题题库附答案解析.docx
- 2025年宝鸡三和职业学院招聘笔试题库(82人)最新.docx
- 2025云南昆明市第二人民医院紧急招聘神经(创伤)外科医师1人历年试题汇编含答案解析(必刷).docx
最近下载
- 交通运输公交车司机岗面试题库参考答案和答题要点.docx VIP
- 羲和太阳能电力有限公司-校园招聘简章.PDF VIP
- 眼视光专业毕业设计论文.doc VIP
- 送教上门教学计划表.docx VIP
- 四级690高频词汇四级690高频词汇.doc VIP
- 竣工结算审计服务投标方案(技术方案).doc
- 2025年河北景州产业投资发展有限公司招聘30人笔试参考题库必考题.docx VIP
- 机械制图习题集(程可 )(第二版)程可课后习题答案解析.pdf
- 通信系统仿真原理与无线应用课后答案..doc VIP
- 松下Panasonic MINAS A6S 系列 技术资料 -Modbus通信规格・Block 动作功能篇.pdf VIP
原创力文档


文档评论(0)