处理机调度算法

抢占式与非抢占式调度算法

为照顾紧迫性作业,使之在进入系统后便获得优先处理,引入了最高优先权优先(FPF)调度算法。它分为两种:

(一)非抢占式优先权算法;

(二)抢占式优先权调度算法。

1.非抢占式优先权算法:系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程便一直执行下去,直至完成。

2.抢占式优先权调度算法:系统同样把处理机分配给优先权最高的进程,使之执行.但在其执行期间,只要又出现了另一个其优先权更高的进程,进程调度程序就立即停止当前进程(原优先权最高的进程)的执行,重新将处理机分配给新到的优先权最高的进程。


 

假定执行作业Job1~Job5,作业号即为其到达顺序,依次在时刻0按照序号1/2/3/4/5进入单处理系统

作业号 执行时间 优先权
Job1 10 3
Job2 1 1
Job3 2 3
Job4 1 4
Job5 5 2

1)采用FCFS,SJF,非抢占优先权调度算法,各作业的执行顺序。

(2)计算每种情况下作业的平均周转时间和平均带权周转时间。

.............................................................................................................

(1)FCFS:执行顺序   Job1→Job2→Job3→Job4→Job5

         SJF:执行顺序   Job2→Job4→Job3→Job5→Job1

(2)FCFS:

                    平均作业周转时间: T=10+11+13+14+19)/5=13.4ms

                    平均带权作业周转时间:W=(10/10+11/1+13/2+14/1+19/5)/5=1.82

        SJF:

                    平均作业周转时间:T=(1+2+4+9+19)/5=7ms

                    平均带权作业周转时间:W=(1/1+2/1+4/2+9/5+19/10)/5=0.43


 

在道数不受限制的多道程序系统中,作业进入系统的后备队列时立即进行作业调度。

作业名 进入后备队列的时刻 执行时间/min 优先数
Job1 8:00 60 1
Job2 8:30 50 2
Job3 8:40 30 4
Job4 8:50 10 3

(1)采用高优先权,SRTF调度算法,各作业的执行顺序。

(2)计算每种情况下作业的平均周转时间和平均带权周转时间。

.........................................................................................................

(1)执行顺序:Job1→Job4→Job3→Job2

(2)SRTF调度算法:

            平均周转时间:T=((60-0)+(150-30)+(100-40)+(70-50))/4=65min

           平均带权周转时间:W=((60-0)/60+(150-30)/50+(100-40)/30+(70-50)/10)/4=0.55

 

posted @ 2019-03-31 13:38  红领巾少年  阅读(1425)  评论(0编辑  收藏  举报