处理机调度---实时调度

实时系统:
  1. 指系统能够在限定的响应时间内提供所需水平的服务。
  2. 指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。

一、实现实时调度的基本条件

  1. 提供必要的信息
    实时系统中对截止时间的要求很高,要在规定的截止时间内完成,分为开始截止时间和完成截止时间
    *执行时间=完成截止时间-开始截止时间
    *就绪时间:该任务成为就绪状态的时间
    *处理时间:从开始执行到完成所需时间
    *资源要求:任务执行时所需的一组资源
    *优先级:根据任务性质赋予不同优先级

  2. 系统处理能力足够强
    处理能力不足可能会出现某些实时任务不能得到及时处理,导致难以预料的后果。

  3. 采用抢占式调度机制

  4. 具有快速切换机制

    ==》关于实时系统是否可以调度的问题:
    n个任务 处理时间/发生周期(周期实时任务)总和小于等于1即可执行

二、实时调度算法的分类

  1. 非抢占式调度算法
    (1)非抢占式轮转调度算法
    (2)非抢占式优先调度算法
  2. 抢占式调度算法
    (1)基于时钟中断的抢占式优先级调度算法
    (2)立即抢占的优先级调度算法(考虑临界区)

三、常用的几种实时调度算法

  1. 最早截止时间优先EDF算法
    根据任务的开始截止时间来确定任务的优先级,截止时间越早,优先级越高
    (可用于抢占式/非抢占式)
    a.非抢占式调度方式用户非周期实时任务(可能会出现错过,用于软实时系统)
    b.抢占式调度方式用于周期实时任务(硬实时)

  2. 最低松弛度优先LLF算法
    根据任务的紧急(或松弛)程度确定优先级,越紧急,优先级越高
    松弛度=截止完成时间-还需执行时间-当前时间
    松弛度为0时抢占

===》进程切换发生的时机

  • 进程执行完
  • 进程I/O阻塞
  • 新进程出现时可能的抢占
  • 某进程松弛度为0时发生抢占
    有的时刻,其他并发的实时任务下一周期未到来,会出现只有一个任务的情况。

例题:
在这里插入图片描述

四、优先级倒置

解释:高优先级进程(或线程)被低优先级进程延迟或阻塞

例:
P1,P2,P3优先级由高到低,若P3先来,并且会访问临界资源m,此时P1来了会发生抢占,但由于P1也要访问临界资源m,此时P1不会执行,会让P2执行,直到P3执行完之后才会让P1执行

解决方式:

  1. 抢占:让P3继承P1的优先级,那么P2就不会执行,P3执行完毕P1执行

  2. 不抢占:P3执行不完不允许被强占,那么上述情况就不会发生
    但,若P3的执行时间很长,还是会存在P1持续等待的情况

处理器调度中的实时调度算法主要有两种,即 Earliest Deadline First (EDF, 最早截止期优先) 和 Rate Monotonic Scheduling (RMS, 率单调调度)。 **Earliest Deadline First (EDF):** EDF算法是一种抢占式的实时调度策略,主要用于保证硬实时系统的响应时间。它的核心思想是按照任务的截止时间(Deadline)进行排序,总是优先执行截止时间最近的任务。在系统空闲时,EDF会挑选截止时间最早的任务运行。如果当前任务未在截止时间前完成,即使新任务到达也可能被强行中断并切换到截止时间更紧迫的任务上。EDF算法可以确保所有具有剩余时间大于零的任务都能在截止时间之前得到处理,因此对于最严格的实时需求非常适用。 **Rate Monotonic Scheduling (RMS):** 相比之下,RMS算法是一种非抢占式(一旦开始就不被抢占)的调度策略,适用于软实时或资源受限的系统。它根据任务的执行速率(处理周期)来进行调度,保证每个任务在其预定的时间间隔内至少有一次运行机会。RMS规则是按照任务的执行速率从高到低排序,优先级高的任务先获得处理器时间。由于其简单性和公平性,RMS常用于操作系统中作为默认的调度策略,但对于那些对截止时间敏感的硬实时任务可能不如EDF灵活。 **相关问题--:** 1. EDF和RMS的主要区别是什么? 2. 在实时任务系统中,何时会选择使用RMS而不是EDF? 3. EDF算法如何确保任务的截止时间满足?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值