操作系统第三版刘振鹏 王煜 张明 编著 答案.docx
《操作系统第三版刘振鹏 王煜 张明 编著 答案.docx》由会员分享,可在线阅读,更多相关《操作系统第三版刘振鹏 王煜 张明 编著 答案.docx(48页珍藏版)》请在冰豆网上搜索。
操作系统第三版刘振鹏王煜张明编著答案
第1章引论
1.什么是硬件系统?
什么是软件环境?
它们之间有什么联系?
答:
计算机硬件是指计算机系统中由电子、机械和光电元件等组成的各种计算机部件和计算机设备。
这些部件和设备依据计算机系统结构的要求构成的有机整体,称为计算机硬件系统。
软件是计算机系统中的程序和有关的文件。
程序是计算任务的处理对象和处理规则的描述;文件是为了便于了解程序所需的资料说明。
硬件为软件提供具体实现的基础,软件是用户与硬件之间的接口界面。
2.什么是操作系统?
操作系统追求的主要目标是什么?
答:
操作系统是计算机系统中的一个系统软件,是能有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行的一组程序模块的集合。
操作系统追求的主要目标包括四个方面,分别是:
方便性、有效性、可扩充性、开放性。
3.在用户程序与硬件裸机之间,操作系统可以分为那几个模块?
答:
在用户程序与硬件裸机之间,操作系统可以分为:
系统软件、支撑软件和应用软件三个模块。
4.操作系统如何实现计算机操作的自动化?
如何看待操作系统在计算机系统中的地位?
答:
(1)计算机操作系统是实现自动化控制的一部分,大致可以把操作系统分为以下几类:
批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。
其中批处理操作系统、分时操作系统、实时操作系统是基本的操作系统。
批处理操作系统按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。
又可分为批处理单道系统和批处理多道系统。
单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。
批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率。
分时操作系统,这种系统中,一个计算机系统与许多终端设备连接,分时系统支持多个终端用户,同时以交互方式使用计算机系统,为用户在测试、修改和控制程序执行方面提供了灵活性。
实时操作系统能使计算机系统接收到外部信号后及时进行处理,并在严格的规定时间内完成处理,且给出反馈信号。
它是较少有人为干预的监督和控制系统。
实时系统对可靠性和安全性要求极高,不强求系统资源的利用率。
网络操作系统可以把若干计算机联合起来,实现各台计算机之间的通信及网络中各种资源的共享,像我们现在使用的Windows,UNIX和Linux等操作系统都是网络操作系统。
分布式操作系统的网络中各台计算机没有主次之分,在任意两台计算机间的可进行信息交换和资源共享。
这一点上分布式操作系统和网络操作系统差别不大,他们的本质区别在于:
分布式操作系统能使系统中若干计算机相互协作完成一个共同的任务。
这使得各台计算机组成一个完整的,功能强大的计算机系统。
(2)操作系统实际上是一个计算机系统中硬、软件资源的总指挥部。
操作系统的性能高低,决定了整体计算机的潜在硬件性能能否发挥出来。
操作系统本身的安全性和可靠程度,在一定程度上决定了整个计算机系统的安全性和可靠度。
它是软件技术的核心,是软件的基础运行平台。
操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充,支持其他所有软件运行。
5.操作系统分成哪几类?
答:
单道批处理系统、多道批处理系统、分时系统、实时系统、微机操作系统、多处理机操作系统、网络操作系统和分布式操作系统。
6.从资源管理的角度来看,操作系统具有哪些功能?
答:
从资源管理的角度来看,操作系统的基本功能可分为五大部分
(1)处理器管理:
为用户地分处理器时间,尽可能地使处理器处于忙状态,提高处理器的工作效率。
(2)存储管理:
实现对主存储器的管理,为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。
(3)文件管理:
面向用户实现按文件名存取文件,管理用户信息的存储、检索、共享和保护,合理地分配和使用文件的存储空间。
(4)设备管理:
负责管理各种外围设备,包括设备的分配、启动以及SPOOL的实现技术。
(5)作业管理:
实现作业调度和控制作业的执行。
作业调度从等待处理的作业中选择可以装入主存储器的作业,对已经装入主存储器的作业按用户的意图控制其执行。
⒎讨论操作系统可以从哪些角度出发,如何统一看待它们?
答:
可以从软件的观点、计算机系统资源管理的观点、进程的观点、用户与计算机硬件系统之间的观点、虚机器观点、服务提供者观点。
⒏简述操作系统发展的几个阶段。
答:
(1)1946年——50年代末,第一代电子管时代,无操作系统
(2)1950年代末60年代中期,第二代晶体管时代,批处理系统;
(3)1960年代中期——70年代中期,第三代,集成电路时代,多道程序设计;
(4)1970年代中期至今,第四代,大规和超大规模集成电路时代,分时系统;
也可以把操作系统的发展阶段总结为:
第一代是以dos为代表的磁盘操作系统时代,以磁盘管理的方式来管理内容;第二代是以Windows为代表的文件操作系统时代,以文件管理的方式来管理内容;第三代是以安卓和ios为代表的应用操作系统时代,应用成为主要的管理内容的工具;第四代,则是即将来临的时代,超级app凌驾于操作系统之上的时代。
⒐什么叫批处理系统?
它可分为哪两种?
答:
通常是把一批作业以脱机输入方式输入到磁带上,并在系统中配上监督程序,在监督程序的控制下使这批作业能一个接一个地连续处理,这样的系统成为批处理系统。
可分为单道批处理系统和多道批处理系统。
10.什么是多道程序系统?
其主要特性是什么?
答:
多道程序系统是指在内存中同时放入若干道作业,并且可以相互交替执行程序。
多道程序设计的基本特征:
多道性、无序性、调度性。
11.什么是分时系统?
其主要特点是什么?
答:
分时系统是指一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,每个用户都可以通过自己的终端以交方式使用计算机的系统。
特点:
多路性、独立性、及时性、交互性。
12.什么是实时系统?
主要有哪几大类?
答:
实时系统是指系统能及时响应外部事件请求,在规定的时间内完成该事件的处理,并控制所有实时任务协调一致的运行。
主要包括:
(1)按任务执行时是否呈现周期性来划分,包括:
周期性实时任务、非周期性实时任务。
(2)根据对截止时间的要求来分,包括:
强实时任务、弱实时任务。
13.实时系统与分时系统命令的主要区别有哪些?
答:
分时操作系统特点:
多路性、交互性、独立性、及时性
实时操作系统特点:
多路性、交互性、独立性、及时性、可靠性
(1)多路性。
实时信息处理系统也按分时原则为多个终端用户服务。
实时控制系统的多路性则主要表现在系统周期性地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。
而分时系统中的多路性则与用户情况有关,时多时少。
(2)独立性。
实时信息处理系统与分时系统一样具有独立性,每个终端用户在向实时系统提出服务请求时,是彼此独立地操作,互不干扰;而实时控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰。
(3)及时性。
实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微秒。
(4)交互性。
实时信息处理系统虽然也具有交互性,但这里人与系统的交互仅限于访问系统中某些特定的专用服务程序。
它不像分时系统那样能向终端用户提供数据处理和资源共享等服
(5)分时系统虽然也要求系统可靠,但相比之下,实时系统则要求系统高度可靠。
14.简述操作系统的特征?
答:
并发、共享、虚拟、异步性。
15.简述处理机的组成和工作原理。
你认为哪些部分和操作系统密切相关?
为什么?
一般处理器由运算器、控制器、一系列的寄存器以及高速缓存构成。
运算器实现任何指令中的算术和逻辑运算,是计算机计算的核心;控制器负责控制程序运行的流程,包括取指令,维护CPU状态,CPU与内存之间的交互等等。
寄存器是指令在CPU内部做处理的过程中暂存数据,地址一级指令信息的存储设备,在计算机的存储系统中它具有最快的访问速度。
加上高速缓存以及内存管理单元(MMU)。
16.为了支持操作系统,现代处理机一般都提供哪两种工作状态以隔离操作系统和普通程序?
两种状态各有什么特点?
答:
管态(特权态)和目态(用户态)
管态一般指操作系统管理程序运行时的状态,具有较高的特权级别,可以执行所有指令;而目态一般指用户程序运行时的状态,具有较低的特权级别,只可以执行非特权指令。
17.什么是分级的存储体系结构?
它主要解决了什么问题?
答:
为了解决对存储器要求容量大,速度快,成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。
名 称
简称
用 途
特 点
高速缓冲存储器
Cache
高速存取指令和数据
存取速度快,但存储容量小
主存储器
主存
存放计算机运行期间的大量程序和数据
存取速度较快,存储容量不大
外存储器
外存
存放系统程序和大型数据文件及数据库
存储容量大,位成本低
18.内存通常有哪两种类型?
它们各自的特点是什么?
用在那里?
答:
读/写型存储器(RAM)和只读存储器(ROM)
读/写型存储器(RAM)是指可以把数据存入其中任一地址单元,并且可在以后的任何时候把数据读出来,或者重新存入别的数据的一种存储器,这种存储器通常称为随机访问存储器,断电后信息会消失。
主要用于存放随机存取的程序和数据。
只读存储器(ROM)是指只能从其中读取数据,但不能随意地用普通的方法向其中写入数据(向其中写入数据只能用特殊的方法),这种存储器通常称为只读存储器,断电后信息不会消失。
通常把一些常驻内存的模块以微程序形式固化在ROM中。
19.简述程序的局部性原理。
这个原理在分级的存储体系结构中是怎样起作用?
答:
原理:
程序执行时,处理器为了取得指令和数据而访问存储器。
现代的程序设计技术很注重程序代码的复用,这样,程序中会有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合。
类似地,对数据存取也有这样的局部性。
在经过一段时间以后,使用到的代码和数据的集合会改变,但在较短的时间内它们能比较稳定地保持在一个存储器的局部区域中,处理器也主要和存储器的这个局部打交道。
作用:
基于这一原理,就有充分的理由设计出多级存储的体系结构,并使得存取级别较低的存储器的比率小于存取级别较高的存储器的比率。
20.缓冲技术在计算机系统中起着什么样的作用?
它是如何工作的?
答:
作用:
解决了部件之间速度不匹配的问题。
工作:
每当用户要求输入数据时,先在缓冲区中寻找,如果已经在缓冲区,即可直接从中读取,如果不在,就再访问内存,由内存输入到缓冲区再由用户使用
21.简述中断和操作系统的关系。
操作系统是如何利用中断机制的?
答:
中断是处理机对系统中或系统外发生的异步事件的响应。
中断装置就是在CPU每执行完一条指令后,判别是否有事件发生,如果没有事件发生,CPU继续执行;若有事件发生,中断装置中断原先占用CPU的程序的执行,把被中断程序的断点保存起来,让操作系统的处理服务程序占用CPU对事件进行处理,处理完后,再让被中断的程序继续占用CPU执行下去。
中央处理器在任何时刻最多只能被一个程序占用。
通过中断装置系统中若干程序可以交替地占用处理器,形成多个程序同时执行的状态。
利用CPU与外围设备的并行工作能力,以及各外围设备之间的并行工作能力,操作系统能让多个程序同时执行。
22.时钟对操作系统有什么作用?
答:
在计算机系统中,设置时钟是十分必要的。
这是由于时钟以为计算机完成以下必不可少的工作:
1.在多道程序运行环境中,它可以为系统发现一个陷入死循环(编程错误)的作业,从而防止机时的浪费。
2.在分时系统中,用间隔时钟来实现作业间按时间片轮转。
3.在实时系统中,按要求的进间间隔输出正确的时间信息号给一个实时控制的控制设备(如A/D、D/A转换设备。
4.定时唤醒那些要求延迟执行的各个外部事件(如定时为各进程计算优先数,银行系统中定时运行某类结账程序等)。
5.记录用户使用各种设备的时间和记录某外部事件发生的时间间隔。
6.记录用户和系统所需要的绝对时间,即年、月、日。
23.操作系统结构设计有哪几种方法?
各有何优缺点?
答:
操作系统结构设计有:
(1)模块化结构操作系统优点:
提高了操作系统设计的正确性,可理解性和维护性;增强了操作系统的可适应性;加速了操作系统的开发过程;
(2)层次结构操作系统优点:
易保证系统的正确性;易扩充性和易维护性;
(3)微内核优点:
足够小的内核;基于客户/服务器模式;应用机制和策略分离的技术;采用面向对象的技术;
(4)客户/服务器模式优点:
允许数据的分布处理要和存储,有便于集中管理,灵活性和可扩充性强,易修改。
第2章用户接口与作业管理
1.解释作业和作业步?
答:
作业:
把一次计算机过程或者事务处理过程中,肏输入输出结束,用户要求计算机所做的全部工作;
作业步:
完成作业的每一个步骤。
2.阐述程序、作业、作业步的联系与区别
答:
联系:
用户要求计算机处理的问题,要用某种程序设计语言对要处理的问题编制程序后交给计算机系统,作业的每一个加工步骤称为一个作业步,针对每个作业步,计算机系统要创建一个或多个进程才能执行。
区别:
程序是指令的集合;进程是程序在一个数据集上的一次执行;用户要求计算机系统处理的个别计算问题成为一个“作业”。
任何一个作业都要经过若干加工步骤才能得到结果,作业的每一个加工步骤称为一个作业步。
3.什么是作业调度?
作业调度选择作业的必要条件是什么?
答:
操作系统根据允许并行工作的道数和一定的算法从等待的作业(后备作业)中选取若干作业装入主存储器,使它们可以去获得处理器运行,这项工作称为作业调度。
作业调度的必要条件是,即只有在系统当前尚未分配的资源可以满足在系统中等待执行的作业的资源要求。
4.操作系统提供了哪些便于用户控制交互式作业的使用接口
答:
操作系统提供了命令接口、程序接口、图形接口三种类型的用户接口,其中程序接口是操作系统专门为用户程序设置的,也是用户程序取得操作系统服务的唯一途径。
程序接口通常由各种各样的系统调用所组成。
⒌一个具有分时兼批处理功能的操作系统应怎样调度和管理作业?
为什么?
答:
在一个具有分时兼批处理的计算机系统中总是优先接纳终端用户作业,仅当终端作业数小于系统可以允许同时工作的作业数时,可以调度批处理作业,允许终端作业和批处理作业混合同时执行。
为了使终端用户有满意的时间,可采用分级调度的方法分配处理器。
可把有关终端作业的就绪进程排成一个就绪队列,而把有关批处理作业的就绪进程排入另外的就绪队列中。
当有终端作业的就绪进程时,总是让终端作业的就绪进程按“时间片轮转”的方法现占用处理器。
当无终端作业的就绪进程时,才去查看批处理作业的就绪队列,按确定的算法从中选择一个就绪进程让它占用处理器。
可使终端用户满意,又能提高系统效率。
⒍系统采用不能移动已在主存储器中作业的可变分区方式管理主存储器,现有供用户使用的主存空间100K,系统配有4台磁带机,有一批作业见表2.6。
表2.6
作业序号进输入井时间要求计算时间需要主存量申请磁带机数
1
l0:
00
25分钟
15K
2台
2
10:
20
30分钟
80K
1台
3
10:
30
10分钟
50K
3台
4
10:
35
20分钟
10K
2台
5
10:
40
15分钟
30K
2台
该系统采用多道程序设计技术,对磁带机采用静态分配,忽略设备工作时间和系统进行调度所花的时间,请分别写出采用“先来先服务调度算法”、“计算时间短的作业优先算法”和选中作业执行的次序以及各个作业的装入主存时间、开始执行时间、完成时间、周转时间以及它们的平均周转时间。
注意:
作业从提交到完成需要经过两级调度,分别是作业调度和进程调度,这两级调度采用相同的调度策略。
答:
1.作业调度和进程调度均采用FCFS调度算法。
作业序号
进入输入井时间
执行次序
装入内存时间
开始执行时间
完成时间
周转时间
1
10:
00
1
10:
00
10:
00
10:
25
25
2
10:
20
2
10:
20
10:
25
10:
55
35
3
10:
30
4
11:
30
11:
30
11:
40
70
4
10:
35
3
10:
35
10:
55
11:
15
40
5
10:
40
5
10:
55
11:
15
11:
30
50
平均周转时间=(25+35+70+40+50)/5=44
(2)
作业调度和进程调度均采用最短作业优先调度算法。
最短作业优先
作业序号
进入输入井时间
执行次序
装入内存时间
开始执行时间
完成时间
周转时间
备注
1
10:
00
1
10:
00
10:
00
10:
25
25
2
10:
20
2
10:
20
10:
25
10:
55
35
3
10:
30
5
11:
30
11:
30
11:
40
70
4
10:
35
4
10:
35
11:
10
11:
30
55
5
10:
40
3
10:
55
10:
55
11:
10
30
平均周转时间=(25+35+70+55+30)/5=43
(3)作业调度和进程调度均采用响应比最高者优先调度算法。
作业序号
进入输入井时间
执行次序
装入内存时间
开始执行时间
完成时间
周转时间
备注
1
10:
00
1
10:
00
10:
00
10:
25
25
2
10:
20
2
10:
20
10:
25
10:
55
35
3
10:
30
5
11:
30
11:
30
11:
40
70
4
10:
35
4
10:
35
10:
55
11:
15
40
10:
55时,作业2结束,内在中有作业4和5,作业4的响应比=2,作业5的响应比=1,应调度4
5
10:
40
3
10:
55
11:
15
11:
30
50
平均周转时间=(25+35+70+40+50)/5=44
7.在一个批处理单道系统中,采用响应比高者优先的作业调度算法。
当一个作业进入系统后就开始调度。
假定作业都仅是计算,忽略调度花费的时间。
现有3个作业,进入系统的时间和需要计算的时间如表2-2
表2—2进入系统的时间和需要计算的时间表
作业
进入系统时间
需要计算时间
开始时间
完成时间
周转时间
1
9:
00
60分钟
9:
00
10:
00
60分钟
2
9:
10
45分钟
10:
25
11:
10
120分钟
3
9:
15
25分钟
10:
00
10:
25
70分钟
(1)求出每个作业的开始时间、完成时间及周转时间。
答:
(1)由于作业1先被调度,所以作业1的开始时间为:
9:
00,完成时间为:
10:
00,周转时间:
60分钟(完成时间-进入系统时间):
作业2的响应比=1+50/45
作业3的响应比=1+45/25
因为作业3的响应比>作业2的响应比高,则作业3被调度。
所以作业3开始时间为:
10:
00,完成时间:
10:
25,周转时间:
70分钟,
继续调度作业2,所以开始时间为:
10:
25,完成时间:
11:
10,周转时间:
120分钟
(2)计算三个作业的平均周转时间应为多少?
平均周转时间==83≈83.3分钟
8.批处理作业是如何控制执行的?
答:
按用户提交作业控制说明书控制作业的执行。
一个作业往往要分几个作业步执行,一般说,总是按照作业步顺序控制作业执行的,一个作业步的工作完成后,继续下一个作业步的工作,直至作业执行结束,一个作业步的工作往往由多个进程合作来完成。
9.设有I/O频繁、I/O与计算机均衡和计算量大的3个作业,它们同时进入内存并行工作,请给每个作业赋予运行优先数,并说明理由。
答:
选择作业调度算法要考虑多种因素,其中一个重要的因素就是系统资源的均衡使用。
用户作业所需资源差异很大,例如,进行科学计算的作业(CUP繁忙)要求较多的CPU时间,而输入/输出要求较少;事务处理作业(I/O繁忙)要求较少的CPU时间,而要求较多的输出打印各种表格。
因此在考虑设计目标的前提下,合理搭配各种类型的作业,最大限度地发挥各种资源的效益,使它们得到充分利用,这对提高整个计算机系统效益会有好处。
计算量大的作业的优先级为1、I/O与计算机均衡作业的优先级为2、I/O频繁作业的优先级为3。
10.什么是系统调用?
系统调用与一般过程调用的区别是什么?
答:
系统调用在本质上是应用程序请求操作系统核心完成某一特定功能的一种过程调用,是一种特殊的过程调用,它与一般的过程调用有以下几方面的区别:
(1)通过软中断进入
一般的过程调用可直接由调用过程转向被调用过程;而执行系统调用时,由于调用和被调用过程是处于不同的系统状态,因而不允许由调用过程直接转向被调用过程,而通常都是通过软中断机制转向相应的命令处理程序。
(2)运行在不同的处理机状态
一般的过程调用,其调用程序和被调用程序都运行在相同的处理机状态。
而系统调用与一般调用的最大区别就在于:
调用程序运行在目态,而被调用程序运行在管态。
(3)处理机状态的转换
一般的过程调用不涉及系统状态的转换,直接由调用过程转向被调用过程。
但在运行系统调用时,由于调用和被调用过程工作在不同的系统状态,因而不允许由调用过程直接转向被调用过程,通常都是通过软中断机制先由目态转换为管态,在操作系统核心分析之后,再转向相应的系统调用处理程序。
(4)返回问题
一般的过程调用在被调用过程执行完后,将返回到调用过程继续执行。
但是,在采用抢占式调度方式的系统中,系统调用在被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析。
如果调用进程仍然具有最高优先级,则返回到调用进程继续执行,否则,将重新调度,以便让优先级最高的进程优先执行。
此时,系统将把调用进程放入就绪队列中。
(5)嵌套调用
像一般过程一样,系统调用也允许嵌套调用,即在一个被调用过程的执行期间,还可以再利用系统调用命令去调用另一个系统调用。
一般情况下,每个系统对嵌套调用的深度都有一定的限制,例如最大深度为6。
11.分时系统中终端处理程序的作用是什么?
答:
配置在终端上的终端处理程序主要用于实现人机交互,接收用户从终端上输入的字符、字符缓冲管理、回送显示、屏幕编辑和特殊字符处理。
第3章进程与进程管理
⒈什么是进程?
它与程序有哪些异同点?
答:
进程是具有独立功能的可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的独立单位。
或者说,进程是进程实体的运行过程。
异同点:
①进程是程序的一次执行,它是一个动态的概念,程序是完成某个特定功能的指令的有序序列,它是—个静态的概念。
但进程是把程序作为它的运行实体,没有程序,也就没有进程。
进程和程序的区别还在于:
一个进程可以执行一个或几个程序。
反之,同一程序也可能由多个进程同时执行。
②进程是系统进行资源分配和调度的一个