《2022年操作系统复印习题解答 .pdf》由会员分享,可在线阅读,更多相关《2022年操作系统复印习题解答 .pdf(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 1 第 1 章一、填空1计算机由硬件系统和软件系统两个部分组成,它们构成了一个完整的计算机系统。2按功能划分,软件可分为系统 软件和应用 软件两种。3操作系统是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。4操作系统的基本功能是处理机(包含作业)管理、存储 管理、设备管理和文件 管理。5在分时和批处理系统结合的操作系统中引入“前台”和“后台”作业的概念,其目的是改善系统功能,提高处理能力。6分时系统的主要特征为多路性、 交互性、 独立性和 及时性。7实时系统与分时以及批处理系统的主要区别是高及时性和 高可靠性。8若一个操作系统具有很强的交互性,可同时供多个用户使用,则是分时操作
2、系统。9如果一个操作系统在用户提交作业后,不提供交互能力,只追求计算机资源的利用率、大吞吐量和作业流程的自动化,则属于批处理操作系统。10采用多道程序设计技术,能充分发挥CPU 和 外部设备并行工作的能力。二、选择1操作系统是一种B 。A通用软件B系统软件C应用软件D软件包2操作系统是对C 进行管理的软件。A 系统软件B系统硬件C计算机资源D应用程序3操作系统中采用多道程序设计技术,以提高CPU 和外部设备的A 。A利用率B可靠性C稳定性D兼容性4计算机系统中配置操作系统的目的是提高计算机的B 和方便用户使用。A速度B利用率C灵活性D兼容性5 C 操作系统允许多个用户在其终端上同时交互地使用计
3、算机。A批处理B实时C分时D多道批处理6如果分时系统的时间片一定,那么D ,响应时间越长。A用户数越少B内存越少C内存越多D用户数越多三、问答1什么是“多道程序设计”技术?它对操作系统的形成起到什么作用?答: 所谓“多道程序设计”技术,即是通过软件的手段,允许在计算机内存中同时存放几道相互独立的作业程序,让它们对系统中的资源进行“共享”和“竞争”,以使系统中的各名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 45 页 - - - - - - - - - 操作系统习题解答
4、2 种资源尽可能地满负荷工作,从而提高整个计算机系统的使用效率。基于这种考虑,计算机科学家开始把CPU、存储器、外部设备以及各种软件都视为计算机系统的“资源”,并逐步设计出一种软件来管理这些资源,不仅使它们能够得到合理地使用,而且还要高效地使用。具有这种功能的软件就是“操作系统”。所以,“多道程序设计”的出现,加快了操作系统的诞生。2怎样理解“虚拟机”的概念?答: 拿操作系统来说,它是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。 从用户的角度看, 计算机配置了操作系统后,由于操作系统隐蔽了硬件的复杂细节,用户会感到机器使用起来更方便、容易了。这样,通过操作系统的作用使展现在用户
5、面前的是一台功能经过扩展了的机器。这台“机器”不是硬件搭建成的,现实生活中并不存在具有这种功能的真实机器,它只是用户的一种感觉而已。所以,就把这样的机器称为“虚拟机”。3对于分时系统,怎样理解“从宏观上看,多个用户同时工作,共享系统的资源;从微观上看,各终端程序是轮流运行一个时间片”?答:在分时系统中, 系统把 CPU 时间划分成许多时间片,每个终端用户可以使用由一个时间片规定的CPU 时间,多个用户终端就轮流地使用CPU。这样的效果是每个终端都开始了自己的工作,得到了及时的响应。也就是说,“从宏观上看,多个用户同时工作,共享系统的资源”。但实际上, CPU 在每一时刻只为一个终端服务,即“从
6、微观上看,各终端程序是轮流运行一个时间片” 。第2章一、填空1进程在执行过程中有3种基本状态,它们是运行 态、就绪态和阻塞态。2系统中一个进程由程序 、 数据集合和 进程控制块(PCB) 三部分组成。3在多道程序设计系统中,进程是一个动 态概念,程序是一个静 态概念。4在一个单CPU 系统中,若有5 个用户进程。假设当前系统为用户态,则处于就绪状态的用户进程最多有4 个,最少有0 个。注意,题目里给出的是假设当前系统为用户态,这表明现在有一个进程处于运行状态,因此最多有4 个进程处于就绪态。也可能除一个在运行外,其他4 个都处于阻塞。这时,处于就绪的进程一个也没有。5总的来说,进程调度有两种方
7、式,即不可剥夺方式和剥夺方式。6进程调度程序具体负责中央处理机(CPU)的分配。7为了使系统的各种资源得到均衡使用,进行作业调度时,应该注意CPU 忙碌作业和I/O 忙碌作业的搭配。8所谓系统调用,就是用户程序要调用操作系统提供的一些子功能。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 45 页 - - - - - - - - - 操作系统习题解答 3 9作业被系统接纳后到运行完毕,一般还需要经历后备、运行和完成三个阶段。10假定一个系统中的所有作业同时到达,那么使作业
8、平均周转时间为最小的作业调度算法是短作业优先调度算法。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 45 页 - - - - - - - - - 操作系统习题解答 4 二、选择1在进程管理中,当C 时,进程从阻塞状态变为就绪状态。A进程被调度程序选中B进程等待某一事件发生C等待的事件出现D时间片到2在分时系统中,一个进程用完给它的时间片后,其状态变为A 。A就绪B等待C运行D由用户设定3下面对进程的描述中,错误的是D 。A进程是动态的概念B进程的执行需要CPU C进程具
9、有生命周期D进程是指令的集合4操作系统通过B 对进程进行管理。AJCB BPCB CDCT DFCB 5一个进程被唤醒,意味着该进程D 。A重新占有CPU B优先级变为最大C移至等待队列之首D变为就绪状态6由各作业JCB 形成的队列称为C 。A就绪作业队列B阻塞作业队列C后备作业队列D运行作业队列7既考虑作业等待时间,又考虑作业执行时间的作业调度算法是A 。A响应比高者优先B短作业优先C优先级调度D先来先服务8作业调度程序从处于D 状态的队列中选取适当的作业投入运行。A就绪B提交C等待D后备9 A 是指从作业提交系统到作业完成的时间间隔。A周转时间B响应时间C等待时间D运行时间10计算机系统在
10、执行C 时,会自动从目态变换到管态。AP 操作BV 操作C系统调用DI/O 指令三、问答1在多道程序设计系统中,如何理解“内存中的多个程序的执行过程交织在一起,大家都在走走停停”这样一个现象?答: 在多道程序设计系统中,内存中存放多个程序,它们以交替的方式使用CPU。因此,从宏观上看,这些程序都开始了自己的工作。但由于CPU 只有一个,在任何时刻CPU只能执行一个进程程序。所以这些进程程序的执行过程是交织在一起的。也就是说,从微观上看,每一个进程一会儿在向前走,一会儿又停步不前,处于一种“走走停停”的状态之中。2什么是“原语” 、 “特权指令” 、 “系统调用命令”和“访管指令”?它们之间有无
11、一定的联系?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 45 页 - - - - - - - - - 操作系统习题解答 5 答:特权指令和访管指令都是CPU 指令系统中的指令,只是前者是一些只能在管态下执行的指令,后者是一条只能在目态下执行的指令。原语和系统调用命令都是操作系统中的功能程序,只是前者执行时不能被其他程序所打断,后者没有这个要求。操作系统中有些系统调用命令是以原语的形式出现的,例如创建进程就是一条原语式的系统调用命令。但并不是所有系统调用命令都是原语。因
12、为如果那样的话,整个系统的并发性就不可能得到充分地发挥。3操作系统是如何处理源程序中出现的系统调用命令的?答: 编译程序总是把源程序中的系统调用命令改写成为一条访管指令和相应的参数。这样在程序实际被执行时,就通过访管指令进入操作系统,达到调用操作系统功能子程序的目的。4系统调用与一般的过程调用有什么区别?答: 系统调用是指在用户程序中调用操作系统提供的功能子程序;一般的过程调用是指在一个程序中调用另一个程序。因此它们之间有如下三点区别。(1)一般的过程调用,调用者与被调用者都运行在相同的CPU 状态,即或都处于目态(用户程序调用用户程序),或都处于管态(系统程序调用系统程序);但发生系统调用时
13、,发出调用命令的调用者运行在目态,而被调用的对象则运行在管态,即调用者与被调用者运行在不同的CPU 状态。(2)一般的过程调用,是直接通过转移指令转向被调用的程序;但发生系统调用时,只能通过访管指令提供的一个统一的入口,由目态进入管态,经分析后,才转向相应的操作系统命令处理程序。(3)一般的过程调用,在被调用者执行完后,就径直返回断点继续执行;但系统调用可能会导致进程状态的变化,从而引起系统重新分配处理机。因此,系统调用处理结束后,不一定是返回调用者断点处继续执行。5试述创建进程原语的主要功能。答: 创建进程原语的主要功能有以下三项。(1)为新建进程申请一个PCB。(2)将创建者(即父进程)提
14、供的新建进程的信息填入PCB 中。(3)将新建进程设置为就绪状态,并按照所采用的调度算法,把PCB 排入就绪队列中。6处于阻塞状态的一个进程,它所等待的事件发生时,就把它的状态由阻塞改变为就绪,让它到就绪队列里排队,为什么不直接将它投入运行呢?答: 只要是涉及管理,就应该有管理的规则,没有规则就不成方圆。如果处于阻塞状态的一个进程, 在它所等待的事件发生时就径直将它投入运行(也就是把CPU 从当前运行进程的手中抢夺过来) ,那么系统就无法控制对CPU 这种资源的管理和使用,进而也就失去了设置操作系统的作用。所以,阻塞状态的进程在它所等待的事件发生时,必须先进入就绪队列,然后再去考虑它使用CPU
15、 的问题。7作业调度与进程调度有什么区别?答: 作业调度和进程调度(即CPU 调度)都涉及到CPU 的分配。但作业调度只是选择参加 CPU 竞争的作业,它并不具体分配CPU。而进程调度是在作业调度完成选择后的基础上,把 CPU 真正分配给某一个具体的进程使用。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 45 页 - - - - - - - - - 操作系统习题解答 6 8系统中的各种进程队列都是由进程的PCB 链接而成的。当一个进程的状态从阻塞变为就绪状态时, 它的
16、PCB 从哪个队列移到哪个队列?它所对应的程序也要跟着移来移去吗?为什么?答: 当一个进程的状态从阻塞变为就绪时,它的PCB 就从原先在的阻塞队列移到就绪队列里。在把进程的PCB 从这个队列移到另一个队列时,只是移动进程的PCB,进程所对应的程序是不动的。这是因为在进程的PCB 里,总是记录有它的程序的断点信息。知道了断点的信息,就能够知道程序当前应该从哪里开始往下执行了。这正是保护现场所起的作用。9为什么说响应比高者优先作业调度算法是对先来先服务以及短作业优先这两种调度算法的折中?答:先来先服务的作业调度算法,重点考虑的是作业在后备作业队列里的等待时间,因此对短作业不利; 短作业优先的作业调
17、度算法,重点考虑的是作业所需的CPU 时间(当然,这个时间是用户自己估计的),因此对长作业不利。 “响应比高者优先”作业调度算法,总是在需要调度时,考虑作业已经等待的时间和所需运行时间之比,即:该作业已等待时间/ 该作业所需CPU 时间不难看出,这个比值的分母是一个不变的量。随着时间的推移,一个作业的“已等待时间”会不断发生变化,也就是分子在不断地变化。显然, 短作业比较容易获得较高的响应比。这是因为它的分母较小,只要稍加等待,整个比值就会很快上升。另一方面,长作业的分母虽然很大,但随着它等待时间的增加,比值也会逐渐上升,从而获得较高的响应比。根据这种分析,可见“响应比高者优先”的作业调度算法
18、,既照顾到了短作业的利益,也照顾到了长作业的利益,是对先来先服务以及短作业优先这两种调度算法的一种折中。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
19、、6,平均周转时间是4.6。但如果按照顺序B、C、D、E、A 来调度,它们每一个的周转时间成为9、4、2、3、4,平均周转时间是4.4。结果比短作业优先调度算法好。之所以会这样,就是因为这5 个作业并没有同时到达。四、计算1有三个作业:作业到达时间所需 CPU 时间1 0.0 8 2 0.4 4 3 1.0 1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 45 页 - - - - - - - - - 操作系统习题解答 7 分别采用先来先服务和短作业优先作业调度算法。试
20、问它们的平均周转时间各是什么?你是否还可以给出一种更好的调度算法,使其平均周转时间优于这两种调度算法?解: (1)采用先来先服务作业调度算法时的实施过程如下。作业到达时间所需 CPU 时间开始时间完成时间周转时间1 0.0 8 0.0 8.0 8.0 2 0.4 4 8.0 12.0 11.6 3 1.0 1 12.0 13.0 12.0 这时,作业的调度顺序是123。其平均周转时间为:(8 + 11.6 + 12)/ 3 = 10.53 (2)采用短作业优先作业调度算法时的实施过程如下。作业到达时间所需 CPU 时间开始时间完成时间周转时间1 0.0 8 0.0 8.0 8.0 3 1.0
21、1 8.0 9.0 8.0 2 0.4 4 9.0 13.0 12.6 这里要注意,在作业1 运行完毕进行作业调度时,作业2 和 3 都已经到达。由于是实行短作业优先作业调度算法,因此先调度作业3 运行,最后调度作业2 运行。所以,这时的作业调度顺序是 132。其平均周转时间为:(8 + 8 + 12.6)/ 3 = 9.53 (3)还可以有更好的作业调度算法,使其平均周转时间优于这两种调度算法。例如,如果知道在作业1 后面会来两个短作业,那么作业1 到达后,先不投入运行。而是等所有作业到齐后,再按照短作业优先作业调度算法进行调度,具体实施过程如下。作业到达时间所需 CPU 时间开始时间完成时
22、间周转时间3 1.0 1 1.0 2.0 1.0 2 0.4 4 2.0 6.0 5.6 1 0.0 8 6.0 14.0 14.0 这时的作业调度顺序是321。其平均周转时间为:(1 + 5.6 + 14)/ 3 = 6.87 2设有一组作业,它们的到达时间和所需CPU 时间如下所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 45 页 - - - - - - - - - 操作系统习题解答 8 作业号到达时间所需 CPU 时间1 9:00 70 分钟2 9:40 3
23、0 分钟3 9:50 10 分钟4 10:10 5 分钟分别采用先来先服务和短作业优先作业调度算法。试问它们的调度顺序、作业周转时间以及平均周转时间各是什么?解: (1)采用先来先服务作业调度算法时的实施过程如下。作业号到达时间所需 CPU 时间开始时间完成时间周转时间1 9:00 70 分钟9:00 10:10 70 分钟2 9:40 30 分钟10:10 10:40 60 分钟3 9:50 10 分钟10:40 10:50 60 分钟4 10:10 5 分钟10:50 10:55 45 分钟这时,作业的调度顺序是1234。其平均周转时间为:(70 + 60 + 60 + 45 )/ 4 =
24、 58.75 (2)采用短作业优先作业调度算法时的实施过程如下。作业号到达时间所需 CPU 时间开始时间完成时间周转时间1 9:00 70 分钟9:00 10:10 70 分钟4 10:10 5 分钟10:10 10:15 5 分钟3 9:50 10 分钟10:15 10:25 35 分钟2 9:40 30 分钟10:25 10:55 75 分钟这时,作业的调度顺序是1432。其平均周转时间为:(70 + 5 + 35 + 75 )/ 4 = 46.25 3某系统有三个作业:作业号到达时间所需 CPU 时间1 8.8 1.5 2 9.0 0.4 名师资料总结 - - -精品资料欢迎下载 - -
25、 - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 45 页 - - - - - - - - - 操作系统习题解答 9 3 9.5 1.0 系统确定在它们全部到达后,开始采用响应比高者优先调度算法,并忽略系统调度时间。试问对它们的调度顺序是什么?各自的周转时间是多少?解: 三个作业是在9.5 时全部到达的。这时它们各自的响应比如下:作业 1 的响应比=(9.5 8.8)/ 1.5 = 0.46 作业 2 的响应比=(9.5 9.0)/ 0.4 = 1.25 作业 3 的响应比=(9.5 9.5)/ 1.0 = 0 因此,最
26、先应该调度作业2 运行,因为它的响应比最高。它运行了0.4 后完成,这时的时间是 9.9。再计算作业1 和 3 此时的响应比:作业 1 的响应比=(9.9 8.8)/ 1.5 = 0.73 作业 3 的响应比=(9.9 9.5)/ 1.0 = 0.40 因此,第二个应该调度作业1 运行,因为它的响应比最高。它运行了1.5 后完成,这时的时间是 11.4。第三个调度的是作业3,它运行了1.0 后完成, 这时的时间是12.4。整个实施过程如下。作业号到达时间所需 CPU 时间开始时间完成时间周转时间2 9.0 0.4 9.5 9.9 0.9 1 8.8 1.5 9.9 11.4 2.6 3 9.5
27、 1.0 11.4 12.4 2.9 作业的调度顺序是213。各自的周转时间为:作业1 为 0.9;作业2 为 2.6;作业 3为 2.9。第 3 章一、填空1将作业相对地址空间的相对地址转换成内存中的绝对地址的过程称为地址重定位。2使用覆盖与对换技术的主要目的是提高内存的利用率。3存储管理中,对存储空间的浪费是以内部碎片和外部碎片两种形式表现出来的。4地址重定位可分为静态重定位和 动态重定位两种。5在可变分区存储管理中采用最佳适应算法时,最好按尺寸法来组织空闲分区名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -
28、 - - - - - - 第 9 页,共 45 页 - - - - - - - - - 操作系统习题解答 10 链表。6在分页式存储管理的页表里,主要应该包含页号 和 块号 两个信息。7静态重定位在程序装入 时进行,动态重定位在程序执行 时进行。8在分页式存储管理中,如果页面置换算法选择不当,则会使系统出现抖动现象。9在请求分页式存储管理中采用先进先出(FIFO)页面淘汰算法时,增加分配给作业的块数时,缺页中断的次数有可能会增加。10在请求分页式存储管理中,页面淘汰是由于缺页 引起的。二、选择1虚拟存储器的最大容量是由B 决定的。A内、外存容量之和B计算机系统的地址结构C作业的相对地址空间D作
29、业的绝对地址空间2采用先进先出页面淘汰算法的系统中,一进程在内存占3 块(开始为空) ,页面访问序列为 1、2、3、4、1、2、5、 1、2、3、4、 5、6。运行时会产生D 次缺页中断。A7 B8 C9 D10 从图 3-8 中的“缺页计数”栏里可以看出应该选择D。1 2 3 4 1 2 5 1 2 3 4 5 6 1 2 3 4 1 2 5 5 5 3 4 4 6 1 2 3 4 1 2 2 2 5 3 3 4 1 2 3 4 1 1 3 页面走向3 个内存块缺页计数1 2 5 5 图 3-8 选择题 2 配图3系统出现“抖动”现象的主要原因是由于A 引起的。A置换算法选择不当B交换的信息
30、量太大C内存容量不足D采用页式存储管理策略4实现虚拟存储器的目的是D 。A进行存储保护B允许程序浮动C允许程序移动D扩充主存容量5作业在执行中发生了缺页中断,那么经中断处理后,应返回执行B 指令。A被中断的前一条B被中断的那条C被中断的后一条D程序第一条6在实行分页式存储管理系统中,分页是由D 完成的。A程序员B用户C操作员D系统7下面的A 页面淘汰算法有时会产生异常现象。A先进先出B最近最少使用 C最不经常使用D最佳8在一个分页式存储管理系统中,页表的内容为:若页的大小为4KB,则地址转换机构将相对地址页号块号0 2 1 1 名师资料总结 - - -精品资料欢迎下载 - - - - - -
31、- - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 45 页 - - - - - - - - - 操作系统习题解答 11 0 转换成的物理地址是A 。A8192 B4096 C2048 D1024 注意,相对地址 0 肯定是第 0 页的第 0 个字节。 查页表可知第0 页存放在内存的第2 块。现在块的尺寸是4KB,因此第 2 块的起始地址为8192。故相对地址0 所对应的绝对地址(即物理地址)是8192。9下面所列的存储管理方案中,A 实行的不是动态重定位。A固定分区B可变分区C分页式D请求分页式10在下面所列的诸因素中,不对缺页中断次数
32、产生影响的是C 。A内存分块的尺寸B程序编制的质量C作业等待的时间D分配给作业的内存块数三、问答1什么是内部碎片?什么是外部碎片?各种存储管理中都可能产生何种碎片?答: 所谓“内部碎片” ,是指系统已经分配给用户使用、用户自己没有用到的那部分存储空间; 所谓“外部碎片” ,是指系统无法把它分配出去供用户使用的那部分存储空间。对于教材而言,单一连续区存储管理、固定分区存储管理、分页式存储管理和请求页式存储管理都会出现内部碎片。只是前两种存储管理造成的内部碎片比较大,浪费较为严重;后两种页式存储管理,平均来说每个作业都会出现半页的内部碎片。教材中,只有可变分区存储管理会产生外部碎片。2叙述静态重定
33、位与动态重定位的区别。答: 静态重定位是一种通过软件来完成的地址重定位技术。它在程序装入内存时,完成对程序指令中地址的调整。因此,程序经过静态重定位以后,在内存中就不能移动了。如果要移动,就必须重新进行地址重定位。动态重定位是一种通过硬件支持完成的地址重定位技术。作业程序被原封不动地装入内存。只有到执行某条指令时,硬件地址转换机构才对它里面的地址进行转换。正因为如此,实行动态重定位的系统, 作业程序可以在内存里移动。也就是说, 作业程序在内存中是可浮动的。3一个虚拟地址结构用24 个二进制位表示。其中12 个二进制位表示页面尺寸。试问这种虚拟地址空间总共多少页?每页的尺寸是多少?答: 如下图所
34、示,由于虚拟地址中是用12 个二进制位表示页面尺寸(即页内位移),所以虚拟地址空间中表示页号的也是12 个二进制位。这样,这种虚拟地址空间总共有:212 = 4096(页)每页的尺寸是:212 = 4096 = 4K (字节)21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 页号页内位移虚拟地址23 22 4什么叫虚拟存储器?怎样确定虚拟存储器的容量?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 45 页
35、- - - - - - - - - 操作系统习题解答 12 答: 虚拟存储器实际是一种存储扩充技术。它把作业程序存放在辅助存储器里,运行时只装入程序的一部分。遇到不在内存的程序时,再把所需要的部分装入。这样在内存和辅存之间调入、 调出的做法, 使用户的作业地址空间无需顾及内存的大小。给用户造成的印象是,无论程序有多大,它在这个系统上都可以运行。这种以辅助存储器作为后援的虚幻存储器,就称为虚拟存储器。虚拟存储器的大小是由系统的地址结构确定的。5为什么请求分页式存储管理能够向用户提供虚拟存储器?答: 请求分页式存储管理的基本思想是:操作系统按照存储块的尺寸,把用户作业地址空间划分成页,全部存放在磁
36、盘上。作业运行时,只先装入若干页。运行过程中遇到不在内存的页时,操作系统就把它从磁盘调入内存。这样一来,用户的作业地址空间无需顾及内存的大小。这与虚拟存储器的思想是完全吻合的。所以,请求分页式存储管理能够向用户提供虚拟存储器。6在请求分页式存储管理中,为什么既有页表,又有快表?答:在分页式或请求页式存储管理中,通常是利用内存储器构成页表的。当 CPU 执行到某条指令、要对内存中的某一地址访问时,因为这个地址是相对地址,所以先要根据这个地址所在的页号去查页表(访问一次内存) ,然后才能由所形成的绝对地址去真正执行指令(第二次访问内存) 。可见,由于页表在内存,降低了CPU 的访问速度。为了提高相
37、对地址到绝对地址的变换速度,人们想到用一组快速寄存器来代替页表。这时查页表是以并行的方式进行,立即就能输出与该页号匹配的块号,这样做无疑比内存式的页表要快得多。但是,快速寄存器的价格昂贵,由它来组成整个页表是不可取的。考虑到程序运行时具有局部性,因此实际系统中总是一方面采用内存页表、另一方面用极少几个快速寄存器组成快表来共同完成地址的变换工作。这时的地址变换过程, 如教材中的图3-22 所示。7试述缺页中断与页面淘汰之间的关系。答: 在请求页式存储管理中,当根据虚拟地址查页表而发现所要访问的页不在内存时,就会产生缺页中断。系统响应中断后,就由操作系统到辅存把所需要的页读入内存。这时,内存可能有
38、空闲的块,也可能没有。只有当内存中没有空闲块时,才会出现将内存现有页面淘汰出去的问题,即要进行页面淘汰。所以,缺页中断和页面淘汰之间的关系是:页面淘汰一定是由缺页中断所引起;但缺页中断则不一定引起页面淘汰。8试述缺页中断与一般中断的区别。答:在计算机系统中,由于某些事件的出现,打断了当前程序的运行,而使 CPU 去处理出现的事件,这称为“中断”。通常,计算机的硬件结构都是在执行完一条指令后,去检查有无中断事件发生的。如果有, 那么就暂停当前程序的运行,而让 CPU 去执行操作系统的中断处理程序,这叫“中断响应”。CPU 在处理完中断后,如果不需要对CPU 重新进行分配,那么就返回被中断进程的程
39、序继续运行;如果需要进行CPU 的重新分配, 那么操作系统就会去调度新进程。由上面的讲述可以看出,缺页中断与一般中断的区别如下。(1)两种中断产生的时刻不同:缺页中断是在执行一条指令中间时产生的中断,并立即转去处理;而一般中断则是在一条指令执行完毕后,当硬件中断装置发现有中断请求时才去响应和处理。(2)处理完毕后的归属不同:缺页中断处理完后,仍返回到原指令去重新执行,因为那名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 45 页 - - - - - - - - - 操作
40、系统习题解答 13 条指令并未执行;而一般中断则是或返回到被中断进程的下一条指令去执行,因为上一条指令已经执行完了,或重新调度,去执行别的进程程序。9怎样理解把相对地址划分成数对:(页号, 页内位移) 的过程对于用户是“透明” 的?答: 在操作系统中,所谓“透明”,即指用户不知道的意思。对于分页式存储管理来说,用户向系统提供的相对地址空间,是一个一维的连续空间。系统接受了这个作业后,在内部把这个相对地址空间划分成若干页。由于这种划分对于用户来说是根本不知道的,所以说把相对地址划分成数对: (页号,页内位移)的过程对于用户是“透明”的。10做一个综述,说明从单一连续区存储管理到固定分区存储管理,
41、到可变分区存储管理,到分页式存储管理,再到请求分页式存储管理,每一种存储管理的出现,都是在原有基础上的发展和提高。答: 教材共介绍了5 种存储管理策略,它们适用于不同的场合,如图 3-9 所示。 图中,在单一连续分区存储管理与固定分区存储管理之间画了一条线,那表明位于线以上的存储管理策略只适用于单道程序设计,以下的适用于多道程序设计;在可变分区存储管理与分页式存储管理之间画了一条线,那表明位于线以上的存储管理策略都要求为进入内存的作业分配一个连续的存储区,以下的存储管理策略打破了连续性的要求;在分页式存储管理与请求页式存储管理之间画了一条线,那表明位于线以上的存储管理策略都要求使作业程序全部进
42、入内存,而以下的存储管理策略打破了全部的要求,只要部分装入内存就可以了。由此可见,每一种存储管理的出现,都是在原有存储管理基础上的一次发展和提高。它们从简单到复杂,从不完善到逐渐完善。四、计算1在可变分区存储管理中,按地址法组织当前的空闲分区,其大小分别为: 10KB ,4KB ,20KB ,18KB,7KB ,9KB,12KB 和 15KB 。现在依次有3 个存储请求为:12KB ,10KB ,9KB 。试问使用最先适应算法时的分配情形如何?那么最佳适应、最坏适应呢?解: 我们用表来说明实行各种分配算法时的情形。(1)最先适应算法请求队列最先适应算法初始10K 4K 20K 18K 7K 9
43、K 12K 15K 12K 10K 4K 8K 18K 7K 9K 12K 15K 10K 0 4K 8K 18K 7K 9K 12K 15K 9K 0 4K 8K 9K 7K 9K 12K 15K 单道多道连续不连续全部部分单一连续分区存储管理固定分区存储管理可变分区存储管理分页式存储管理请求页式存储管理图 3-9 各种存储管理策略的适用场合名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 45 页 - - - - - - - - - 操作系统习题解答 14 (2)最佳
44、适应算法请求队列最佳适应算法初始10K 4K 20K 18K 7K 9K 12K 15K 12K 10K 4K 20K 18K 7K 9K 0 15K 10K 0 4K 20K 18K 7K 9K 0 15K 9K 0 4K 20K 18K 7K 0 0 15K (3)最坏适应算法请求队列最坏适应算法初始10K 4K 20K 18K 7K 9K 12K 15K 12K 10K 4K 8K 18K 7K 9K 12K 15K 10K 10K 4K 8K 8K 7K 9K 12K 15K 9K 10K 4K 8K 8K 7K 9K 12K 6K 可见,分配算法不同,选择的分配对象也不一样。2系统内
45、存被划分成8 块,每块 4KB 。某作业的虚拟地址空间共划分成16 个页面。当前在内存的页与内存块的对应关系如下表所示,未列出的页表示不在内存。页号块号页号块号0 2 4 4 1 1 5 3 2 6 9 5 3 0 11 7 试指出对应于下列虚拟地址的绝对地址:(a)20 (b)4100 (c)8300 解: (a)虚拟地址 20 对应的页号是0,页内位移是20。用 0 去查页表,知道第0 页现在存放在内存的第2 块。由于每块的长度是4KB ,所以第 2块的起始地址为8192。因此,虚拟地址 20 所对应的绝对地址是:8192+20=8212 (b)虚拟地址4100 对应的页号是:4100/4
46、096=1( “ /”是整除运算符)对应的页内位移是:4100%4096=4( “%”是求余运算符)用 1 去查页表, 知道第 1 页现在存放在内存的第1 块。第 1 块的起始地址为4096。因此,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 45 页 - - - - - - - - - 操作系统习题解答 15 虚拟地址 4100 所对应的绝对地址是:4096+4=4100 (c)虚拟地址8300 对应的页号是:8300/4096=2( “ /”是整除运算符)对应的页
47、内位移是:8300%4096=108 ( “%”是求余运算符)用 2 去查页表,知道第2 页现在存放在内存的第6 块。第 6 块的起始地址为64K=24576 因此,虚拟地址8300 所对应的绝对地址是24576+108=24684 3某请求分页式存储管理系统,接收一个共7 页的作业。作业运行时的页面走向如下:1,2,3,4,2,1,5,6,2,1,2,3, 7,6,3,2, 1,2,3,6 若采用最近最久未用(LRU )页面淘汰算法,作业在得到2 块和 4 块内存空间时,各会产生出多少次缺页中断?如果采用先进先出(FIFO)页面淘汰算法时,结果又如何?解: (1)采用最近最久未用(LRU)页
48、面淘汰算法,作业在得到2 块内存空间时所产生的缺页中断次数为18 次,如图 3-10(a)所示;在得到4 块内存空间时所产生的缺页中断次数为 10 次,如图 3-10(b)所示。(b) 4 块时的 LUR 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 1 3 4 2 1 5 5 6 1 2 2 7 页面走向4 个内存块缺页计数1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 1 2 3 4 2 1 5 6 6 1 2 3 7 6 2 2 6 1 3 1 6 2 3 3 6 2 1 6 1 3 2 1
49、 3 (a) 2 块时的 LRU 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 4 2 5 6 1 6 3 页面走向2 个内存块缺页计数2 2 1 1 2 3 6 3 1 2 1 2 3 7 2 6 6 3 图 3-10 LRU 时的情形(2)采用先进先出(FIFO)页面淘汰算法,作业在得到2 块内存空间时所产生的缺页中断次数为18 次,如图3-11(a)所示;在得到4 块内存空间时所产生的缺页中断次数为14次,如图 3-11(b)所示。名师资料总结 - - -精品资料欢迎下载 - - - - - -
50、 - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 45 页 - - - - - - - - - 操作系统习题解答 16 (b) 4 块时的 FIFO 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 4 4 4 5 6 2 1 1 3 7 6 6 2 1 1 1 2 3 4 5 5 6 2 1 1 3 页面走向4 个内存块缺页计数1 2 3 3 3 4 5 6 2 2 1 3 7 7 6 1 2 2 2 3 4 5 6 6 2 1 3 3 7 2 1 7 2 6 1 7 2 6 3 6 1 2 3 6 1 2