多处理器和实时调度

  • Post author:
  • Post category:其他


·粒度


·线程调度

多处理器线程调度和处理器分配的四种方案:


1)负载共享:

进程不是分配到一个特定的处理器。系统维护一个就绪进程的全局队列,每个处理器只要空闲就从队列中选择一个线程。


负载分配的三种方案:




①先来先服务(FCFS):

当一个作业到达时,它的所有线程都被连续地放置在共享队列末尾。当一个处理器空闲时,它选择下一个就绪线程执行,直到完成或被阻塞。




②最少线程数优先:

共享就绪队列被组织成一个优先级队列,如果一个作业包含的未调度线程数目最少,则给它指定最高的优先级。具有同等优先级的队列按作业到达的顺序排队。和FCFS一样,被调度的线程一直运行到完成或阻塞。




③可抢占的最少线程数优先:

在最少线程数优先方案上增加抢占机制,刚到的作业如果包含的线程数目少于正在执行的作业,它将抢占这个线程。


2)组调度:

一组相关的线程基于一对一的原则,同时调度到同一组处理器上执行。


3)专用处理器分配:

每个程序被分配给一组处理器,处理器的数目与程序中线程的数目相对。当程序终止时,处理器返回到总的处理器池中,可供分配给另一个程序。


4)动态调度:

在执行期间,进程中的线程数目是可以改变的。

·实时调度


硬实时任务:

指必须满足最后期限的限制,否则会给系统带来不可接受的破坏或者致命的错误。


软实时任务:

软实时任务也有一个与之相关联的最后期限,并希望能满足这个期限的要求,但是这并不是强制的,即使超过了最后期限,调度和完成这个任务仍然是有意义的。


周期性任务:

要求描述成“每隔周期T一次”或者“每隔T个单位一次”


非周期性任务:

有一个必须结束或开始的最后期限,或者一个关于开始时间和结束时间的约束。

实时操作系统的特点


1)可确定性:

在某中程度上是指它可以按固定的、预先确定的时间或时间间隔执行操作。

2)可响应性:


它关注的是在知道中断之后操作系统未中断提供服务的时间

3)用户控制:


用户应该能够区分硬实时任务和软实时任务,并且在每一类中确定相对优先级。实时系统还允许用户指定一些特性,例如使用分页还是进程交换、哪一个进程必须常驻主存、使用何种磁盘算法、不同的优先级的进程各有哪些权限等。

4)可靠性




可靠性必须提供这样一种方式,以继续满足实时最后期限。


5)故障化操作






故障弱化操作指系统在故障时尽可能多的保存其性能和数据的能力






实时调度的四种算法




1)静态表驱动法:

执行关于可行调度的静态分析。分析的结果是一个调度,它用于确定在运行时一个任务何时必须开始执行。



2)静态优先级驱动抢占法

:同样,执行一个静态分析,但是没有制定调度,而且用于给任务指定优先级,使得可以使用传统的优先级驱动的抢占式调度器。



3)基于动态规划调度法

:在运行是动态地确定可行性,而不是在开始运行前离线的确定(静态)。一个到达的任务,只有当能够满足它的时间约束时,才可以被接受执行。可行性分析的结果是一个调度或规划,可用于确定何时分派这个任务。



4)动态尽力调度法:

不执行可行性分析。系统试图满足所有的最后期限,并终止任何已经开始运行但错过最后期限的进程。



版权声明:本文为Ian0903原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。