实时操作系统最重要的特性是,当进程需要CPU时,立即响应实时进程。因此,实时操作系统的调度程序必须支持抢占式的基于优先级的算法。回顾基于优先级的调度算法,根据它的重要性分配每个进程以优先级;比那些被认为不重要的任务更重要的任务被分配到更高的优先级。如果调度器还支持抢占,那么如果当前可运行的具有更高优先级的进程则可以抢占当前正在CPU上运行的进程。

在6.3.3中详细讨论了基于优先级的调度算法,6.7展示了Linux、Windows和Solaris操作系统的软实时调度特性。每一个系统都分配了实时处理最高调度优先级。例如,Windows有32个不同的优先级级别。最高级别---优先级值从16到31 ----是为实时进程保留的。Solaris和Linux有类似的优先级方案。

请注意,提供优先级、基于优先级的调度器只保证软实时功能。硬实时系统必须进一步保证实时任务符合他们的最后期限要求,并且做出这样的保证需要额外的调度功能。在本节的剩余部分中,我们将讨论适用于硬实时系统的调度算法。

然而,在详细研究各个单独的调度器之前,我们必须定义要调度的进程的某些特性。首先,这些进程被认为是周期性的。也就是说,它们需要在恒定间隔(期间)的CPU。处理时间、截止日期和周期的关系可以表示为 0 ≤ t ≤ d ≤ p.周期任务的速率为1/p。图6.15说明随着时间的推移,进程周期的执行。调度程序可以利用这些特性并根据进程的截止日期或速率要求分配优先级。

这种调度形式的不同之处在于,进程可能不得不向调度器宣布它的截止日期要求。然后,使用一种称为 admission-control的算法的技术,调度器执行两项任务之一。它要么承认过程,保证进程将按时完成,或者如果不能保证任务将在最后期限前完成,则拒绝该请求。

图6.15周期任务

results matching ""

    No results matching ""