假设在一台单处理机上执行如下表所示的进程,且假定这些进程在时刻0以1,2,3,4,5的顺序创建。时间单位为时间片,优先级以数值大者为优。 (1)请说明分别使用FCFS、RR(时间片=1)、SPF以及非抢夺式优先级调度算法时,这些进程的执行

admin2012-06-26  55

问题 假设在一台单处理机上执行如下表所示的进程,且假定这些进程在时刻0以1,2,3,4,5的顺序创建。时间单位为时间片,优先级以数值大者为优。
   
    (1)请说明分别使用FCFS、RR(时间片=1)、SPF以及非抢夺式优先级调度算法时,这些进程的执行情况。
    (2)争对上述每种调度算法,给出平均周转时间和平均带权周转时间。

选项

答案(1)对FCFs,因在时刻0按1,2,3,4,5次序创建,因此,调度的次序为1,2,3,4,5。对于RR,按给定的时间片(为1),按先来先服务,其调度次序为1,2,3,4,5,1,3,5,1,5,1,5,1,5,1,1,1,1,1。SPF算法调度的次序为2,4,3,5,1。对于高优先级优先算法,其调度次序为4,1,3,5,2。 (2)计算平均周转时间和平均带权周转时间如下: FIFO算法: 平均周转时间=(10+11+1 3+14+1 9)÷5=13.4。 平均带权周转时间=(10÷10+11÷1+1 3÷2+14÷1+1 9÷5)÷5=7.26 RR算法: 平均周转时间=(19+2+7+4+14)÷5=9.2。 平均带权周转时间=(1 9÷10+2÷1+7÷2+4÷1+14÷5)÷5=2.84 SPF算法: 平均周转时间=(19+1+4+2+9)÷5=7。 平均带权周转时间=(1 9÷10+1÷1+4÷2+2÷1+9÷5)÷5=1.74 优先级算法: 平均周转时间=(11+1 9+1 3+1+18)÷5=1 2.4。 平均带权周转时间=(11÷10+1 9÷1+13÷2+1÷1+18÷5)÷5=6.24

解析 本题是一个简单的进程调度的计算题。预先告知了进程创建的时间,进程预计运行时间和进程的优先级。为便于计算,考虑进程的执行时间时,不考虑其IO的活动状况。由于基本计算比较简单,因此计算的数量稍多。对于FIFO,即先来先服务,简单地按顺序进行运行即可;对于RR,即时间片轮转,按时间片为1进行轮转即可;对于SPF,即短进程优先,只需查看进程的预计运行时间即可,当预计运行时间相同时,按先来先服务处理;对于高优先级优先调度算法,按优先级调度即可,优先级相同按先来先服务调度,注意优先级表示法,有的情况下优先数越大优先级越高,有的反之,优先数越小优先级越高。周转时间的计算按下式:周转时间一运行时间+等待时间。
    平均周转时间=∑周转时间/进程数。
    带权周转时间=周转时间÷运行时间。(注意:实际这已经不是时间单位了,只是保留这种称呼)
    平均带权周转时间=∑带权周转时间÷进程数。
转载请注明原文地址:https://kaotiyun.com/show/7yxi777K
0

最新回复(0)