- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.2实时任务调度3.2.3可达截止期最早优先算法-IntelSoftware
第3章 实时任务管理主讲: 黎忠文 目录 3.1 实时任务的概念 3.2 实时任务调度 3.1 实时任务的概念 实时系统所要响应和处理的外部事件有三种形式: 多个异步发生的外部事件 多个周期性发生的外部事件 上述两种情况的组合 如果为处理每一个外部事件而编制一个程序,这种程序的执行有两种方式。一种是顺序执行,一种是并发执行。 3.1.1 用顺序执行的程序实现实际应用系统 用一个事件中断处理程序,来捕捉外部所发生的事件,并把捕捉到的事件登记在一个先进先出的事件队列中,然后,用一个控制循环不断地测试事件队列,若事件队列非空,取队列的第一个元素,转去处理相应事件的程序,并把该元素从队列中移去,执行结束,又回到循环的顶部,继续测试队列和取队列中事件进行处理。 这种处理方式,具有如下特点: 严格按照顺序执行,每一个操作都必须在一个操作结束之后进行。 程序在运行过程中,独占系统资源,系统资源的状态只由程序本身确定,不受外界因素的影响。 程序执行的结果与它的执行过程无关,不管它是连续不断地执行,还是曾经被事件中断处理程序所中断过,都不影响它的执行结果。 如果程序执行时的初始条件相同,则最终结果也相同。 以上特点说明了顺序程序的封闭性,所谓封闭性,是指程序一旦运行,其结果不受外界因素的影响。 3.1.2 用并发执行的任务实现实时应用系统 随着计算机多重处理技术和多道程序的引入,就有可能使这些任务并发地执行,使得紧急的任务可以中断正在执行的任务,从而解决程序顺序执行所带来的问题。 在这里可以看到,任务的运行具有如下几种基本特征: 动态特征:任务是某种类型的一个活动,它由创建而产生,由调度而执行,得不到资源而暂停,最后由运行结束或撤消而消亡,因此,任务具有生命期,是动态产生和消亡的。 并发特征:若干个任务并发执行,互相竞争CPU的控制权,必须用某种调度算法来决定何时停止一个任务的工作,转而为另一个任务提供服务。 独立特征:任务是一个独立的运行单位,有自己必须执行的程序、自己的程序计数器、加工自己的数据、有自己的输入输出。它是系统进行资源分配和调度的独立单位。 异步特征:各个任务按照自己独立的速度向前推进,它们的执行是异步的,有多个任务经常需要同步地协调处理某个控制目标或工作对象。系统需要为它们提供一套通信及同步互斥机制。 结构特征:任务有其运行状态,必须为每一个任务配置一个任务控制块TCB、任务所要执行的程序代码及任务所要加工处理的数据集组成。 3.1.3 实时任务的分解 把一个实时应用问题分解为多个任务,可加快执行的速度,有效地利用系统资源,但是,过度的分解将使系统中有大量的任务,经常进行任务的切换,任务和任务之间,还需进行很多同步和互斥控制,将增加大量的系统服务工作,降低系统的速度和有效性,因此,把一个实时应用问题分解为若干个任务时,还必须进行各种综合平衡和折中,有时,把两个操作合并在一起处理,效果可能要好一些,有时,则必须分开处理,这都必须依赖于实时应用的特征。 任务分解的准则: 1、时间原则,2、 异步原则,3、优先性原则,4、清晰度和可维护性原则。 3.1.4 实时任务的状态 静止状态:任务建立之后,但尚未被启动,不具备运行条件,这时就认为任务处于静止状态。 运行状态:任务正在占用CPU运行。 就绪状态:任务已具备运行条件,准备运行,但CPU被别的任务所占有。 挂起状态:任务因某中原因,无法继续运行。 3.2 实时任务调度 实时任务的调度,就是当系统有多个任务时,如何确定由哪一个任务实际占有CPU。 实时任务调度牵涉到调度的策略和调度的机制问题,不同实时应用系统的用户,可能希望用不同的策略来进行调度,因此,对于实时操作系统来说,最好是把调度策略和调度机制分开。 实时任务调度策略: 3.2.1 速率单调算法 速率单调算法是一个经典的算法,它是针对那些响应和处理周期性事件的实时任务的,它事先为每个这样的实时任务分配一个与事件频率成正比的优先级。例如,周期为20ms的实时任务,优先级为50;而周期为100ms的实时任务,优先级为10,运行时,调度程序总是调度优先级最高的就绪任务。 实现时,就绪队列中的所有任务按照优先级Priority排队,优先级最高的任务排在队首,当处于运行态的任务,由于某种原因挂起时,只要把就绪队列的首元素从就绪队列中取下,使运行任务指针pRunTask指向该元素即可,如果是处于其他状态的任务变为就绪状态,而挂于就绪队列时,则必须对运行任务和就绪队列首元素的任务进行
您可能关注的文档
最近下载
- 2025年河北邯郸市下半年市直事业单位及大学生乡村医生专项计划公开招聘(统一招聘) 工作人员228名笔试参考题库附答案解析.docx VIP
- 8.3法治社会(教学设计)-高中政治统编版必修3.docx VIP
- 加油站大气污染物排放新国标方法验证-气液比.pdf VIP
- 论尼日利亚专利法律制度-毕业论文.doc VIP
- 2025年下半年河北邯郸市市直事业单位及大学生乡村医生专项计划招聘(统一招聘)228人笔试备考题库及答案解析.docx VIP
- 论尼日利亚专利法律制度-国际法专业论文.docx VIP
- 血液透析患者心理问题及护理对策.doc VIP
- 《中国流行音乐》课件.ppt VIP
- 海南自由贸易港建设总体方案考试题库及答案(220道).docx
- 信息安全测评与风险评估-全套PPT课件.pptx
文档评论(0)