资源预览内容
第1页 / 共52页
第2页 / 共52页
第3页 / 共52页
第4页 / 共52页
第5页 / 共52页
第6页 / 共52页
第7页 / 共52页
第8页 / 共52页
第9页 / 共52页
第10页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第1章操作系统概述二、选择操作系统是一种B。C.应用软件D.软件包C.计算机资源 D.应用程序CPU和外部设备的4。A.通用软件B.系统软件2 .操作系统是对C进行管理的软件。A系统软件B.系统硬件3 .操作系统中采用多道程序设计技术,以提高A.禾I用率B.可靠性C.稳定性D,兼容性4 .计算机系统中配置操作系统的目的是提高计算机的上和方便用户使用。A.速度B.利用率C.灵活性D.兼容性5 .C.操作系统允许多个用户在其终端上同时交互地使用计算机。A.批处理B,实时C.分时D.多道批处理6 .如果分时系统的时间片一定,那么_D_,响应时间越长。A.用户数越少B.内存越少C.内存越多D.用户数越多问答1 .什么是“多道程序设计”技术?它对操作系统的形成起到什么作用?答:所谓“多道程序设计”技术,即是通过软件的手段,允许在计算机内存中同时存放几道相互独立的作业程序,让它们对系统中的资源进行“共享”和“竞争”,以使系统中的各种资源尽可能地满负荷工作,从而提高整个计算机系统的使用效率。基于这种考虑,计算机科学家开始把CPU存储器、外部设备以及各种软件都视为计算机系统的“资源”,并逐步设计出一种软件来管理这些资源,不仅使它们能够得到合理地使用,而且还要高效地使用。具有这种功能的软件就是“操作系统”。所以,“多道程序设计”的出现,加快了操作系统的诞生。2 .怎样理解“虚拟机”的概念?答:拿操作系统来说,它是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。从用户的角度看,计算机配置了操作系统后,由于操作系统隐蔽了硬件的复杂细节,用户会感到机器使用起来更方便、容易了。这样,通过操作系统的作用使展现在用户面前的是一台功能经过扩展了的机器。这台“机器”不是硬件搭建成的,现实生活中并不存在具有这种功能的真实机器,它只是用户的一种感觉而已。所以,就把这样的机器称为“虚拟机”。3 .对于分时系统,怎样理解“从宏观上看,多个用户同时工作,共享系统的资源;从微观上看,各终端程序是轮流运行一个时间片”?答:在分时系统中,系统把CPU时间划分成许多时间片,每个终端用户可以使用由一个时间片规定的CPU时间,多个用户终端就轮流地使用CPU这样的效果是每个终端都开始了自己的工作,得到了及时的响应。也就是说,“从宏观上看,多个用户同时工作,共享系统的资源”。但实际上,CPU在每一时刻只为一个终端服务,即“从微观上看,各终端程序是轮流运行一个时间片”。第2章习题解答一、填空1 .进程在执行过程中有3种基本状态,它们是运行程、就绪程和阻塞程。2 .系统中一个进程由程序、数据集合和进程控制块(PCB)三部分组成。3 .在多道程序设计系统中,进程是一个处态概念,程序是一个巫态概念。4 .在一个单CPU系统中,若有5个用户进程。假设当前系统为用户态,则处于就绪状态的用户进程最多有4_个,最少有_0个。注意,题目里给出的是假设当前系统为用户态,这表明现在有一个进程处于运行状态,因此最多有4个进程处于就绪态。也可能除一个在运行外,其他4个都处于阻塞。这时,处于就绪的进程一个也没有。5 .总的来说,进程调度有两种方式,即不可剥夺方式和剥夺方式。6 .进程调度程序具体负责中央处理机(CPU)的分配。7 .为了使系统的各种资源得到均衡使用,进行作业调度时,应该注意CPU忙碌作业和J/O忙碌作业的搭配。8 .所谓系统调用,就是用户程序要调用操作系统提供的一叱子功能。9 .作业被系统接纳后到运行完毕,一般还需要经历后备、运行和字成三个阶段。10 .假定一个系统中的所有作业同时到达,那么使作业平均周转时间为最小的作业调度算法是J作业优先调度算法。11 .在引入线程的操作系统中,所谓“线程”,是指进程中实施处理机调度和分配的某本单位。12 .有了线程概念后,原来的进程就属于是单线程的讲程情形。二、选择1 .在进程管理中,当q时,进程从阻塞状态变为就绪状态。B.进程等待某一事件发生D.时间片到A。C.运行B.进程的执行需要 CPUD.进程是指令的集合A.进程被调度程序选中C.等待的事件出现2 .在分时系统中,一个进程用完给它的时间片后,其状态变为A.就绪B.等待D.由用户设定3 .下面对进程的描述中,错误的是_D_。A.进程是动态的概念C.进程具有生命周期4 .操作系统通过旦对进程进行管理。A.JCBB.PCBC.DCTD.FCB5.一个进程被唤醒,意味着该进程_D_。A.重新占有CPUB.优先级变为最大C.移至等待队列之首D.变为就绪状态6 .由各作业JCB形成的队列称为_C。B.阻塞作业队列D.运行作业队列A。A.就绪作业队列C.后备作业队列7 .既考虑作业等待时间,又考虑作业执行时间的作业调度算法是A.响应比高者优先B.短作业优先C.优先级调度D.先来先服务8 .作业调度程序从处于DL状态的队列中选取适当的作业投入运行。C.等待B.响应时间D.运行时间C.系统调用D. I/O指令A.就绪B.提交D.后备9 .A是指从作业提交系统到作业完成的时间间隔。A.周转时间C.等待时间10 .计算机系统在执行_C时,会自动从目态变换到管态A.P操作B.V操作11 .进程状态由就绪变为运行,是由于_C引起的。A.中断事件B.进程状态变迁C.进程调度D.为作业创建进程三、问答1 .在多道程序设计系统中,如何理解“内存中的多个程序的执行过程交织在一起,大家都在走走停停”这样一个现象?答:在多道程序设计系统中,内存中存放多个程序,它们以交替的方式使用CPU。因此,从宏观上看,这些程序都开始了自己的工作。但由于CPU只有一个,在任何时刻CPU只能执行一个进程程序。所以这些进程程序的执行过程是交织在一起的。也就是说,从微观上看,每一个进程一会儿在向前走,一会儿又停步不前,处于一种“走走停停”的状态之中。2什么是“原语”、“特权指令”、“系统调用命令”和“访管指令”?它们之间有无一定的联系?答:特权指令和访管指令都是CPU指令系统中的指令,只是前者是一些只能在管态下执行的指令,后者是一条只能在目态下执行的指令。原语和系统调用命令都是操作系统中的功能程序,只是前者执行时不能被其他程序所打断,后者没有这个要求。操作系统中有些系统调用命令是以原语的形式出现的,例如创建进程就是一条原语式的系统调用命令。但并不是所有系统调用命令都是原语。因为如果那样的话,整个系统的并发性就不可能得到充分地发挥。3操作系统是如何处理源程序中出现的系统调用命令的?答:编译程序总是把源程序中的系统调用命令改写成为一条访管指令和相应的参数。这样在程序实际被执行时,就通过访管指令进入操作系统,达到调用操作系统功能子程序的目的。4系统调用与一般的过程调用有什么区别?答:系统调用是指在用户程序中调用操作系统提供的功能子程序;一般的过程调用是指在一个程序中调用另一个程序。因此它们之间有如下三点区别。(1) 一般的过程调用,调用者与被调用者都运行在相同的CPU状态,即或都处于目态(用户程序调用用户程序),或都处于管态(系统程序调用系统程序);但发生系统调用时,发出调用命令的调用者运行在目态,而被调用的对象则运行在管态,即调用者与被调用者运行在不同的CPU状态。(2)一般的过程调用,是直接通过转移指令转向被调用的程序;但发生系统调用时,只能通过访管指令提供的一个统一的入口,由目态进入管态,经分析后,才转向相应的操作系统命令处理程序。(3)一般的过程调用,在被调用者执行完后,就径直返回断点继续执行;但系统调用可能会导致进程状态的变化,从而引起系统重新分配处理机。因此,系统调用处理结束后,不一定是返回调用者断点处继续执行。5试述创建进程原语的主要功能。答:创建进程原语的主要功能有以下三项。(1)为新建进程申请一个PCB。(2)将创建者(即父进程)提供的新建进程的信息填入PCB中。(3)将新建进程设置为就绪状态,并按照所采用的调度算法,把PCB排入就绪队列中。6处于阻塞状态的一个进程,它所等待的事件发生时,就把它的状态由阻塞改变为就绪,让它到就绪队列里排队,为什么不直接将它投入运行呢?答:只要是涉及管理,就应该有管理的规则,没有规则就不成方圆。如果处于阻塞状态的一个进程,在它所等待的事件发生时就径直将它投入运行(也就是把CPU从当前运行进程的手中抢夺过来),那么系统就无法控制对CPU这种资源的管理和使用,进而也就失去了设置操作系统的作用。所以,阻塞状态的进程在它所等待的事件发生时,必须先进入就绪队列,然后再去考虑它使用CPU的问题。7作业调度与进程调度有什么区别?答:作业调度和进程调度(即CPU调度)都涉及到CPU的分配。但作业调度只是选择参加CPU竞争的作业,它并不具体分配CPU而进程调度是在作业调度完成选择后的基础上,把CPU真正分配给某一个具体的进程使用。8.系统中的各种进程队列都是由进程的PCB链接而成的。当一个进程的状态从阻塞变为就绪状态时,它的PCB从哪个队列移到哪个队列?它所对应的程序也要跟着移来移去吗?为什么?答:当一个进程的状态从阻塞变为就绪时,它的PCB就从原先在的阻塞队列移到就绪队列里。在把进程的PCB从这个队列移到另一个队列时,只是移动进程的PCB,进程所对应的程序是不动的。这是因为在进程的PCB里,总是记录有它的程序的断点信息。知道了断点的信息,就能够知道程序当前应该从哪里开始往下执行了。这正是保护现场所起的作用。9为什么说响应比高者优先作业调度算法是对先来先服务以及短作业优先这两种调度算法的折中?答:先来先服务的作业调度算法,重点考虑的是作业在后备作业队列里的等待时间,因此对短作业不利;短作业优先的作业调度算法,重点考虑的是作业所需的CPU时间(当然,这个时间是用户自己估计的),因此对长作业不利。“响应比高者优先”作业调度算法,总是在需要调度时,考虑作业已经等待的时间和所需运行时间之比,即:该作业已等待时间/该作业所需CPU时间不难看出,这个比值的分母是一个不变的量。随着时间的推移,一个作业的“已等待时间”会不断发生变化,也就是分子在不断地变化。显然,短作业比较容易获得较高的响应比。这是因为它的分母较小,只要稍加等待,整个比值就会很快上升。另一方面,长作业的分母虽然很大,但随着它等待时间的增加,比值也会逐渐上升,从而获得较高的响应比。根据这种分析,可见“响应比高者优先”的作业调度算法,既照顾到了短作业的利益,也照顾到了长作业的利益,是对先来先服务以及短作业优先这两种调度算法的一种折中。10短作业优先调度算法总能得到最小的平均周转时间吗?为什么?答:短作业优先调度算法只有在所有作业同时到达后备作业队列时,才能得到最小的平均周转时间。如果各作业不是同时到达,这个结论是不成立的。可以用反例说明,例如,教材上举有如下例子:考虑有5个作业A到E,运行时间分别是2、4、1、1、1;到达时间分别是0、0、3、3、3。按照短作业优先的原则,最初只有A和B可以参与选择,因为其他3个还没有到达。于是,运行顺序应该是A、B、C、D、E。它们每个的周车时间分别是2、6、4、5、6,平均周转时间是4.6。但如果按照顺序B、C、D、E、A来调度,它们每一个的周转时间成为9、4、2、3、4,平均周转时间是4.4。结果比短作业优先调度算法好。之所以会这样,就是因为这5个作业并没有同时到达。四
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号