处理机调度——调度算法
完成例题的三个算法的分析,注意书写的时候,先写算法的全称,然后是分析的过程,计算的结果。
1、假设在单道批处理环境下有四个作业,已知它们进入系统的时间、估计运行时间:
应用先来先服务、最短作业优先和最高响应比优先作业调度算法,分别计算出作业的平均周转时间和带权的平均周转时间。
答:(1)调度算法:先来先服务
分析过程:观察四个作业进入的时间,最早是JOB1,根据先来先服务调度算法规则:每个作业或进程都按照它们在队列中等待的时间长短来决定它们是否优先享受服务。可知,JOB1作业先执行,开始时间是8:00,结束时间为10:00,周转时间(=结束时间-进入时间)为120分钟,带权周转时间为(=周转时间/估计运行时间)120/120=1。
接着观察剩下的作业中进入时间最早的是JOB2,则JOB2开始时间为10:00,估计运行时间为50分钟,则结束时间为10:50,周转时间为120分钟,带权周转时间为120/50=2.4。
紧接着剩下的作业中最早进入时间是JOB3,则JOB3开始时间为10:50,估计运行时间为10分钟,则结束时间为11:00;周转时间为11:00-9:00,=120分钟。带权周转时间为12
最后是剩下JOB4,开始时间为11:00,估计运行时间20分钟,则结束时间为11:20,周转时间为90分钟,带权周转时间为90/20=4.5
综上所述,作业平均周转时间为T=112.5分钟,作业平均带权周转时间为W=4.975
(2)调度算法:最短作业优先
分析过程:观察四个作业进入的时间,最早是JOB1,先进行JOB1的运行,开始时间是8:00,结束时间为10:00,周转时间(=结束时间-进入时间)为120分钟,带权周转时间为(=周转时间/估计运行时间)120/120=1。
紧接着在10:00时刻,JOB2,JOB3,JOB4都进入了等待中,根据最短作业优先调度算法规则:选择那些估计需要时间最短的作业投入运行,为他们创建进行和分配资源。
通过观察可以知道JOB3估计运行时间最短,则运行JOB3,开始时间为10:00,结束时间为10:10,周转时间为10:10-9:00,为70分钟,带权周转时间为7
接着是JOB4的估计运行时间最短,开始时间为10:10,结束时间为10:30,周转时间为40分钟,带权周转时间为2。
最后剩下是执行JOB2,开始时间为10:30,结束时间为11:20,周转时间为150分钟,带权周转时间为3.
综上所述,作业平均周转时间为T=95,作业带权平均周转时间为W=3.25
(3)调度算法:最高响应比算法
分析过程观察四个作业,根据最高响应比算法规则:HRN调度策略同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入执行。响应比计算:=(作业在后备状态队列中等待时间+估计运行需要的时间)/估计运行需要的时间。、
JOB1先进入,先执行,开始时间为8:00,结束时间为10:00,周转时间为120分钟,带权周转时间为1.
接着剩下JOB2,JOB3,JOB4,根据最高响应比调度算法的规则,计算10:00此刻,剩下作业的响应比。JOB2=(10:00-8:50=70 + 50)/50,JOB3=(60+10)/10,JOB4=(10+20)/20,可知此时JOB3的响应比最高,先执行,开始时间为10:00,结束时间为10:10,周转时间为70分钟,带权周转时间为4.5
接着剩下JOB2,JOB4,根据最高响应比调度算法的规则,计算10:10此刻,剩下作业的响应比。JOB2=(80+50)/50,JOB4=(20+20)/20,可知此时JOB2的响应比最高,先执行,开始时间为10:10,结束时间为11:00,周转时间为130分钟,带权周转时间为2.6.
最后执行JOB4,开始时间为11:00,结束时间为11:20,周转时间为90分钟,带权周转时间为4.5.
综上所述,作业平均周转时间为T=102.5,作业带权平均周转时间为W=3.775