多处理器和实时调度

本文介绍了多处理器环境中线程调度的四种主要方案,包括负载共享、组调度、专用处理器分配和动态调度,并详细阐述了每种方案的特点及适用场景。此外,还讨论了实时调度中的硬实时和软实时任务的区别,以及四种实时调度算法。
摘要由CSDN通过智能技术生成
·粒度

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

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

负载分配的三种方案:

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

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

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

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

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

4)动态调度:在执行期间,进程中的线程数目是可以改变的。


·实时调度

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

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

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

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

实时操作系统的特点
1)可确定性:在某中程度上是指它可以按固定的、预先确定的时间或时间间隔执行操作。
2)可响应性: 它关注的是在知道中断之后操作系统未中断提供服务的时间
3)用户控制: 用户应该能够区分硬实时任务和软实时任务,并且在每一类中确定相对优先级。实时系统还允许用户指定一些特性,例如使用分页还是进程交换、哪一个进程必须常驻主存、使用何种磁盘算法、不同的优先级的进程各有哪些权限等。
4)可靠性可靠性必须提供这样一种方式,以继续满足实时最后期限。

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

实时调度的四种算法

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

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

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

4)动态尽力调度法:不执行可行性分析。系统试图满足所有的最后期限,并终止任何已经开始运行但错过最后期限的进程。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值