例题:
有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度(优先数小者优先级高)
有如下作业序列:
给出各作业在内存中运行的起止时间;计算平均周转时间和平均带权周转时间。
题目难点主要在于搞清楚调度算法及作图,后面根据自己的理解分析了一下过程,若有错误,欢迎指出。
分析:
10.00 A到达内存,直接进入就绪态,处理机空闲,进入运行态。
10.20 B到达,由于系统为两道作业的批处理系统,B可进入内存为就绪态。
此时由于B的优先级高于A,且为优先数为基础的抢占式调度,
所以B由就绪态转换为运行态,A由运行态转换为就绪态。
10.30 C到达,AB都在系统中,C进入后备队列进行排队。B继续运行。
10.50 D到达进入后备队列,并且B运行了30分钟已经运行完成。B让出所占用资源。则此时后备队列中有C和D。
由于B让出了占用资源,短作业优先所以D先从后备队列(阻塞态)转换为就绪态。
此时A和D在系统中,A的优先级高。所以A转换为运行态,D处于就绪态。
11.10 A运行完成,让出所占资源。此时后备队列中只有C,C进入内存转换为就绪态。
C的优先级高,C转换为运行态。
12.00 C运行完成,此时只有D处于就绪态,将其转换为运行态。
12.20 D运行完成,结束。
练习:
有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的非抢占式调度(优先数大者优先级高)
有如下作业序列:
给出各作业在内存中运行的起止时间;计算平均周转时间和平均带权周转时间。
上周期中考试的一道题目,由于比较懒,就直接用试卷上的图了吧。。。
分析:
10.00 A到达内存,直接进入就绪态,处理机空闲,进入运行态。
10.20 B到达,由于系统为两道作业的批处理系统,B可进入内存为就绪态。
B的优先级低于A,且为非抢占式调度,
所以B仍为就绪态,A仍为运行态。
10.30 C到达,AB都在系统中,C进入后备队列进行排队。A继续运行。
10.40 A运行完成,让出所占资源。此时后备队列中只有C,C进入内存转换为就绪态。
C的优先级高,C转换为运行态。
10.50 D到达进入后备队列。
11.30 C运行完成,后备等待队列中只有D,D进入内存进入就绪态。
此时B和D为就绪态,D的优先度高,D转换为运行态。
11.50 D运行完成,此时只有B处于就绪态,将其转换为运行态。
12.20 B运行完成,结束。
关于计算,其实很简单的。方法如下:
周转时间:收容+ 运行
后备等待时间:T wi
运行时间:T ri
作业周转时间:T i = 作业完成 时刻 t ei - 作业提交 时刻t si
作业平均周转时间
对Ti求和/总个数
作业带权周转时间 W i =T i /T ri
作业平均带权周转时间
对Wi求和/总个数
解:
TA=40 TB=120 TC=60 TD=60
T=(TA+ TB+ TC+TD)/4=70;
WA=40/40=1 WB=120/30=4 WC=60/50=1.2 WD=60/20=3
W=(WA+WB+WC+WD)/4=2.3
5 条咸鱼在这里躺着
你这个错在优先级的判断了
@匿名
哈哈哈你再好好看看
怎么分清接下来是根据短作业优先还是优先级的高低来进行下一个进程呢