实时调度
什么是实时系统?
- 指系统能够在限定的响应时间内提供所需水平的服务。
- 指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。
实时任务: 具有明确时间约束的计算任务,有软/硬,随机/周期性之分。
硬实时任务: 必须满足任务对截止时间的要求
软实时任务: 联系着一个截止时间,但不严格,可偶尔错过,不会对系统造成大的影响。
实现实时调度的基本条件
- 提供必要的信息
- 系统处理能力足够强
- 采用抢占式调度机制
- 具有快速切换机制
实时调度算法的分类
-
根据实时任务的性质:
硬实时调度算法
软实时调度算法; -
按调度方式:
非抢占调度算法
抢占调度算法; -
根据调度时间不同:
静态调度算法
动态调度算法。 -
多处理机环境下:
集中式调度
分布式调度
常用的几种实时调度算法
- 最早截止时间优先EDF(Earliest Deadline First)算法
- 最低松弛度优先LLF(Least Laxity First)算法
多处理机系统中的调度
- 多处理器系统的类型
1)紧密耦合MPS和松弛耦合MPS
2)对称MPS和非对称MPS - 进程分配方式
1)对称MPS中的进程分配方式
2)非对称MPS中的进程分配方式 - 进程(线程)调度方式
1)自调度(Self-Scheduling)方式
2)成组调度(Gang Scheduling)方式
3)专用处理器(Dedicated Processor Assignment)方式