第七章 作业管理与接口习题及答案 一、填空题
1.作业是由 ① 、 ② 和 ③ 组成的。 【答案】①程序、②数据、③作业说明书
【解析】从用户的角度看,作业是在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所作的有关该次业务处理的全部工作。从系统的角度看,作业是一个比程序更广泛的概念,它由程序、数据和作业说明书组成。系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。 2.批处理系统中,是以 ① 为单位把程序和数据调入 ② 以便执行。
【答案】①作业,②内存
【解析】从系统的角度看,作业是批处理系统抢占内存的单位,而分时系统不存在作业的概念。
3.处理机调度算法中:“相应比高者优先”其相应比是采用公式: 相应比= 确定的。
【答案】响应比=(等待时间+计算时间)/计算时间 【解析】本算法的思想是对“计算时间”短的小作业优先处理;对“等待时间”长的作业,即使该作业“计算时间”不是很短,也可得到较高的响应比,获得运行的机会。 二、单项选择题
1.在一个以批处理为主的系统中,为了保证系统的吞吐率,总是要力争缩短用户作业的 。
(A)周转时间 (B)运行时间 (C)提交时间 (D)完成时间 【答案】(A)
【解析】周转时间是衡量批处理系统的重要指标。 2.作业在系统中存在与否的唯一标志是 。 (A)源程序 (B)作业说明书 (C)作业控制块 (D)目的程序 【答案】(C)
【解析】系统是根据作业控制块 JCB来感知作业的存在的。 3.作业调度从处于 ① 状态的队列中选取适当的作业投入运行。从作业提交给系统到作业完成的时间间隔叫做 ② 。 ③ 是指作业从进入后备队列到被调度程序选中时的时间间隔。
(A)运行 (B)提交 (C)后备 (D)完成 (E)停止 (F)周转时间 (G)响应时间 (H)运行时间 (I)等待时间 (J)触发时间 【答案】①(C),②(F),③(I) 4.在批处理系统中,周转时间是 。
(A)作业运行时间 (B)作业等待时间和运行时间之和
(C)作业的相对等待时间 (D)作业被调度进入内存到运行完毕的时间 【答案】(B) 【解析】周转时间是作业提交给系统到作业完成的时间间隔,因此其周转时间是作业等待时间和运行时间之和。
5.一个作业处于运行状态,则所属该作业的进程可能处于 状态。 (A)运行 (B)就绪
(C)等待 (D)(1)或(2)或(3) 【答案】(D)
【解析】一个作业处于运行状态,只说明该作业已进入到内存中,并以进程形式存在于系统中,属该作业的进程可能处于运行、就绪或等待状态。 6.作业调度算法中“短作业优先”调度算法使得 。
(A)每个作业的等待时间较短 (B)作业的平均等待时间最短 (C)系统效率最高 (D)长作业的等待时间较短 【答案】(B)
【解析】这种算法使作业的平均等待时间最短,从而提高系统的吞吐能力。而对于有些计算时间长的作业可能其等待时间会较长,尤其是计算时间较长的作业其等待时间往往会变得较长。
7.一个进程处于等待状态,则该进程所属的作业存在于( )中。 (A)内存 (B)外存 (C)高速缓存 (D)寄存器 【答案】(A)
【解析】一个作业只有被调度选中进入内存,才会产生进程;不论进程处于何种状态,该作业都是在内存中的。 三、多项选择题
1. 下列叙述中,符合批处理作业特征的有_________。 (A)其中包含有作业说明书 (B)具有就绪状态
(C)运行过程和用户没有交互作用 (D)其中包含有程序和数据
(E)用户可以通过键盘输入程序运行过程需要的数据 【答案】ACD 【解析】采用批处理控制方式的作业,用户把对作业执行的控制意图用作业控制语言写成一份说明书,连同该作业的源程序和初始数据一起输入到计算机系统,系统就可按用户说明书来控制作业的执行。作业执行过程中用户不能干预,一切由系统自动地控制作业的执行。
因此,选项(A)、(C)、(D)是正确的。“就绪状态”是进程具有的状态,作业没有该状态,选项(B)是错误的;由于运行过程和用户没有交互作用,所以“用户可以通过键盘输入程序运行过程需要的数据”(选项E)是错误的。 2.一个作业从进入系统到运行结束,经历的状态包括_________。 (A)进入状态 (B)就绪状态 (C)后备状态 (D)运行状态 (E)完成状态 【答案】ACDE
【解析】一个作业从进入系统到运行结束,一般要经历进入、后备、运行和完成四个阶段,相应地,作业亦有进入、后备、运行和完成四种状态。因此,选项(A)、(C)、(D)、(E)是正确的。
注意,作业的运行状态是指作业被调入内存运行,不意味着占用处理机。 3.可用来的作为作业调度的算法有_________。
(A)先来先服务算法 (B)短作业优先算法 (C)时间片轮转算法 (D)最高响应比优先算法 (E)优先数调度算法 【答案】ABDE
【解析】常用的作业调度算法有: (1)先来先服务算法
该算法是一种较简单的调度算法,它是按照作业进入输入井的先后次序来挑选作业,先进入的作业优先被挑选。但要注意,不是先进入的一定先被选中,只有满足必要条件的作业才可能被选中。 (2)短作业优先算法
这种算法要求用户预先估计自己作业所需要计算的时间,并在作业说明书中说明。调度时优先选择计算时间短且资源能得到满足的作业。这种算法能降低作业的平均周转时间,从而提高系统的吞吐能力。 (3)最高响应比优先算法
最高响应比优先算法综合考虑等待时间和计算时间,把响应比定义为: 响应比=等待时间/计算时间
可以看出计算时间短的作业响应比较高,所以能被优先选中;但等待时间长的作业响应比也会较高,这样就不会因不断地有小作业进入输入井而使大作业无限制地被推迟。
(4)优先数调度算法
系统为每一作业确定一个优先级,优先级高的作业优先被选取。优先级的确定可根据作业的缓急程度、估计计算时间、作业等待时间、资源申请情况、付费情况等因素综合考虑,既照顾用户要求,也考虑系统效率。 (5)均衡调度算法
根据各作业对不同资源的申请进行调度,其目标是使系统中的各类资源能均衡利用,避免资源忙闲不均的情况。
选项(C)给出的“时间片轮转算法”是进程调度算法,不适于作业调度。 所以,本题应该选择(A)、(B)、(D)、(E)。 4.下列有关作业的叙述中,_________是正确的。 (A)作业一旦被作业调度选中,即占有了CPU
(B)批处理系统对作业的控制意图是靠作业说明书来实现的,用户不能控制作业的执行
(C)作业调度程序从处于等待状态的队列中选取作业投入运行 (D)作业一旦被作业调度选中,该作业即进入内存
(E)允许多个用户在各自的终端上同时交互地使用计算机的系统称为分时操作系统
【答案】BDE
【解析】作业提交后进入作业队列,处于后备状态;作业调度程序从处于后备状态的队列中选取作业,作业一旦被作业调度选中,该作业即进入内存。
因此,选项(A)、(C)是错误的,应该选择(B)、(D)、(E)。
四、是非判断题
1.假设有三道作业,它们的提交时间及运行时间由下表给出: 作业 提交时间(小时) 执行时间(小时) 1 10:00 2 2 10:20 1 3 10:40 0.5 采用非多道程序设计,并且采用先来先服务和短作业优先算法,它们的调度性能对这个作业流来讲完全一样。() 【答案】错误。
【解析】采用先来先服务算法的平均周转时间T≈2.38(小时);而采用短作业优先算法的平均周转时间 T≈2.33(小时)。可以看出短作业优先的调度性能较好些。
2.在各种作业调度算法中,短作业优先调度算法会使每个作业的等待时间最短()
【答案】错误
【解析】这种算法能降低作业的平均等待时间,从而提高系统的吞吐能力。而对于有些计算时间长的作业可能其等待时间会较长。
3.作业一旦被作业调度选中,即占有了CPU。 ( ) 【答案】错误
【解析】一个作业一旦被作业调度选中,说明作业处于运行状态,该作业已进入到内存中,并以进程形式存在于系统中,属该作业的进程可能处于运行、就绪或等待状态,不一定占有CPU。 五、简答题
1.简述作业在系统中有哪几种状态。 【解析】
一个作业从进入系统到运行结束,一般要经历进入、后备、运行和完成四个阶段,相应地,作业亦有进入、后备、运行和完成四种状态。
(1)进入状态:作业的信息正在从输入设备上预输入到输入井,此时称作业处于进入状态。
(2)后备状态:当作业的全部信息都已输入,且由操作系统将其存放在输入井中,此时称作业处于后备状态。系统将所有处于后备状态的作业组成后备作业队列,等待作业调度程序的调度。
(3)运行状态:一个后备作业被作业调度程序选中,分配了必要的资源,调入内存运行,称作业处于运行状态 。
(4)完成状态:当作业正常运行完毕或因发生错误非正常终止时,作业进入完成状态。
2.用最高响应比优先调度算法完成下表:
作业 提交时刻(时) 运行时间(小时) 开始时刻 完成时刻 周转时间 1 8:00 2.0 8:00 2 8:50 0.5 3 9:00 0.1
4 9:50 0.2
【解析】
作业 提交时刻(时) 运行时间(小时) 开始时刻 完成时刻 周转时间 1 8:00 2.0 8:00 10:00 120分钟 2 8:50 0.5 10:06 10:36 106分钟 3 9:00 0.1 10:00 10:06 66分钟 4 9:50 0.2 10:36 10:48 58分钟
3.对于下列三个作业,采用不可抢占的调度方式:先来先服务(FIFO)和短作业优先(SJF)调度算法,分别计算它们的平均周转时间。 JOB 到达队列时间 需运行时间 1 0.0 8 2 0.4 4 3 1.0 1
同样对以上这三个作业,若调度在一个时间单位以后才开始,再采用SJF算法调度,其平均周转时间又怎样。 【解析】
(1)先来先服务(FIFO): 作业1的周转时间:8-0=8
作业2的周转时间:12-0.4=11.6 作业3的周转时间:13-1.0=12
所以平均周转时间=(8+11.6+12)/3 ?10.53 短作业优先(SJF): 作业1的周转时间:8-0=8 作业2的周转时间:9-1.0=8 作业3的周转时间:13-0.4=12.6 所以平均周转时间=(8+8+12.6)/3 ?9.53
(2)若调度在一个时间单位以后才开始,采用短作业优先(SJF): 作业1的周转时间:14-0=14 作业2的周转时间:6-0.4=5.6 作业3的周转时间:2-1.0=1
所以平均周转时间=(14+5.6+1)/3 ?6.87 六、综合应用题
1.在一个多道程序设计系统中,不采用移动技术的可变分区方式管理内存。设用户空间为100K,主存空间采用最先适应分配算法,采用计算机时间短的作业优先算法管理作业。今有如所示的作业序列,请分别列出各个作业的开始执行时间、完成时间和周转时间(忽略系统开销)。 作业名 进入输入井时间 需计算时间 主存需求量 JOB1 8.0时 1小时 20K
JOB2 8.2时 0.6小时 60K JOB3 8.4时 0.5小时 25K JOB4 8.6时 0.4小时 20K
【参考答案】
作业名 装入主存时间 开始执行时间 执行结束时间 周转时间 JOB1 8.0时 8.0时 9.0时 1小时 JOB2 8.2时 9.0时 9.6时 1.4小时 JOB3 9.6时 10.0时 10.5时 2.1小时 JOB4 8.6时 9.6时 10.0时 1.4小时 分析:
由于JOB1、JOB2、JOB3、JOB4是依次到达输入井的,所以JOB1、JOB2进入内存;但在8.4时,由于JOB3主存需求量25K,系统不能满足其需求,因此不能进入内存;在8.6时,JOB4进入内存。
作业JOB1,8.0时进入内存后便开始执行,执行结束时间为9.0时,释放内存,但仍然不能满足JOB3主存需求量;接下来JOB2开始执行,从9.0时至9.6时,然后释放内存,此时JOB3进入内存;JOB4自9.6时开始执行至10.0时结束;最后JOB3从10.0时开始执行至10.5时结束。
每个作业的周转时间=“执行结束时间”―“进入输入井时间” 平均周转时间=(1+1.4+2.1+1.4)/4=1.975(小时)