操作系统课后答案全.pdf
《操作系统课后答案全.pdf》由会员分享,可在线阅读,更多相关《操作系统课后答案全.pdf(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 1 章 操作系统概述二、选择1操作系统是一种 B。A通用软件B系统软件2操作系统是对 C 进行管理的软件。C应用软件D软件包A系统软件B系统硬件C计算机资源 D应用程序3操作系统中采用多道程序设计技术,以提高CPU 和外部设备的 A。A利用率B可靠性C稳定性D兼容性4计算机系统中配置操作系统的目的是提高计算机的 B 和方便用户使用。A速度B利用率C灵活性5 C 操作系统允许多个用户在其终端上同时交互地使用计算机。A批处理B实时C分时道批处理6如果分时系统的时间片一定,那么 D,响应时间越长。A用户数越少三、问答B内存越少C内存越多D兼容性D 多D用户数越多1什么是“多道程序设计技术?它对操
2、作系统的形成起到什么作用?答:所谓“多道程序设计技术,即是通过软件的手段,允许在计算机内存中同时存放几道相互独立的作业程序,让它们对系统中的资源进行“共享和“竞争,以使系统中的各种资源尽可能地满负荷工作,从而提高整个计算机系统的使用效率。基于这种考虑,计算机科学家开始把CPU、存储器、外部设备以及各种软件都视为计算机系统的“资源,并逐步设计出一种软件来管理这些资源,不仅使它们能够得到合理地使用,而且还要高效地使用。具有这种功能的软件就是“操作系统。所以,“多道程序设计的出现,加快了操作系统的诞生。2怎样理解“虚拟机的概念?答:拿操作系统来说,它是在裸机上加载的第一层软件,是对计算机硬件系统功能
3、的首次扩充。从用户的角度看,计算机配置了操作系统后,由于操作系统隐蔽了硬件的复杂细节,用户会感到机器使用起来更方便、容易了。这样,通过操作系统的作用使展现在用户面前的是一台功能经过扩展了的机器。这台“机器不是硬件搭建成的,现实生活中并不存在具有这种功能的真实机器,它只是用户的一种感觉而已。所以,就把这样的机器称为“虚拟机。3对于分时系统,怎样理解“从宏观上看,多个用户同时工作,共享系统的资源;从微观上看,各终端程序是轮流运行一个时间片?答:在分时系统中,系统把 CPU 时间划分成许多时间片,每个终端用户可以使用由一个时间片规定的 CPU 时间,多个用户终端就轮流地使用CPU。这样的效果是每个终
4、端都开始了自己的工作,得到了及时的响应。也就是说,“从宏观上看,多个用户同时工作,共享系统的资源。但实际上,CPU 在每一时刻只为一个终端效劳,即“从微观上看,各终端程序是轮流运行一个时间片。第 2 章习题解答一、填空1进程在执行过程中有 3 种根本状态,它们是运行 态、就绪 态和 阻塞 态。2系统中一个进程由程序、数据集合 和 进程控制块PCB 三局部组成。3在多道程序设计系统中,进程是一个动 态概念,程序是一个静 态概念。4在一个单 CPU 系统中,假设有 5 个用户进程。假设当前系统为用户态,那么处于就绪状态的用户进程最多有 4 个,最少有 0 个。注意,题目里给出的是假设当前系统为用户
5、态,这说明现在有一个进程处于运行状态,因此最多有 4 个进程处于就绪态。也可能除一个在运行外,其他4 个都处于阻塞。这时,处于就绪的进程一个也没有。5总的来说,进程调度有两种方式,即不可剥夺 方式和 剥夺 方式。6进程调度程序具体负责中央处理机CPU的分配。7为了使系统的各种资源得到均衡使用,进行作业调度时,应该注意 CPU 忙碌作业和 I/O忙碌 作业的搭配。8所谓系统调用,就是用户程序要调用操作系统 提供的一些子功能。9作业被系统接纳后到运行完毕,一般还需要经历 后备、运行 和 完成 三个阶段。10假定一个系统中的所有作业同时到达,那么使作业平均周转时间为最小的作业调度算法是短作业优先 调
6、度算法。11在引入线程的操作系统中,所谓“线程,是指进程中实施处理机调度和分配的根本单位。12有了线程概念后,原来的进程就属于是单线程 的进程情形。二、选择1在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。A进程被调度程序选中B进程等待某一事件发生C等待的事件出现D时间片到2在分时系统中,一个进程用完给它的时间片后,其状态变为 A。A就绪B等待D由用户设定3下面对进程的描述中,错误的选项是 D。A进程是动态的概念C进程具有生命周期4操作系统通过 B 对进程进行管理。AJCBDFCB5一个进程被唤醒,意味着该进程 D。A重新占有 CPUC移至等待队列之首6由各作业 JCB 形成的队列称为
7、C。C运行B进程的执行需要 CPUD进程是指令的集合BPCBCDCTB优先级变为最大D变为就绪状态A就绪作业队列B阻塞作业队列C后备作业队列D运行作业队列7既考虑作业等待时间,又考虑作业执行时间的作业调度算法是 A。A响应比高者优先B短作业优先C优先级调度D先来先效劳8作业调度程序从处于 D 状态的队列中选取适当的作业投入运行。A就绪B提交D后备9 A 是指从作业提交系统到作业完成的时间间隔。A周转时间C等待时间10计算机系统在执行 C 时,会自动从目态变换到管态。AP 操作BV操作11进程状态由就绪变为运行,是由于 C 引起的。A中断事件B进程状态变迁C等待B响应时间D运行时间C系统调用DI
8、/O指令三、问答C进程调度D为作业创立进程1在多道程序设计系统中,如何理解“内存中的多个程序的执行过程交织在一起,大家都在走走停停这样一个现象?答:在多道程序设计系统中,内存中存放多个程序,它们以交替的方式使用 CPU。因此,从宏观上看,这些程序都开始了自己的工作。但由于 CPU 只有一个,在任何时刻 CPU 只能执行一个进程程序。所以这些进程程序的执行过程是交织在一起的。也就是说,从微观上看,每一个进程一会儿在向前走,一会儿又停步不前,处于一种“走走停停的状态之中。2什么是“原语、“特权指令、“系统调用命令和“访管指令?它们之间有无一定的联系?答:特权指令和访管指令都是 CPU 指令系统中的
9、指令,只是前者是一些只能在管态下执行的指令,后者是一条只能在目态下执行的指令。原语和系统调用命令都是操作系统中的功能程序,只是前者执行时不能被其他程序所打断,后者没有这个要求。操作系统中有些系统调用命令是以原语的形式出现的,例如创立进程就是一条原语式的系统调用命令。但并不是所有系统调用命令都是原语。因为如果那样的话,整个系统的并发性就不可能得到充分地发挥。3操作系统是如何处理源程序中出现的系统调用命令的?答:编译程序总是把源程序中的系统调用命令改写成为一条访管指令和相应的参数。这样在程序实际被执行时,就通过访管指令进入操作系统,到达调用操作系统功能子程序的目的。4系统调用与一般的过程调用有什么
10、区别?答:系统调用是指在用户程序中调用操作系统提供的功能子程序;一般的过程调用是指在一个程序中调用另一个程序。因此它们之间有如下三点区别。1一般的过程调用,调用者与被调用者都运行在相同的 CPU 状态,即或都处于目态用户程序调用用户程序,或都处于管态系统程序调用系统程序;但发生系统调用时,发出调用命令的调用者运行在目态,而被调用的对象那么运行在管态,即调用者与被调用者运行在不同的CPU 状态。2一般的过程调用,是直接通过转移指令转向被调用的程序;但发生系统调用时,只能通过访管指令提供的一个统一的入口,由目态进入管态,经分析后,才转向相应的操作系统命令处理程序。3一般的过程调用,在被调用者执行完
11、后,就径直返回断点继续执行;但系统调用可能会导致进程状态的变化,从而引起系统重新分配处理机。因此,系统调用处理结束后,不一定是返回调用者断点处继续执行。5试述创立进程原语的主要功能。答:创立进程原语的主要功能有以下三项。1为新建进程申请一个 PCB。2将创立者即父进程提供的新建进程的信息填入PCB 中。3将新建进程设置为就绪状态,并按照所采用的调度算法,把PCB 排入就绪队列中。6处于阻塞状态的一个进程,它所等待的事件发生时,就把它的状态由阻塞改变为就绪,让它到就绪队列里排队,为什么不直接将它投入运行呢?答:只要是涉及管理,就应该有管理的规那么,没有规那么就不成方圆。如果处于阻塞状态的一个进程
12、,在它所等待的事件发生时就径直将它投入运行也就是把CPU 从当前运行进程的手中抢夺过来,那么系统就无法控制对CPU 这种资源的管理和使用,进而也就失去了设置操作系统的作用。所以,阻塞状态的进程在它所等待的事件发生时,必须先进入就绪队列,然后再去考虑它使用 CPU 的问题。7作业调度与进程调度有什么区别?答:作业调度和进程调度即 CPU 调度都涉及到 CPU 的分配。但作业调度只是选择参加CPU竞争的作业,它并不具体分配 CPU。而进程调度是在作业调度完成选择后的根底上,把CPU 真正分配给某一个具体的进程使用。8系统中的各种进程队列都是由进程的PCB 链接而成的。当一个进程的状态从阻塞变为就绪
13、状态时,它的 PCB 从哪个队列移到哪个队列?它所对应的程序也要跟着移来移去吗?为什么?答:当一个进程的状态从阻塞变为就绪时,它的 PCB 就从原先在的阻塞队列移到就绪队列里。在把进程的 PCB 从这个队列移到另一个队列时,只是移动进程的 PCB,进程所对应的程序是不动的。这是因为在进程的 PCB 里,总是记录有它的程序的断点信息。知道了断点的信息,就能够知道程序当前应该从哪里开始往下执行了。这正是保护现场所起的作用。9为什么说响应比高者优先作业调度算法是对先来先效劳以及短作业优先这两种调度算法的折中?答:先来先效劳的作业调度算法,重点考虑的是作业在后备作业队列里的等待时间,因此对短作业不利;
14、短作业优先的作业调度算法,重点考虑的是作业所需的CPU 时间当然,这个时间是用户自己估计的,因此对长作业不利。“响应比高者优先作业调度算法,总是在需要调度时,考虑作业已经等待的时间和所需运行时间之比,即:该作业已等待时间/该作业所需 CPU 时间不难看出,这个比值的分母是一个不变的量。随着时间的推移,一个作业的“已等待时间会不断发生变化,也就是分子在不断地变化。显然,短作业比较容易获得较高的响应比。这是因为它的分母较小,只要稍加等待,整个比值就会很快上升。另一方面,长作业的分母虽然很大,但随着它等待时间的增加,比值也会逐渐上升,从而获得较高的响应比。根据这种分析,可见“响应比高者优先的作业调度
15、算法,既照顾到了短作业的利益,也照顾到了长作业的利益,是对先来先效劳以及短作业优先这两种调度算法的一种折中。10短作业优先调度算法总能得到最小的平均周转时间吗?为什么?答:短作业优先调度算法只有在所有作业同时到达后备作业队列时,才能得到最小的平均周转时间。如果各作业不是同时到达,这个结论是不成立的。可以用反例说明,例如,教材上举有如下例子:考虑有 5 个作业 A 到 E,运行时间分别是 2、4、1、1、1;到达时间分别是 0、0、3、3、3。按照短作业优先的原那么,最初只有A 和 B 可以参与选择,因为其他 3 个还没有到达。于是,运行顺序应该是 A、B、C、D、E。它们每个的周转时间分别是2
16、、6、4、5、6,平均周转时间是 4.6。但如果按照顺序 B、C、D、E、A 来调度,它们每一个的周转时间成为9、4、2、3、4,平均周转时间是 4.4。结果比短作业优先调度算法好。之所以会这样,就是因为这5 个作业并没有同时到达。四、计算1有三个作业:作业123到达时间0.00.41.0所需 CPU 时间841分别采用先来先效劳和短作业优先作业调度算法。试问它们的平均周转时间各是什么?你是否还可以给出一种更好的调度算法,使其平均周转时间优于这两种调度算法?解:1采用先来先效劳作业调度算法时的实施过程如下。作业123到达时间0.00.41.0所需 CPU 时间841开始时间0.08.012.0
17、完成时间8.012.013.0周转时间8.011.612.0这时,作业的调度顺序是 123。其平均周转时间为:8+11.6+12/3=10.532采用短作业优先作业调度算法时的实施过程如下。作业132到达时间0.01.00.4所需 CPU 时间814开始时间0.08.09.0完成时间8.09.013.0周转时间8.08.012.6这里要注意,在作业 1 运行完毕进行作业调度时,作业 2 和 3 都已经到达。由于是实行短作业优先作业调度算法,因此先调度作业3 运行,最后调度作业 2 运行。所以,这时的作业调度顺序是132。其平均周转时间为:8+8+12.6/3=9.533还可以有更好的作业调度算
18、法,使其平均周转时间优于这两种调度算法。例如,如果知道在作业 1 后面会来两个短作业,那么作业1 到达后,先不投入运行。而是等所有作业到齐后,再按照短作业优先作业调度算法进行调度,具体实施过程如下。作业321到达时间1.00.40.0所需 CPU 时间148开始时间1.02.06.0完成时间2.06.014.0周转时间1.05.614.0这时的作业调度顺序是 321。其平均周转时间为:1+5.6+14/3=6.872设有一组作业,它们的到达时间和所需CPU 时间如下所示。作业号1234到达时间9:009:409:5010:10所需 CPU 时间70 分钟30 分钟10 分钟5 分钟分别采用先来
19、先效劳和短作业优先作业调度算法。试问它们的调度顺序、作业周转时间以及平均周转时间各是什么?解:1采用先来先效劳作业调度算法时的实施过程如下。作业号1234到达时间9:009:409:5010:10所需 CPU 时间70 分钟30 分钟10 分钟5 分钟开始时间9:0010:1010:4010:50完成时间10:1010:4010:5010:55周转时间70 分钟60 分钟60 分钟45 分钟这时,作业的调度顺序是 1234。其平均周转时间为:70+60+60+45/4=58.752采用短作业优先作业调度算法时的实施过程如下。作业号1到达时间9:00所需 CPU 时间70 分钟开始时间9:00完
20、成时间10:10周转时间70 分钟43210:109:509:405 分钟10 分钟30 分钟10:1010:1510:2510:1510:2510:555 分钟35 分钟75 分钟这时,作业的调度顺序是 1432。其平均周转时间为:70+5+35+75/4=46.253某系统有三个作业:作业号123到达时间8.89.09.5所需 CPU 时间1.50.41.0系统确定在它们全部到达后,开始采用响应比高者优先调度算法,并忽略系统调度时间。试问对它们的调度顺序是什么?各自的周转时间是多少?解:三个作业是在 9.5 时全部到达的。这时它们各自的响应比方下:作业 1 的响应比=9.5 8.8/1.5
21、=0.46作业 2 的响应比=9.5 9.0/0.4=1.25作业 3 的响应比=9.5 9.5/1.0=0因此,最先应该调度作业 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。整个实施过程如下。作业号213到达时间9.08.89.5所需 CPU 时间0
22、.41.51.0开始时间9.59.911.4完成时间9.911.412.4周转时间0.92.62.9作业的调度顺序是 213。各自的周转时间为:作业1 为 0.9;作业 2 为 2.6;作业 3 为 2.9。第 3 章大本习题解答一、填空1将作业相对地址空间的相对地址转换成内存中的绝对地址的过程称为地址重定位。2使用覆盖与对换技术的主要目的是提高内存的利用率。3存储管理中,对存储空间的浪费是以 内部碎片 和 外部碎片 两种形式表现出来的。4地址重定位可分为静态重定位 和 动态重定位 两种。5在可变分区存储管理中采用最正确适应算法时,最好按尺寸 法来组织空闲分区链表。6在分页式存储管理的页表里,
23、主要应该包含页号 和 块号 两个信息。7静态重定位在程序装入 时进行,动态重定位在程序执行 时进行。8在分页式存储管理中,如果页面置换算法选择不当,那么会使系统出现抖动 现象。9在请求分页式存储管理中采用先进先出FIFO页面淘汰算法时,增加分配给作业的块数时,缺页中断 的次数有可能会增加。10在请求分页式存储管理中,页面淘汰是由于缺页 引起的。11在段页式存储管理中,每个用户作业有一个段 表,每段都有一个页 表。二、选择1虚拟存储器的最大容量是由 B 决定的。A内、外存容量之和B计算机系统的地址结构C作业的相对地址空间D作业的绝对地址空间2采用先进先出页面淘汰算法的系统中,一进程在内存占3 块
24、开始为空,页面访问序列为1、2、3、4、1、2、5、1、2、3、4、5、6。运行时会产生 D 次缺页中断。A7B8从图 3-1 中的“缺页计数栏里可以看出应该选择D。C9D10页面走向123412512345612341255534463 个内存块12341222533412341112553缺页计数 图 3-1 选择题 2 配图 3系统出现“抖动现象的主要原因是由于 A 引起的。A置换算法选择不当C内存容量缺乏4实现虚拟存储器的目的是 D。B交换的信息量太大D采用页式存储管理策略A进行存储保护B允许程序浮动C允许程序移动D扩充主存容量5作业在执行中发生了缺页中断,那么经中断处理后,应返回执行
25、 B 指令。A被中断的前一条C被中断的后一条6在实行分页式存储管理系统中,分页是由 D 完成的。A程序员B用户D系统7下面的 A 页面淘汰算法有时会产生异常现象。A先进先出B被中断的那条D程序第一条C操作员B最近最少使用C最不经常使用D 最正确8在一个分页式存储管理系统中,页表的内容为:页号01块号21假设页的大小为 4KB,那么地址转换机构将相对地换成的物理地址是 A。址 0 转27A8192B4096C2048D1024注意,相对地址 0 肯定是第 0 页的第 0 个字节。查页表可知第 0 页存放在内存的第 2 块。现在块的尺寸是 4KB,因此第 2 块的起始地址为 8192。故相对地址
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课后 答案
限制150内