单选题
若操作系统中有n个作业Ji(i=1,2…,n),分别需要Ti(i=1,2…,n)的运行时间,采用 (11) 的作业调度算法可以使平均周转时间最短。
【正确答案】
B
【答案解析】[分析] 作业调度主要完成从后备状态到执行状态的转变,以及从执行状态到完成状态的转变。常用的作业调度算法主要有以下几种:
(1)先来先服务(FCFS)。按作业到达的先后次序调度,它不利于短作业。
(2)最短作业优先(SJF)。按作业的估计运行时间调度,估计运行时间短的作业优先调度。它不利于长作业,可能会使一个估计运行时间长的作业迟迟得不到服务。
(3)响应比高者优先(HRN)。综合上述两者,既考虑作业估计运行时间,又考虑作业等待时间,响应比HKN=(估计运行时间+等待时间)/估计运行时间。
(4)定时轮转法(按时间片)。适合作业不定的情况。
(5)优先数法。根据作业的优先级别,优先级高者先调度。
那么,怎样来衡量一个作业调度算法是否满足系统设计的要求呢?对于批处理系统,由于主要用于计算,因而对于作业的周转时间要求较高,从而作业的平均周转时间或平均带权周转时间被用来衡量调度程序的优劣。但对于分时系统和实时系统来说,平均响应时间又被用来衡量调度策略的优劣。
(1)周转时间。作业i的周转时间Ti为Ti=Tei-Tsi。其中Tei为作业i的完成时间,Tsi为作业i的提交时间。对于被测定作业流所含有的n(n≥1)个作业来说,其平均周转时间为:
[*]
一个作业的周转时间说明了该作业在系统内停留的时间,包含两部分,分别为等待时间和执行时间,即Ti=Twi+Tri。这里,Twi主要指作业i由后备状态到执行状态的等待时间,不包括作业进入执行状态后的等待时间;Tri为作业的执行时间。
(2)带权周转时间。带权周转时间是作业周转时间与作业执行时间之比,即Wi=Ti/Tri。对于被测定作业流所含有的n(n≥1)个作业来说,其平均带权周转时间为:
[*]
根据以上分析,从直观上来说,采用最短作业优先的调度算法,可使得系统在同一时间内处理的作业个数最多,从而吞吐量也就大于其他调度方式。