《操作系统四版》习题解答.docx
- 文档编号:8959637
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:55
- 大小:607.54KB
《操作系统四版》习题解答.docx
《《操作系统四版》习题解答.docx》由会员分享,可在线阅读,更多相关《《操作系统四版》习题解答.docx(55页珍藏版)》请在冰豆网上搜索。
《操作系统四版》习题解答
《操作系统(四版)》习题解答
红色字是这个学期考试内容
第1章习题答案
一、填空
1.计算机系统由硬件系统和软件系统两大部分组成。
2.按功能划分,软件可分为系统软件和应用软件两种。
3.操作系统是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。
4.操作系统的基本功能是处理机(包含作业)管理、存储管理、设备管理和文件管理。
5.在分时和批处理系统结合的操作系统中引入“前台”和“后台”作业的概念,其目的是改善系统功能,提高处理能力。
6.分时系统的主要特征为多路性、交互性、独立性和及时性。
7.实时系统与分时以及批处理系统的主要区别是实时性和可靠性。
8.若一个操作系统具有很强的交互性,可同时供多个用户使用,则它应该是分时操作系统。
9.如果一个操作系统在用户提交作业后,不提供交互能力,只追求计算机资源的利用率、大吞吐量和作业流程的自动化,则它应该属于批处理操作系统。
10.采用多道程序设计技术,能充分发挥CPU和外部设备并行工作的能力。
11.计算机网络是在计算机技术和通信技术高度发展基础上相结合的产物。
12.在计算机网络中,各计算机仍使用自己的操作系统,由它管理自身的资源。
只有各计算机间进行信息传递、以及使用网络中的可共享资源时,才会涉及到网络操作系统。
13.如果一个计算机网络系统,其处理和控制功能被分散在系统的各个计算机上,系统中的所有任务可动态地分配到各个计算机中,使它们并行执行,实现分布处理。
这样的系统被称为“分布式系统”,其上配置的操作系统,被称为“分布式操作系统”。
二、选择
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操作系统允许多个用户在其终端上同时交互地使用计算机。
A.批处理B.实时C.分时D.多道批处理
6.如果分时系统的时间片一定,那么D,响应时间越长。
A.用户数越少B.内存越少C.内存越多D.用户数越多
7.B不是实时系统的基本特点。
A.安全性B.公平响应C.实时性D.可靠性
三、问答
1.什么是“多道程序设计”技术?
它对操作系统的形成起到什么作用?
答:
所谓“多道程序设计”技术,即是通过软件的手段,允许在计算机内存中同时存放几道相互独立的作业程序,让它们对系统中的资源进行“共享”和“竞争”,以使系统中的各种资源尽可能地满负荷工作,从而提高整个计算机系统的使用效率。
基于这种考虑,计算机科学家开始把CPU、存储器、外部设备以及各种软件都视为计算机系统的“资源”,并逐步设计出一种软件来管理这些资源,不仅使它们能够得到合理地使用,而且还要高效地使用。
具有这种功能的软件就是“操作系统”。
所以,“多道程序设计”的出现,加快了操作系统的诞生。
2.怎样理解“虚拟机”的概念?
答:
拿操作系统来说,它是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。
从用户的角度看,计算机配置了操作系统后,由于操作系统隐蔽了硬件的复杂细节,用户会感到机器使用起来更方便、容易了。
这样,通过操作系统的作用使展现在用户面前的是一台功能经过扩展了的机器。
这台“机器”不是硬件搭建成的,现实生活中并不存在具有这种功能的真实机器,它只是用户的一种感觉而已。
所以,就把这样的机器称为“虚拟机”。
3.对于分时系统,怎样理解“从宏观上看,多个用户同时工作,共享系统的资源;从微观上看,各终端程序是轮流运行一个时间片”?
答:
在分时系统中,系统把CPU时间划分成许多时间片,每个终端用户可以使用由一个时间片规定的CPU时间,多个用户终端就轮流地使用CPU。
这样的效果是每个终端都开始了自己的工作,得到了及时的响应。
也就是说,“从宏观上看,多个用户同时工作,共享系统的资源”。
但实际上,CPU在每一时刻只为一个终端服务,即“从微观上看,各终端程序是轮流运行一个时间片”。
4.分布式系统为什么具有健壮性?
答:
由于分布式系统的处理和控制功能是分布的,任何站点发生的故障都不会给整个系统造成太大的影响。
另外,当系统中的设备出现故障时,可以通过容错技术实现系统的重构,以保证系统的正常运行。
这一切都表明分布式系统具有健壮性。
5.为什么嵌入式操作系统必须具有可裁剪性?
答:
基于嵌入式应用的多样化,嵌入式操作系统应该面向用户、面向产品、面向应用。
它必须有很强的适应能力,能够根据应用系统的特点和要求,灵活配置,方便剪裁,伸缩自如。
第2章习题答案
一、填空
1.进程在执行过程中有三种基本状态,它们是运行态、就绪态和阻塞态。
2.系统中一个进程由程序、数据集合和进程控制块(PCB)三部分组成。
3.在多道程序设计系统中,进程是一个动态概念,程序是一个静态概念。
4.在一个单CPU系统中,若有5个用户进程。
假设当前系统为用户态,则处于就绪状态的用户进程最多有4个,最少有0个。
注意,题目里给出的是假设当前系统为用户态,这表明现在有一个进程处于运行状态,因此最多有4个进程处于就绪态。
也可能除一个在运行外,其他4个都处于阻塞。
这时,处于就绪的进程一个也没有。
5.总的来说,进程调度有两种方式,即不可剥夺方式和剥夺方式。
6.进程调度程序具体负责中央处理机(CPU)的分配。
7.为了使系统的各种资源得到均衡使用,进行作业调度时,应该注意CPU忙碌作业和I/O忙碌作业的搭配。
8.所谓系统调用,就是用户程序要调用操作系统提供的一些子功能。
9.作业被系统接纳后到运行完毕,一般还需要经历后备、运行和完成三个阶段。
10.假定一个系统中的所有作业同时到达,那么使作业平均周转时间为最小的作业调度算法是短作业优先调度算法。
11.进程是程序的一次执行过程,程序是进程赖以存在的基础。
12.可以把CPU的指令分为两类,一类是操作系统和用户都能使用的指令,一类是只能由操作系统使用的指令。
前者称为“非特权”指令,后者称为“特权”指令。
13.系统调用命令的程序属于操作系统,它应该在管态下执行。
用户程序只有通过计算机系统提供的“访管”指令,才能实现由目态转为管态、进而调用这些系统调用命令。
14.访管指令是一条非特权指令,功能是执行它就会产生一个软中断,促使中央处理机由目态转为管态,进入操作系统,并处理该中断。
15.一个进程创建后,系统就感知到它的存在;一个进程撤销后,系统就无法再感知到它。
于是,从创建到撤销,这个时间段就是一个进程的“生命期”。
16.由于PCB是随着进程的创建而建立,随着进程的撤销而取消的,因此系统是通过PCB来“感知”系统中的进程的,PCB是进程存在的唯一标志。
17.进程调度程序负责具体的处理机分配,完成进程间的切换工作,因此它的执行频率是相当高的,是一个操作系统的真正核心。
二、选择
1.在进程管理中,当C时,进程从阻塞状态变为就绪状态。
A.进程被调度程序选中B.进程等待某一事件发生
C.等待的事件出现D.时间片到
2.在分时系统中,一个进程用完给它的时间片后,其状态变为A。
A.就绪B.等待C.运行D.由用户设定
3.下面对进程的描述中,错误的是D。
A.进程是动态的概念B.进程的执行需要CPU
C.进程具有生命周期D.进程是指令的集合
4.操作系统通过B对进程进行管理。
A.JCBB.PCBC.DCTD.FCB
5.一个进程被唤醒,意味着该进程D。
A.重新占有CPUB.优先级变为最大
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.计算机系统在执行C时,会自动从目态变换到管态。
A.P操作B.V操作C.系统调用D.I/O指令
11.进程状态由就绪变为运行,是由于C引起的。
A.中断事件B.进程状态变迁
C.进程调度D.为作业创建进程
12.当一个进程处于D时,称其为就绪状态。
A.等着读磁盘上的信息B.等着进入内存
C.等着输入一批数据D.等着获得CPU的控制权
13.在操作系统中,处于就绪和阻塞状态的进程都没有占用处理机。
当处理机空闲时,正确的操作应该是B。
A.就绪和阻塞进程都可以变迁成为运行状态
B.只有就绪进程可以变迁成为运行状态
C.只有阻塞进程可以变迁成为运行状态
D.就绪和阻塞状态的进程都不能变迁成为运行进程
14.我们把“逻辑上独立的程序,在执行时间上相互重叠,一个程序的执行还没有结束,另一个程序的执行已经开始”的这种特性,称为程序执行的A。
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个作业并没有同时到达。
11.什么是“系统进程”、什么是“用户进程”?
它们有何区别?
答:
在多道程序设计系统中,既运行着操作系统程序,又运行着用户程序,因此整个系统中存在着两类进程,一类是系统进程,一类是用户进程。
操作系统中用于管理系统资源的那些并发程序,形成了一个个系统进程,它们提供系统的服务,分配系统的资源;可以并发执行的用户程序段,形成了一个个用户进程,它们是操作系统的服务对象,是系统资源的实际的享用者。
可以看出,这是两类不同性质的进程,主要区别如下。
(1)系统进程之间的相互关系由操作系统负责协调,以便有利于增加系统的并行性,提高资源的整体利用率;用户进程之间的相互关系要由用户自己(在程序中)安排。
不过,操作系统会向用户提供一定的协调手段(以命令的形式)。
(2)系统进程直接管理有关的软、硬件资源的活动;用户进程不得插手资源管理。
在需要使用某种资源时,必须向系统提出申请,由系统统一调度与分配。
(3)系统进程与用户进程都需要使用系统中的各种资源,它们都是资源分配与运行调度的独立单位,但系统进程的使用级别,应该高于用户进程。
也就是说,在双方出现竞争时,系统进程有优先获得资源、优先得以运行的权利。
只有这样,才能保证计算机系统高效、有序的工作。
12.给定n个作业J1、J2、……Jn,它们各自的运行时间为t1、t2、……tn,且满足关系:
t1≤t2≤……≤tn,假定这些作业同时到达系统,并在CPU上按单道方式运行。
试问:
(1)采用何种调度算法,能使平均周转时间为最小?
(2)给出这批作业最短平均周转时间的计算式。
答:
(1)采用短作业优先调度算法。
(2)这批作业最短平均周转时间的计算式为:
T=[T1+T2+…+Tn]/n=[t1+(t1+t2)+(t1+t2+t3)+…+(t1+t2+…tn-1+tn)]/n
13.进程调度程序应该具有哪几个方面的主要功能?
答:
(1)记录系统中所有进程的有关情况,比如进程的当前状态、优先数等。
(2)确定分配处理机的算法,这是它的一项主要工作。
(3)完成处理机的分配。
要注意,在操作系统中,是进程调度程序实施处理机的具体分配的。
(4)完成处理机的回收。
四、计算
1.有三个作业:
作业
到达时间
所需CPU时间
1
0.0
8
2
0.4
4
3
1.0
1
分别采用先来先服务和短作业优先作业调度算法。
试问它们的平均周转时间各是什么?
你是否还可以给出一种更好的调度算法,使其平均周转时间优于这两种调度算法?
解:
(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
这时,作业的调度顺序是1→2→3。
其平均周转时间为:
(8+11.6+12)/3=10.53
(2)采用短作业优先作业调度算法时的实施过程如下。
作业
到达时间
所需CPU时间
开始时间
完成时间
周转时间
1
0.0
8
0.0
8.0
8.0
3
1.0
1
8.0
9.0
8.0
2
0.4
4
9.0
13.0
12.6
这里要注意,在作业1运行完毕进行作业调度时,作业2和3都已经到达。
由于是实行短作业优先作业调度算法,因此先调度作业3运行,最后调度作业2运行。
所以,这时的作业调度顺序是1→3→2。
其平均周转时间为:
(8+8+12.6)/3=9.53
(3)还可以有更好的作业调度算法,使其平均周转时间优于这两种调度算法。
例如,如果知道在作业1后面会来两个短作业,那么作业1到达后,先不投入运行。
而是等所有作业到齐后,再按照短作业优先作业调度算法进行调度,具体实施过程如下。
作业
到达时间
所需CPU时间
开始时间
完成时间
周转时间
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
这时的作业调度顺序是3→2→1。
其平均周转时间为:
(1+5.6+14)/3=6.87
2.设有一组作业,它们的到达时间和所需CPU时间如下所示。
作业号
到达时间
所需CPU时间
1
9:
00
70分钟
2
9:
40
30分钟
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分钟
这时,作业的调度顺序是1→2→3→4。
其平均周转时间为:
(70+60+60+45)/4=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分钟
这时,作业的调度顺序是1→4→3→2。
其平均周转时间为:
(70+5+35+75)/4=46.25
3.某系统有三个作业:
作业号
到达时间
所需CPU时间
1
8.8
1.5
2
9.0
0.4
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
因此,最先应该调度作业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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统四版 操作系统 习题 解答