实时调度

什么是实时系统?

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

2:指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。

什么是实时任务?

定义:具有明确时间约束的计算任务,有软/硬,随机/周期性之分。

硬实时任务:必须满足任务对截止时间的要求

软实时任务:联系着一个截止时间,但不严格,可偶尔错过,不会对系统造成大的影响。有一个截止时间但可以超过

实时调度的基本条件

系统需要向调度程序提供相关任务的信息;系统处理能力需要足够的强;采用抢占调度机制;可以快速切换

系统需要向调度程序提供相关任务的信息:

就绪时间:成为就绪状态的时间

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

处理时间:从开始到完成所需的时间

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

优先级:任务性质不同赋予不同的优先级

系统处理能力需要足够的强:

处理能力不强导致某些实时任务不能得到及时处理

需要一种条件满足处理系统的处理能力:

系统中有M个周期性的硬实时任务,处理时间为Ci,周期时间表示为Pi,

单机系统中必须满足条件

∑( Ci / Pi )≤1   M个相加

多处理机系统:

∑( Ci / Pi )≤N   N为处理机数

采用抢占调度机制:

硬实时任务:广泛采用抢占机制;

小的实时系统:能预知任务的开始和截至时间,可以简化调度所花费的系统开销。

可以快速切换:

对外部终中断的快速响应能力

快速分优先配任务能力。

几种实时调度算法

常用的算法中介绍两种实时算法:最早截止时间优先EDF算法和最低松弛度LLF算法

最早截止时间优先EDF

截至时间越早优先级越高

最低松弛度优先LLF

根据人任务紧急的程度确定任务的优先级

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

随着时间的推进,差值越来越小,任务越来越紧迫

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容