0


时间片轮调转算法

我们先说定义

时间片轮调转算法是一种进程调度算法,它是操作系统用来决定在多个进程之间分配 CPU 时间的方法。

这种算法通过将 CPU 时间分割成较小的时间段,称为 "时间片",并将这些时间片分配给不同的进程来工作。每个进程在完成一个时间片后,就会被暂停,让其他进程有机会使用 CPU。当一个进程的时间片用完后,它会排队等候下一个时间片。

这种算法的优点在于,它能够公平地分配 CPU 时间,让所有进程都有机会得到执行。同时,它也能有效地防止一个进程占用太多的 CPU 时间,导致其他进程得不到足够的执行时间。

我们直接通过例题讲解

例题:

在计算机系统的就绪队列中,依次排列4个数值计算进程P1、P2、P3、P4,运行时间分别为23ms、17/ms、 46ms、 24ms。假定按照时间片轮转法进行处理机调度,时间片为20ms,各进程运行期间不会进入等待状态,进程切换开销忽略不计,每个进程的响应时间为首次等待时间。

(1)画出进程的执行次序图;(2)计算平均等待时间;(3)计算平均响应时间。

答案:

对于这个时间片为30我们画一个坐标轴(其他的也可以)来计算他的完成时间,那我们知道这四个进程的坐标大小为(23+17+46+24)=110。

甘特图解析

本题的时间片是以20ms为单位,所以我们就以20为单位划第一轮,p1运行只能运行20ms,到p2运行,p2比较特殊,在一个时间片内就可以解决。所以就是在那加上运行时间就加上17ms,p3运行时运行20ms,p4同理(时间先加20ms)。一轮结束后,p1第一轮还欠了3ms(不知道这种说法对不对)就加上3ms,变成80ms。p2完成后就不管,p3加上20还不够,继续p4,p4那只需要4ms。加上后将之前p3的未完成的继续加上。

平均等待时间

首先计算P1的等待时间:可以由次序图看出,P1是第一个执行的进程,所以最开始等待为0。但是我们可以看到P1的运行时间为23ms这里只有20ms就切换到了P2了,直到第77ms才切换为P1。然后这里执行了3ms就结束了。所以P1的等待时间为77-20=57ms然后计算P2的等待时间:P2的运行时间只有17ms小于20ms在一个时间片中是可以运行完的。所以我们看到在第20ms的时候执行p2在第37ms的时候执行p3同时结束了p2。所以p2的等待时间为20ms

p3最开始的等待时间37,第二段等待时间80-57=23,加上最后一段等待的4等于64,p4类似。

平均响应

平均响应时间=第一次响应的时间点/进程数

标签: windows linux

本文转载自: https://blog.csdn.net/m0_62467948/article/details/128598623
版权归原作者 jasun_zhang 所有, 如有侵权,请联系我们删除。

“时间片轮调转算法”的评论:

还没有评论