1第四章作业管理真题[例题4.1](华中科技大学1996年试题)填空:衡量作业调度算法性能的标准是(),()。分析:评价作业调度算法好坏的标准有CPU利用率,吞吐量、周转时间、平均周转时间、带权平均周转时间等。通常(尤其在批处理系统中)更常用的是平均周转时间和带权平均周转时间。解答:平均周转时间,带权平均周转时间[例题4.2](华中科技大学1996年试题)选择:在下列调度算法中,()是合理的作业调度算法:()是合理的进程调度算法。A先来先服务B循环轮转调度C短作业优先D最长作业优先E优先数调度F后到先服务分析:常见的作业调度策略有:先来先服务,短作业优先,响应比高者优先,优先数调度等;常见的进程调度策略有:进程优先数调度算法(包括可抢占处理机和不可抢占处理机两种情况),循环轮转调度(包括简单循环轮转调度和可变时间片轮转调度)以及多重间片循环调度等。解答:(ACE)(BE)[例题4.3](华中科技大学1998年试题)填空:在作业调度算法中,()调度算法的调度性能要好些。分析:本题是要对常见的几种作业调度算法性能做出比较。响应比高者优先调度算法就是在每调度一个作业投入运行时,计算后备作业表中每个作业的响应比,挑选响应比高者投入运行。响应比定义为作业响应时间与作业运行时间的估计值的比值。响应比高者优先调度能解决“饥饿”现象,是FCFS调度算法和SJF调度算法的一个较好的折衷,它既考虑了作业的到达次序,又考虑了作业的长短。解答:相应比高考优先(HRF)。[例题4.4](北京大学1991年试题)简答题:什么是高级调度、中级调度和低级调度?分析:“三级调度”之间有区别,但更有联系。举例说明,用户以作业的形式向操作系统提交任务,系统完成这一调度即为“高级调度”;作业进入系统,要建立相应的进程,参与CPU的竞争,才能被执行,这里又用到“进程调度”(关于“进程调度”,不光有用户进程,还有系统进程);同时,为了提高系统吞吐量,又出现了“中级调度”的概念。因此,真正理解这三级调度,对于掌握作业管理、调度,是非常重要的。[例题4.5](南京大学1999年试题)某多道程序设计系统配有一台处理器和两台外设IO1、IO2,现有3个优先级由高到低的作业J1、J2和J3都已装入了主存,它们使用资源的先后顺序和占用时间分别是:J1:IO2(30ms),CPU(10ms),IO1(30ms),CPU(10ms).J2:IO1(20ms),CPU(20ms),IO2(40ms)J3:CPU(30ms),IO1(20ms)处理器调度采用可抢占的优先数算法,忽略其他辅助操作时间,回答下列问题:(1)分别计算作业J1、J2和J3从开始到完成所用的时间。(2)3个作业全部完成时CPU的利用率。(3)3个作业全部完成时外设IO1的利用率。[分析]如前说述,本题在多道系统中的三个进程不仅要竞争使用处理机,而且还要竞争使用外设,这使得进程之间的关系更加复杂。另一方面,本题为了突出进程对CPU和外设的使用,弱化了作业调度的处理,因此题目中已假设这三个进程都已经装入主存,从这一点看,又降低了本题的难度。分析过程如图4.2所示(图中水平箭头表示实际执行过程,水平虚线表示等待过程)。2解答:(1)由图4.2可知:J1从开始到完成的时间是0~80msJ2从开始到完成的时间是0~90msJ3从开始到完成的时间是0~90ms(2)三个作业全部完成时CPU的利用率是:%8.77907090101010101020Up(3)三个作业全部完成时外设IO1的利用率是:%8.779070902030201Uio[例题4.6](中国科学院计算技术研究所1996年试题)有5个批处理的作业(A、B、C、D和E)几乎同时到达一个计算中心,估计的运行时间分别为2、4、6、8、10分钟,它们的优先数分别为1、2、3、4、5(1为最低优先级)。对下面的每种调度算法,分别计算作业的平均周转时间。(1)最高优先级优先(2)时间片轮转(时间片为2分钟)(3)FIFO(作业到达顺序为C,D,B,E,A)(4)短作业优先[分析]本题是一个关于作业调度算法的评价的题目。题目给出一个实际的作业序列,由考生模拟作业的调度与执行过程,并给出对于这个作业序列作业调度算法的平均周转时间,从而对比不同调度算法的性能。本题可按照单道系统情况来处理。在题目中指出5个作业几乎同时到达一个计算中心,其含义是任何调度算法(除了FIFO算法外)都可以认为这5个作业是同时到达的,在调度过程中不需考虑其到达的顺序。本题的作业的推进过程为:0(分钟)作业A,B,C,D,E到达作业E优先级最高,被调入系统运行作业A,B,C,D等待系统调度10(分钟)作业E运行完成作业D优先级最高,被调入系统运行作业A,B,C等待系统调度18(分钟)作业D运行完成作业C优先级最高,被调入系统运行作业A,B等待系统调度24(分钟)作业C运行完成作业B优先级最高,被调入系统运行作业A等待系统调度28(分钟)作业B运行完成作业A优先级最高,被调入系统运行30(分钟)作业A运行完成(2)时间片轮转(时间片为2分钟)作业ABCDE同时被调入系统运行,每隔10分钟被调度执行2分钟。因此作业开始结束时间为:0(分钟)作业A,B,C,D,E到达,作业A开始运行,作业B,C,D,E等待2(分钟)作业A运行结束,作业B,D,E等待4(分钟)作业C开始运行,作业B,D,E等待6(分钟)作业D开始运行,作业B,C,E等待38(分钟)作业E开始运行,作业B,C,D等待10(分钟)作业B开始运行,作业C,D,E等待12(分钟)作业B运行结束,作业C开始运行,作业D,E等待14(分钟)作业D开始运行,作业C,E等待16(分钟)作业E开始运行,作业C,D等待18(分钟)作业C开始运行,作业D,E等待20(分钟)作业C运行结束,作业D开始运行,作业E等待22(分钟)作业E开始运行,作业D等待24(分钟)作业D开始运行,作业E等待26(分钟)作业D运行结束,作业E开始运行30(分钟)作业E运行结束(3)FIFO(作业到达顺序为C,D,B,E,A)0(分钟)作业C,D,B,E,A到达作业C最先到达,被调入系统运行作业D,B,E,A等待系统调度6(分钟)作业C运行完成作业D被调入系统运行作业B,E,A等待系统调度14(分钟)作业D运行完成作业B被调入系统运行作业E,A等待系统调度18(分钟)作业B运行完成作业E被调入系统运行作业A等待系统调度28(分钟)作业E运行完成作业A被调入系统运行30(分钟)作业A运行完成(4)短作业优先0(分钟)作业A,B,C,D,E到达作业A运行时间最短,被调入系统运行作业B,C,D,E等待系统调度2(分钟)作业A运行完成作业B运行时间最短,被调入系统运行作业C,D,E等待系统调度6(分钟)作业B运行完成作业C运行时间最短,被调入系统运行作业D,E等待系统调度12(分钟)作业C运行完成作业D运行时间最短,被调入系统运行作业E等待系统调度20(分钟)作业D运行完成作业E运行时间最短,被调入系统运行430(分钟)作业E运行完成解答:(1)最高优先级优先各作业的执行结束时间分别为30、28、24、18、10。作业的平均周转时间为:(min)22nTTi。(2)时间片轮转(时间片为2分钟)各作业的执行结束时间分别为:2、12、20、26、30。作业的平均周转时间为:(min)18nTTi。(3)FIFO(作业到达顺序为C、D、B、E、A)各作业的执行结束时间分别为:30、18、6、14、28。作业的平均周转时间为:(min)2.19nTTi。(4)短作业优先各作业的执行结束时间分别为:2、6、12、20、30作业的平均周转时间为:(min)14nTTi。[例题4.7](北京大学1997年试题)如果系统中所有作业是同时到达的,则使作业平均周转时间最短的作业调度算法是()。解答:短作业优先。[习题4.1](华中科技大学1997年试题)在一批处理系统中,设在一段时间内先后有4个作业到达,它们的提交时间和运行时间由表4.7给出。用先来先服务和短作业优先调度算法进行调度。计算在每一种调度算法下的平均周转时间和平均带权周转时间。并说明哪一种算法的调度性能更好些。(要求写出必要的计算步骤)(单位:小时,以十进制计)表4.7作业的提交时间和运行时间作业号提交时间运行时间18.002.5028.201.2038.300.3049.000.50解答:先来先服务算法下,平均周转时间=3.3小时,带权平均周转时间=5.8短作业优先算法下,平均周转时间=2.9小时,带权平均周转时间=4.37因此,短作业优先算法的调度性能更好些。[习题4.2](西北工业大学2000年试题10分)假定要在一台处理机上执行表4.8所示作业:表4.8作业的提交时间和运行时间作业号提交时间运行时间11032115323414552且假定这些作业在时刻0以1,2,3,4,5的顺序到达。(1)说明分别使用FCFS、RR(时间片=1)、SJF以及非剥夺式优先调度算法时,这些作业的执行情况。(2)针对上述每种调度算法,给出平均周转时间和平均带权周转时间。解答:作业号提交时间运行时间FCFS13.47.26RR(时间片=1)92.44SJF13.26.96非剥夺优先调度12.46.24[习题4.3](南京大学2000年试题)现有两道作业同时执行,一道以计算为主,另一道以输入输出为主,你将怎样赋予作业进程占有处理器的优先级?为什么?提示:两道作业同时运行,一道以计算为主,一道以I/O为主;给它们赋予优先级,使得两作业能够充分利用处理机和其他外设,提高系统的利用率和吞吐率。一般情况下:计算任务占用CPU的时间较短,而I/O任务执行时间较长。因此,可以仿照“短作业优先”原则,赋予以计算为主的作业较高的优先级,而赋予以I/O为主的作业较低的优先级。