2.2.5 调度算法(二)
在上一节中我们讲了三种调度算法,分别是先来先服务算法,短作业优先算法,高相应比优先算法,今天我们再来学习三种算法,分别是时间片轮转算法,优先级调度算法,多级反馈队列算法。
目录
2.2.5.1 时间片轮转算法(RR, Round-Robin)
2.2.5.1 时间片轮转算法(RR, Round-Robin)
时间片轮转算法:按照各进程到达就绪队列的顺序,轮流让各个进程执行一个时间片(如 100ms)。若进程未在一个时间片内执行完,则剥夺处理机,将进程重新放到就绪队列队尾重新排队。我们需要注意的是时间片轮转算法应用的对象是进程,因为只有进程才会被分配时间片而作业并不会。时间片轮转算法是一种抢占式的算法,由时钟装置发出中断信号来通知CPU时间已到。
有一组进程,如下图所示,请用时间片轮转算法给出进程的执行顺序,时间片分别设为2以及5 。
时间片为2时,进程到达情况如下:
0时刻:只有P1这一个进程所以P1上处理机运行。
2时刻:P2到达,被存放在就绪队列的队头,刚好P1时间片完于是P1插入到队尾,P2上处理机运行。
4时刻:P3到达,P2时间片用完被插入到P3之后,但此时队头中为P1,于是将P1上处理机运行。
5时刻:P4到达,但是此时P1时间片还没完于是将P4插入到队尾
6时刻:P1的时间片完,下处理机并插入到队尾,处于队头的P3进行调度。
7时刻:虽然P3的时间片还没完但P3已经结束了运行,所以队头的P2发生调度