操作系统期末复习——课时4 处理机调度(二)

一、时间片轮转算法(RR)

1、算法思想:时间片轮转算法(RR)

公平地、轮流地为各个进程服务,让每个进程在一定时间间隔内都可以得到响应。

2、算法规则:

按照各进程到达就绪队列的顺序,轮流让各个进程执行一个时间片。
若进程未到一个时间片内执行完,则剥夺处理机,将进程重新放到就绪队列队尾重新排队。

3、适用情况:

可用于进程调度。

4、是否抢占?

若进程未能在时间片内运行完,将被强行剥夺处理机使用权,因此时间片轮转调度算法属于抢占式算法。由时钟装置发出时钟中断来通知CPU时间片已到。

5、优缺点

优点:公平;响应快,适用于分时操作系统。
缺点:不能区分任务的紧急程度,需要进程切换,消耗较大。

二、高相应比优先算法(HRRN)

1、算法思想:高响应比优先调度算法(Highest Response Ratio Next,HRRN)

综合考虑作业或进程的等待时间和要求服务的时间。

2、算法规则:

在每次调度前先计算各个作业或进程的响应比(优先级),选择响应比最高的作业或进程为其服务。
响应比(Rp)= (等待时间+要求服务时间)/ 要求服务时间=响应时间 / 要求服务时间

3、适用情况:

可用于作业调度即进程调度

4、优缺点:

优点:综合考虑了等待时间和运行时间,较好的实现了折中。
缺点:每次调度前都要计算响应比,会增加系统的开销。
注意:不会导致饥饿现象。

练习题(为了便于理解,做个题吧)
概念:响应比(Rp)= 作业周转时间 / 作业处理时间=1+(等待时间/处理时间)
作业等待时间=前一个作业的完成时间-后一个作业的提交时间(提交时间不等于开始时间)
例题 求下列表格中作业的调度次序,并求平均周转时间(单位:小时)
在这里插入图片描述调度次序:1324

作业1先运行
在这里插入图片描述
作业1运行完成后,根据其他作业的响应比决定运行顺序

作业2的响应比:1+(10.0-8.3)/0.5=4.4

作业3的响应比:1+(10.0-8.5)/0.1=16

作业4的响应比:1+(10.0-9.0)/0.4=3.5

作业3响应比最高,然后运行作业3
在这里插入图片描述

注:周转时间=完成时间-提交时间(作业)

重新计算响应比

作业2的响应比:1+(10.1-8.3)/0.5=4.6

作业4的响应比:1+(10.1-9.0)/0.4=3.75

作业2响应比最高,运行作业2
在这里插入图片描述最后运行作业4
在这里插入图片描述平均周转时间T=(2.0+2.3+1.6+2.0)/4=1.975(小时)

三、多级反馈队列调度算法

1、算法思想:对其他调度算法的折中权衡

2、算法规则:

(1)设置多个就绪队列。各级队列优先级从高到低,时间片从小到大。
(2)每个队列都采用FCFS调度算法。
(3)按队列优先级调度。只有当第1~i-1队列均空时,才会调度第i队列中的进程。
在这里插入图片描述

3、适用情况:

可用于进程调度

4、类型:

属于抢占式的算法。

5、优缺点:

优点:用优先级区分紧急程度,运行于实时OS
缺点:可能导致饥饿(低优先级进程的饥饿)。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_52030647/article/details/130628431