【操作系统】3.3实时调度

1.实时系统

指系统能够在限定的响应时间内提供所需水平的服务。

2. 实现实时调度的基本条件

1)提供必要的信息

为了实现实时调度,系统应向调度程序提供有关任务的下述信息:

就绪时间:该任务成为就绪状态的时间。

开始截止时间、完成截止时间

处理时间:从开始执行到完成所需时间。

资源要求:任务执行时所需的一组资源。

优先级:根据任务性质赋予不同优先级。

2)系统处理能力足够强

3)采用抢占式调度机制

4)具有快速切换机制

3. 常用的几种实时调度算法

a.最早截止时间优先EDF(Earliest Deadline First)算法

1)根据任务的开始截止时间来确定任务的优先级。 截止时间越早,其优先级越高。

  • 系统保持一个实时任务就绪队列
  • 队列按各任务截止时间的早晚排序
  • 调度程序总是选择就绪队列中的第一个任务,分配处理机使之投入运行。

2)新任务产生时,是否等当前程序执行完:

抢占式/非抢占式

3)可能会使作业错过,但可适用于软实时系统

b.最低松弛度优先LLF

根据任务紧急(或松弛)的程度,来确定任务的优先级。任务的紧急程度越高(松弛度值越小),优先级就越高。

松弛度= 截止完成时间 – 还需执行时间 - 当前时间

4.进程切换发生的时机

  • 进程执行完
  • 进程I/O阻塞
  • 新进程出现时可能的抢占
  • 某进程松弛度为0时发生抢占

有的时刻,其他并发的实时任务下一周期未到来,会出现只有一个任务的情况。

猜你喜欢

转载自blog.csdn.net/lml11111/article/details/84145846