操作系统同步练习之--作业管理(答案)一、单项选择题「分析]第5题要求在多道程序设计的环境中采用响应比高者优先调度算法选择作业,只要计算出三个等待的作业的响应比并按高低排序就是作业被选中的次序。由于本题在10:00开始选择作业,因而三个作业J1、J2、J3的响应比分别为1、1.5、2,故作业被选中的次序应该是J3、J2、J1。如果是一个单道系统,每次只能选择一个作业装人主存储器。当把J3先装人主存储器后必须在J3完成后才去再选择,这时要重新计算响应比后再决定应选择哪个作业。希望读者在审题时一定要看清题意条件,否则会误判而失分。[题解]1.B2.A3.C4.C5.D6.B7.C8.D二、多项选择题1.A,C,E2.A,B,C,D,E3.B,C,E4.A,B,C三、填空题1.作业2.作业步3.作业控制4.批处理方式,交互方式5.作业控制说明书6.作业控制语言7.自动,脱机8.输入井9.后备10.作业,进程11.现有的尚未分配的资源能满足被选作业的需求12.周转13.「分析」作业最短的周转时间是到达系统后立即被选中执行。本题有三个作业同时到达系统,但在单道系统中每次只能选一个作业执行,在前一个作业完成后才可让下一个作业执行。由于本题没有给出什么时间开始调度作业,因此,有两个作业至少要分别等待1小时和2小时后才能执行。这样,这三个作业的周转时间至少分别为1小时,2小时,3小时。于是,平均周转时间就至少为2小时。「题解」2小时。14.输出井15.操作控制命令16.菜单,窗口17.窗口18.活动窗口19.用户注册,作业控制20.注册21.注销22.前台,后台23.终端四、问答题1.[题解]程序是具有一定功能的一组语句(或一组指令)的集合。进程是程序在数据集合上的一次执行过程。作业是用户要求计算机系统处理的一个计算问题。作业步是作业执行时需经历的加工步骤。通常,一个作业要经过若干个作业步才能得到执行结果。每个作业步都要有一个相应的程序来执行完成,即一个作业步的执行就是一个进程,故一个作业的执行依次由若干个进程来完成。在多道程序设计系统中,有多个作业同时被装人到主存储器中,即有多个进程同时存在。这些进程可能是相同的程序(例如,编译程序)在不同的数据集上执行,也可能是不同的程序在各自的数据集上执行,即程序与进程不是—一对应的,不同的进程可能对应相同的程序。2.「题解]设计作业调度程序时,既要考虑用户的要求又要有利于系统效率的提高,故设计时应遵循的原则有:(1)公平性。对用户公平且使用户满意。(2)资源使用效率。尽可能使系统资源都处于忙碌状态,提高资源的利用率。(3)吞吐量。在单位时间内为尽可能多的作业服务,保证计算机系统的吞吐能力。3.[题解]作业调度算法的选择应兼顾用户要求和系统效率。对每一个用户来说,都希望自己的作业尽快地被选中执行;但对计算机系统来说,应有利于提高系统效率。然而,任何一个算法都不能既有利于系统又兼顾到每一个用户在具体选择调度算法时可根据系统设计目标而有所侧重。4.[题解]作业调度是从输人井中选择作业装人主存储器;进程调度是从就绪进程队列中选择一个就绪进程,让它占用处理器。作业调度选中一个作业后,按该作业的作业控制说明书中第一个作业步的要求创建该作业的第一个进程,进程状态为就绪并将其列人就绪队列中。然后,当进程调度选中该进程时则该进程就可占用处理器运行,该作业也就开始执行。每当一个作业步完成后,系统就根据下一个作业步的要求创建进程,直到作业执行结束。所以,一个作业要执行的话必须经过两级调度,第一级为作业调度,第二级为进程调度。只有被作业调度选中的作业才有可能去占用处理器;只有被进程调度选中后作业进程才能真正地占用处理器。作业调度与进程调度相互配合才能保证作业的执行。5.[分析]计算时间短的作业优先算法总是优先选择计算时间短的作业执行,因而在输人井中的作业等待时间也最短,从而作业的周转时间最短,故平均周转时间也最短。「题解」假定在输人并中有n个作业在等待处理,如果按计算时间短的作业优先算法确定了这n个作业被选中的次序为J1、J2、……、Jn,它们需计算的时间分别为t1、t2、……、tn,则显然有:t1=<t2=<……=<tn于是,在忽略调度所需花的时间的情况下,各作业的周转时间Ti(i=1,2,……,n)如下:作业名周转时间J1T1=t1J2T2=t1+t2……JiTi=t1+t2+…+ti……JnTn=t1+t2+…+tn这几个作业的平均周转时间为:由于t1=t2=……=<tn,故每个Ti(i=1,2,…,n)都是最小值,它们之和当然也是最小值,因而平均周转时间也为最短。6.[题解]响应比最高者优先算法综合考虑了作业的等待时间和需要的计算时间,根据响应比的定义:响应比=等待时间/计算时间显然,计算时间短的作业容易得到较高的响应比,能被优先选中,有利于缩短平均周转时间而提高系统的吞吐能力。然而,一个需计算时间长的作业在等待了相当长的时间后,也将获得较高的响应比,于是不会因为源源不断地有计算时间短的作业进人系统而被无限期地推迟执行,面向用户具有一定的公平性。7.[题解]因为终端作业是由用户通过终端以联机交互方式控制执行的,为使用户满意,应对用户请求的每一个命令及时响应并处理。而批处理作业是由系统根据用户预先书写的作业控制说明书的要求控制作业的执行,不需用户联机操作。让终端作业优先执行可减少联机用户的等待时间,及时响应用户请求,使用户满意。8.[分析]解答本题时应注意如下几个问题:第一,系统采用的是多道程序设计技术,但没有限定并行工作的道数,因此,只要当前尚未分配的资源可以满足在输入井中等待的某些作业的要求时,作业调度可以按照给定的算法从中选择一个或多个作业装人主存储器;第二,采用可变分区方式管理主存储器,但没给出主存空间的分配算法,因而,只要有合适的空间就可分配,题中还规定可用移动技术来合并分散的空闲区;第三,对磁带机采用静态分配;第四,进程调度采用可抢占的最高优先级调度算法,即对已被装人主存储器的作业而言优先级高的作业可抢占处理器执行;第五,虽然作业需要使用磁带机,但题意中已提示忽略磁带机和调度所花的时间,所以,解题时不必考虑外围设备的启动二八D中断等复杂情况,只需把它们当作纯计算型的作业;第六,由于没有规定什么时候开始进行作业调度,故在一般情况下只要输入井中有等待处理的作业就可按选定的算法去选择满足必要条件的作业。根据本题的要求列表分析如下:在10:3O时,作业(3)进人输入井,但因主存空闲空间虽然有40K却因被分成各为15K和25K的两个区域而不能用来装人作业(3)。当移动作业(2)后可把作业(3)装人主存储器,由于作业(3)的计算时间比作业(2)短,按规定的进程调度算法作业(3)可抢占处理器,致使作业(2)暂停运行。当作业(3)结束时已有作业(4)和(5)在输人井等待处理,它们都满足作业调度的必要条件,但由于作业(5)的计算时间短于作业(4),故先把作业(5)装人主存储器。现主存储器中有作业(2)和作业(5)两个作业,因作业(5)的优先级高于作业(2),故作业(2)的运行仍将被推迟。当作业(5)结束后作业调度又可选作业(4)进人主存储器,同样地,作业(4)抢先于作业(2)运行。可见,作业调度选中作业的次序为:(1)、(2)、(3)、(5)、(4),作业(2)是最后一个结束的作业且被移动过。「题解](1)作业调度选中作业的次序依次为作业(1)、(2)、(3)、(5)、(4),最后一个执行结束的是作业(2)。(2)为了把作业(3)装人主存储器而移动了作业(2)。(3)每个作业的周转时间可列表于下:五个作业的平均周转时间为:(25+80+10+40+15)/5=170/5=34(分钟)