[计算机软件及应用]OS第三章1.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]OS第三章1

基于时钟中断的抢占式优先权调度算法 当前进程 实时进程 调度时间 实时进程要求调度 时钟中断到来时 抢占式调度算法 立即抢占式优先权调度算法 新到达的外部事件提出中断时,只要当前进程不处于临界区就可以抢断,使处理机响应请求中断的紧迫任务 该算法可以保证非常快的响应 适用于强硬的硬实时系统 立即抢占式优先权调度算法 当前进程 实时进程 调度时间 实时进程要求调度 实时进程抢断当前进程并立即执行 常用实时调度算法 最早截止时间优先算法(EDF) 最低松弛度优先算法(LLF) 最早截止时间优先算法EDF 设计思想 根据任务开始截止时间确定任务优先级,截止时间越早,优先级越高,其在实时任务就绪队列中也越接近队首;调度程序每次均从该队列中选择第一个任务投入运行 用于抢占式和非抢占式调度方式 最早截止时间优先算法EDF(非抢占) 1 3 4 2 开始截止时间 任务执行 1 1 2 2 3 3 4 4 任务到达 t 1 3 4 2 1 3 4 2 1 2 3 4 EDF算法用于非抢占调度方式,适用于非周期实时任务 开始截止时间 任务执行 任务到达 最早截止时间优先算法EDF(抢占) A1 A2 A3 A4 A5 B1 B2 A1 A2 A3 A4 A5 B1 B2 到达时间、执行时间和最后期限 A和B都是周期性任务,A每隔20秒启动一次,每次执行10秒,B每隔50秒启动一次,每次执行25秒,试用固定优先级和抢占式EDF调度算法分析执行次序。 B1 最后期限 时间 t/ms 固定优先级调度(A优先级高) 0 10 40 20 30 50 60 70 80 90 100 B1 A1 A2 A3 A4 A5 B2 A2 最后期限 A1 最后期限 A3 最后期限 A4 最后期限 A5 最后期限 B1 最后期限 到达时间、执行时间和最后期限 0 10 40 20 30 50 60 70 80 90 100 时间 t/ms A1 B1 A2 B1 A3 B2 A4 B2 A4 A5 B2 B1 错过 A1最后期限 A5,B2 A1,B1到达 A2到达 A3到达 A4到达 A5到达 B2到达 A2最后期限 A3最后期限 A4最后期限 B1 最后期限 时间 t/ms 0 10 40 20 30 50 60 70 80 90 100 B1 A1 A2 A3 A4 A5 B1 A2 最后期限 A1 最后期限 A3 最后期限 A4 最后期限 A5 最后期限 B1 最后期限 到达时间、执行时间和最后期限 0 10 40 20 30 50 60 70 80 90 100 时间 t/ms B1 A2 A3 B2 A4 A5 B2 固定优先级调度(B优先级高) A1 错过 A3 A4 错过 A5,B2 A1,B1到达 A2到达 A3到达 A4到达 A5到达 B2到达 A2最后期限 B1最后期限 B1 最后期限 时间 t/ms 0 10 40 20 30 50 60 70 80 90 100 B1 A1 A2 A3 A4 A5 B2 A2 最后期限 A1 最后期限 A3 最后期限 A4 最后期限 A5 最后期限 B1 最后期限 到达时间、执行时间和最后期限 抢占式EDF 0 10 40 20 30 50 60 70 80 90 100 时间 t/ms A1 B1 A2 B1 A3 A4 B2 A5 B2 A1,B1到达 在t=0时,A1和B1同时到达,由于A1的截止时间比B1早,故调度A1执行; 在t=10时,A1完成,又调度B1执行; 在t=20时,A2到达,由于A2的截止时间比B1早,B1被中断而调度A2执行; 在t=30时,A2完成,又重新调度B1执行; 在t=40时,A3又到达,但B1的截止时间要比A3早,仍应该让B1继续执行直到完成(t=45),然后再调度A3执行; 在t=55时,A3完成,又调度B2执行。 A1最后期限 A2最后期限 B1最后期限 A3最后期限 A4最后期限 A2到达 A3到达 A4到达 A5到达 B2到达 LLF算法 基本思想:根据任务紧急(或松弛)程度,来确定任务的优先级。任务的紧急程度越高,为该任务赋予的优先级越高,以使之优先执行。 例如:一个任务在200ms时必须完成,而它本身所需的运行时间就有100ms,因此,调度程序必须在100ms之前调度执行,该任务的紧急程度(松弛程度)为100ms。又如,另一任务400ms时必须完成,它本身运行需要150ms,则其松弛程度为250ms。 实现该算法时,要求系统中有一个按松弛度排序的实时任务队列,松弛度最低的任务排在队列最前面,调度程序总是选择队列中的队首任务执行。 松弛度=必须完成时间-其本身的运行时间-当前时间 LLF算法举例 在实时系统中,有两个周期性实时任务A和B,任务

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档