时间片轮转调度算法的计算 您所在的位置:网站首页 算皮带轮转怎么算 时间片轮转调度算法的计算

时间片轮转调度算法的计算

2024-07-13 14:58| 来源: 网络整理| 查看: 265

在分时系统中,最简单最常用的就是基于时间片轮转调度算法,时间片轮转调度算法是非常公平的处理机分配方式,让就绪队列的每个进程每次仅运行一个时间片。

1.时间片轮转调度算法的基本原理

   在时间片轮转调度算法中,系统根据先来先服务的原则,将所有的就绪进程排成一个就绪队列,并且每隔一段时间产生一次中断,激活系统中的进程调度程序,完成一次处理机调度,把处理机分配给就绪队列队首进程,让其执行指令。当时间片结束或进程执行结束,系统再次将cpu分配给队首进程。

2.进程切换时机

      时间片尚未结束,进程已经执行结束,立即激活调度程序,将其从就绪队列中删除,在调度就绪队列的队首进程执行,开启新的时间片(计数器置0)。

    时间片已经结束,进程尚未结束,立即激活进程调度程序,未执行完的进程放到就绪队列的队尾。

3.时间片大小的确定

   在轮转调度算法中时间片的大小对系统的性能有很大的影响。若时间片很小,将有利于短作业,其能够在这个时间片内完成。时间片过小意味着会进行频繁的进程切换,这将增大系统的开销。若时间片选择太长,时间片轮转调度算法将退化为先来先服务的进程调度算法。

下面通过一个例题来解释下如何来计算RR调度算法中的完成时间、周转时间、带权周转时间

 

进程名

A

B

C

D

平均

到达时间

0

1

2

3

 

服务时间

30

5

25

10

RR

Q=5

完成时间

 70

 10

 65

 35

 

周转时间

 70

 9

 63

 32

 

带权周转时间

 2.3

 1.8

 2.55

 3.2

 

RR

Q=10

完成时间

 65

 15

 70

 35

 

周转时间

 65

 14

 68

 32

 

带权周转时间

 2.2

 2.8

 2.75

 3.2

 

对于时间片为Q=5我们画一个坐标轴来计算他们的完成时间,那么我们从这4个进程知道这个坐标轴的大小为30+5+25+10=70

0      5     10     15     20      25    30    35   40    45     50    55     60     65     70

     A     B     C    D        A       C     D    A      C     A     C       A          C             A

(1)因为RR首先要按照FCFS算法来一次进行调度,所以首先是ABCD,由于B的服务时间是5所以在第一个时间片就可以完成,所以在第二个时间片中只有ACD三个进程在执行,由于D服务时间为10所以在第二个时间片完成的时候D也执行完成,剩下的就剩下AC二个进程,所以一次按照这个顺序下去,便可以得到它们的完成时间。

知道了完成时间接下来我们就可以求周转时间和带权周转时间 周转时间=完成时间-到达时间

带权周转时间=周转时间/服务时间

(2)对于时间片Q=10我们同样可以算出各进程的完成时间

0    10    15     25    35   45   55   65    70

    A     B      C       D     A     C     A     C

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有