作业调度程序从处于 (27) 状态的队列中选取适当的作业投入运行。 (28) 指把作业提交给系统到作业完成的时间间隔。 (29) 是指作业从进 (27) 队列到被调度程序选中时的时间间隔:假定把下列4个作业同时提交系统并进入 (27) 队列,当使用最短作业优先的调度算法时,作业的平均等待时间是 (30) ;当使用最高优先数优先的调度算法时,作业的平均周转时间是 (31) 。作业运行时间表如表5-8所示。
表5-8 作业运行时间表
作业 | 所需运行时间(小时) | 优先级 |
1 | 2 | 4 |
2 | 5 | 9 |
3 | 8 | 1 |
4 | 3 | 7 |
31()
A.4.5小时
B.4.25小时
C.10.5小时
D.10.25小时
E.10.75小时
F.4.75小时
参考答案:D
解析:
本题考查知识点为作业调度,下面对作业调度的重点进行简要说明,了解这些知识之后,题目就迎刃而解了。
一个作业从交给计算机系统到执行结束退出系统,一般都要经历提交、后备、执行和完成四个状态。其状态转换如图5-5所示。
[*]
(1)提交状态。作业由输入设备进入外存储器(也称输入井)的过程称为提交状态。处于提交状态的作业,其信息正在进入系统。
(2)后备状态。当作业的全部信息进入外存后,系统就为该作业建立一个作业控制块(JCB)。
(3)执行状态。一个后备作业被作业调度程序选中分配了必要的资源并进入了内存,作业调度程序同时为其建立了相应的进程后,该作业就由后备状态变成了执行状态。
作业调度:的主要功能是按照某种原则从后备作业队列中选取作业进入内存,并为作业做好运行前的准备工作和作业完成后的善后处理工作。作业从后备队列到被调度程序选中时的时间间隔称为等待时间。作业调度的步骤如下:
(1)根据JCB属性建立JCB控制表格,记录作业各种工作状态;
(2)采用选定的调度算法,从后备作业中选出一道或多道作业投入运行;
(3)为被选中的作业做好运行前的准备工作,包括创建进程及为相应的进程分配系统资源:
(4)作业运行结束后的善后处理工作。比如状态登记、资源回收、输出处理、作业的撤销。
常用的作业调度算法有先来先服务、最短作业优先法、响应比高者优先和优先数法。
(1)先来先服务(FCFS)。按作业到达的先后次序调度,它不利于短作业。
(2)短作业优先(SJF)。按作业的估计运行时间调度,估计运行时间短的作业优先调度。它不利于长作业,可能会使一个估计运行时间长的作业迟迟得不到服务。
(3)响应比高者优先(HRN)。综合上述两者,既考虑作业估计运行时间,又考虑作业等待时间,响应比是:HRN=(估计运行时间+等待时间)/估计运行时间。
(4)优先级调度。根据作业的优先级别,优先级高者先调度。
此外,我们还需了解几个重要概念。
1.作业的周转时间
作业的周转时间是指从作业提交到作业完成之间的时间间隔。作业i的周转时间
Ti可用公式表示如下:
Ti=Tei-Tsi
其中Tei为作业i的完成时间,Tsi为作业i的提交时间。
2.平均周转时间
平均周转时间是指多个作业的周转时间的平均值。n个作业的平均周转时间了可用公式表示如下:
T=(T1+T2+…+Tn)/n
3.带权周转时间
带权周转时间是指作业周转时间与作业实际运行时间的比。作业i的带权周转时间 Wi可用公式表示如下:
Wi=Ti/Tri其中Ti为作业i的周转时间,Tri为作业i的实际运行时间。
4.平均带权周转时间
平均带权周转时间是指多个作业的带权周转时间的平均值。n个作业的平均带权周转时间W可用公式表示如下:
W=(W1+W2+…+Wn)/n
根据表5-5给出的数据,若采用最短作业优先的调度算法,则作业的执行顺序为: 1→4→2→3,作业1的等待时间为0,作业4的等待时间为2,作业2的等待时间为5,作业3的等待时间为10。这样平均等待时间为:
(0+2+5+10)÷4=4.25小时
若采用最高优先数优先的调度算法,则作业的执行顺序为:2→4→1→3,作业2的周转时间为5,作业4的周转时间为8,作业1的周转时间为10,作业3的周转时间为18。这样平均周转时间为:
(5+8+10+18)÷4=10.25小时