楚雄师范学院2011-2012学年第一学期期中考试卷答案课程《操作系统》考试时间:120分钟班级姓名学号题号一二三四总分得分评卷人一、填空题(下面每小题只有唯一正确的一个答案,请将正确答案的填在下面相应的横线上。每小题1分,共15分)1.OS是一组控制和管理计算机软件和硬件资源,合理的对各类作业进行调度,以及方便用户使用的程序的集合。2.OS的有效性可包含提高系统资源利用率和提高系统吞吐量两个方面的含意。3.OS中的地址映射,是实现物理地址和逻辑地址_之间关系的转换。4.进程实体由程序块、数据块和PCB三部分构成。5.处理机调度有三种,所有OS都具有的调度是其中的低级调度。6.死锁的产生有四个必要条件,其中的互斥条件、不剥夺条、部分分配、环路条件。二、选择题:1.操作系统是一种(B)A通用软件B系统软件C应用软件D软件包2.操作系统的(D)管理部分负责对进程进行调度。A主存储器B控制器C运算器D处理机3.操作系统是对(C)进行管理的软件。A软件B硬件C计算机资源D应用程序4.从用户的观点看,操作系统是(A)A用户与计算机之间的接口B控制和管理计算机资源的软件C合理地组织计算机工作流程的软件D由若干层次的程序按一定的结构组成的有机体5.操作系统中采用多道程序设计技术提高CPU和外部设备的(A)A利用率B可靠性C稳定性D兼容性6.操作系统的功能是进行处理机的管理、(B)管理、设备管理及信息管理。A进程B存储器C硬件D软件7.操作系统是计算机系统不可缺少的组成部分,是为了提高计算机的(B)和方便用户使用计算机而配备的一种系统软件。A速度B利用率C灵活性D兼容性8.下面关于操作系统的叙述正确的是(A)A批处理作业必须具有作业控制信息B分时系统不一定都具有人机交互功能C从响应时间的角度看,实时系统与分时系统差不多D由于采用了分时技术,用户可以独占计算机的资源9.下面对操作系统不正确的描述是(D)A操作系统是系统资源管理程序B操作系统是为用户提供服务的程序C操作系统是其他软件的支撑软件D操作系统是系统态程序的集合10.下面关于并发性的叙述中正确的是(C)A并发性是指若干时间在同一时刻发生B并发性是指若干事件在不同时刻发生C并发性是指若干事件在同一时间间隔内发生D并发性是指若干事件在不同时间间隔内发生11.操作系统的基本类型主要有(B)A批处理系统、分时系统及多任务系统B实时操作系统、批处理操作系统及分时操作系统C单用户系统、多用户系统及批处理系统D实时系统、分时系统和多用户系统12.如果分时操作系统的时间片一定,那么(B),则响应时间越长。A用户数越少B用户数越多C内存越少D内存越多13.分时操作系统通常采用(B)策略为用户服务。A可靠性和灵活性B时间片轮转C时间片加权分配D短作业优先14.(C)操作系统允许用户把若干个作业提交给计算机系统。A单用户B分布式C批处理D监督15.在(A)操作系统控制下,计算机系统能及时处理由过程控制反馈的数据并作出响应。A实时B分时C分布式D单用户16.设计实时操作系统时,首先应考虑系统的(B)。A可靠性和灵活性B实时性和可靠性C灵活性和可靠性D优良性和分配性17.P,V操作是(A)A两条低级进程通信原语B两组不同的机器指令C两条系统调用命令D两条高级进程通信原语18.若P,V操作的信号量S初值为2,当前值为-1,则表示有(C)个等待进程。A0B2C1D319.操作系统通过(B)对进程进行管理。A进程B进程控制块C进程启动程序D进程控制区20.在多个进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。所谓的临界区是指(D)A一个缓冲区B一段数据C同步机制D一段程序21.操作系统中引入进程概念后并不能够(C)A提高资源利用率B正确描述程序的执行程序C提高用户的编程能力D使处理器与外设之间有效地并行工作E允许一个程序被多个用户调用22.在进程管理中,当(C)时,进程从阻塞状态变为就绪状态。A进程被进程调度程序选中B等待某一事件C等待的事件发生D时间片用完23.下面哪一种进程状态的转换是不可能的(A)A阻塞→运行B就绪→运行C运行→就绪D阻塞→就绪24.下面的叙述中,正确的是(B)A线程是比进程更小的能独立运行的基本单位B引入线程可提高程序并发执行的程度,从而进一步提高系统吞吐量C线程的引入增加了程序执行时的时空开销D一个进程一定包含多个线程25.在下面的叙述中,正确的是(D)A引入线程后,处理机只在线程间切换B引入线程后,不会引起进程间的切换C线程的切换,不会引起进程的切换D线程的切换,可能引起进程的切换26.若系统中只有用户级线程,则处理机调度单位是(B)A线程B进程C程序D作业27.进程和线程,(C)A线程是进程中可独立执行的子任务,一个进程可以包含一个或多个线程,一个线程可以属于一个或多个进程B线程又称为轻型进程,因为线程都比进程小C多线程技术具有明显的优越性,如速度快、通信简便、设备并行性高等D由于线程不作为资源分配单位,线程之间可以无约束地并行执行28.进程的上下文包括如下各项,除了(C)A用户打开文件表BPCBC中断向量D核心栈29.下面关于线程的叙述,不正确的是(D)A一般地说,线程自己不拥有资源(也需一点必不可少的资源),但它可以使用其所属进程的资源B由于同一进程中的多个线程具有相同的地址空间,因此它们之间的同步和通信也易于实现C进程创建与进程创建调度时空开销不相同D进程创建与线程创建的时空开销相同30.在下面的叙述中,不正确的是:(无正确答案)A一个进程可创建一个或多个线程B一个线程可创建一个或多个线程C一个进程可创建一个或多个进程D一个线程可创建一个或多个进程31.作业的交互控制方式又称(A)A联机控制方式B脱离控制方式C批处理控制方式D自动控制方式32.关于作业调度和进程调度的错误说法是(A)A作业调度是进程调度的一部分,包含在进程调度中B作业调度是进程的前提,为进程调度做准备C作业调度是和进程调度相互配合才能实现多道作业的并行执行D进程调度是作业调度相互配合才能实现多道作业的并行执行33.批处理操作系统在作业运行过程中,(C)的内容反映了作业的运行情况,并且是作业存在的唯一标志。A作业状态B作业类型C作业控制块D作业优先级34.在批处理系统中,用户的作业是由(D)组成的。A程序B程序+数据C程序+作业说明书D程序+数据+作业说明书35.作业调度与进程调度的主要区别是(D)A作业调度比进程调度频繁B两种调度的算法完全不同C两种调度的性能指标完全不同D进程调度比作业调度频繁36.用户通过终端使用计算机系统控制作业的执行方式称为(C)控制方式。A真脱机B假脱机C联机D自动转换37.若为一个作业建立一个进程,则为了使长、短和交互式作业都能得到及时的运行,应该用的调度算法是(C)AFCFSBSJFC多级反馈队列D优先权法38.作业的周转时间为(A)A作业完成时间-作业提交时间B作业开始时间+作业执行时间C作业等待时间D作业执行时间39.作业调度算法的选择常考虑因素之一是尽可能地使系统有最高的吞吐率,为此应(B)。A不让处理机空闲B能够处理尽可能多的作业C使各类用户都满意C不使系统过于复杂40.在各种作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是(D)A先来先服务B优先数C最高响应比优先D短作业优先三、简答题(每题2.5分,共5分)1.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?答:多道程序是作业之间自动调度执行、共享系统资源,并不是真的同时执行多个作业,它是微观上串行,宏观上并行。而多重处理系统配置多个cpu,能真正地同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。2.简述进程和程序的区别和联系。答:(1)进程是程序及其数据在计算机上的一次活动程序,它属于一种动态的概念。进程的运行实体是程序,离开程序进程没有存在的意义,从静态角度看,进程是由程序,数据和进程控制块PCB三部分组成的。而程序是一组有序的指令集合,属于一种静态的概念。(2)进程是程序的一次执行过程,它是动态地创建和消亡的,具有一定的生命期,是暂时存在的;而程序是永久存在的,可长期保存。(3)一个进程可执行一个或几个程序,一个程序也可以构成多个进程。3.假设有4道作业,它们的提交时刻及执行时间如表:计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间和平均带权周转时间,并指出它们的调度顺序。(1)先来先服务算法。按照作业提交的顺序执行,即先来先服务的方式进行调度处理。作业1提交的时间最早先执行,执行结束后,依次作业号提交时间/h执行时间/h110.002210.201310.400.5410.500.3为2,3,4直到执行完毕。分析可得表。作业号提交时间执行时间开始执行时间执行结束时间周转时间110.00210.0012.002.00210.20112.0013.002.80310.400.513.0013.503.10410.500.313.5013.803.30平均周转时间T=1/4*(2.00+2.80+3.10+3.30)平均带权周转时间W=1/4*(2.00/2+2.80/1+3.10/0.5+3.30/0.3)=5.25h(2)最短作业优先算法。选择那些估计需要执行时间最短的作业投入执行,为它们创建进程和分配资源,在10:00时只有作业1得以提交,所以执行作业1,当执行完毕后,时间为12:00,此该作业2,作业3和作业4都可以提交。所以,根据算法执行作业4,依次执行作业3和作业2直到完毕。分析得表:作业号提交时间执行时间开始执行时间执行结束时间周转时间110.00210.0012.002.00210.20112.8013.803.60310.400.512.3012.802.40410.500.312.0012.301.80平均周转时间T=1/4(2.00+3.60+2.40+1.80)=2.45h平均带权周转时间W=1/4(2.00/2+3.60/1+2.40/0.5+1.80/0.3)=3.85h先来先服务调度算法,调度顺序为1,2,3,4,平均周转时间为3.73h,带权平均周转时间为5.25h.最短作业优先调度算法,调度顺序为1,4,3,2,平均周转时间为2.45h,带2.有个寺庙,庙中有个小和尚和老和尚若干人,有一只水缸,由小和尚提水入缸给老和尚饮用。水缸可容10桶水,水取自同一口水井中。水井径窄,每次仅能容一只水桶取水,水桶总数为3个。若每次只能入缸一桶水和取缸中一桶水,而且还不可以同时进行。试用一种同步工具写出小和尚和老和尚入水、取水的活动过程。3.答:本题为两个进程共享两个缓冲区的问题。首先考虑本题有几个进程:从井中取水后向缸中倒水此为连续动作,为一个进程;从缸中取水为另一个进程。其次考虑信号量,有关互斥的有:水井和水缸。水井一次仅能一个水桶进出,水缸一次入、取水为一桶。分别设互斥信号量为:mutex1和mutex2控制互斥。有关同步问题为:三个水桶无论从井中取水还是入出水缸都是一次一个,应为它设信号量count,抢不到水桶的进程只好等待。水缸满时不可入水,设信号量为empty,控制水量,水缸空时不可出水,设信号量full,控制出水量。设置信号量初值:mutex1:=mutex2:=1;count:=3;empty:=10;full:=0;Parbegin﹛小和尚打水进程:BeginP(empty);P(count);P(mutex1);从井中打水;V(mutex1);P(mutex2);倒水入缸;V(mutex2);V(count);V(full);End老和尚取水进程:BeginP(full);P(count);P(mutex2);从缸中取水;V(mutex2);V(count);V(empty);End}Parend.3.有5个任务A,B,C,D,E它们的到达时间分别是0,2,4,5,7预计它们的运行时间为3,6