2.10调度算法:时间片轮转,优先级,多级反馈队列

一,时间片轮转(RR):

1,算法思想:公平地,轮流地为各个进程服务,让每个进程在一定时间间隔内都可以得到响应

2,算法规则:按照各个进程到达就绪队列的顺序,轮流让各个进程执行一个时间片(如100ms)r如果进程未在一个时间片内执行完,则剥夺处理机,将进程放到就绪队列队尾重新排队

3,用于作业/进程调度:用于进程调度(只有专业放到内存中建立相应的进程后,才能分配处理机时间片)

4,是否可抢占:如果进程未在时间片 内运行完,将强行剥夺处理机的使用权,因此时间片轮转调度算法属于抢占式。由时钟装置发出时钟中断来通知CPU时间片已经到了

5优缺点:

优点:公平,响应快,适用于分时操作系统

缺点:由于高频率的进程切换,因此会有一定的开销,不区分任务的紧急程度

6,是否导致饥饿:不会

7,补充:时间片分配太大就 退化成先来先服务算法,太小用于进程切换的开销就太大了

二,优先级调度算法:

1,算法思想:随着计算机的发展,特别是实时操作系统的出现,越来越多的应用场景需要根据任务的紧急程度来决定处理顺序。

2,算法规则:每个作业/进程都有自己的优先级,调度时选择优先级最高的作业/进程

3,用于作业/进程调度:都适用,甚至还用于I/O调度

4,是否可以抢占:抢占和非抢占式都有,做题时的区别在于,非抢占式只需要在进程主动地放弃处理机时进行调度,而抢占式还需要在就绪队列变化时,检查是否会发生抢占。

5,优缺点:

优点:用优先级区分紧急程度,重要程度,适用于实时操作系统。可以灵活地调整对各种作业/进程的偏好程度。

缺点:如果有源源不断的高优先级进程到来,则会导致饥饿

6,是否导致饥饿:

三,多级反馈队列调度算法:

1,算法思想:对以上算法的折中

2,算法规则:

1)设置多级就绪队列,各级队列的优先级从高到低,时间片从大到小

2)新进程到达时先进入第一级队列,按FCFS原则排队等待被分配时间片,如果用完时间片进程还没有结束,则进入下一级队列的队尾,如果此时已经是在最下级的队列,则重新放到这一级队列的队尾

3)只有第k级队列为空时,才会为k+1级队列队头的进程分配时间片。

3,用于作业/进程调度:用于进程调度

4,是否可以抢占:抢占式算法。在k级队列运行过程中,如果上级的队列中进入了一个新进程,则由于新进程处于高优先级的队列中,因此新进程会抢占处理机,原来运行的进程放回k级队列队尾

5,优缺点:

1)对各类型进程相对公平(FCFS的优点)

2)每个新到达的进程都可以很快得到响应(RR的优点)

3)短进程只需要较少的时间就可以完成(SPF的优点)

4)不必实现估计进程时间(避免用户作假)

5)可以灵活第设置对各类进程的偏好程度(优先级算法的优点)

6,是否导致饥饿:

猜你喜欢

转载自blog.csdn.net/weixin_44841312/article/details/105231261
今日推荐