操作系统课后题及答案Word下载.docx
《操作系统课后题及答案Word下载.docx》由会员分享,可在线阅读,更多相关《操作系统课后题及答案Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
14.处理机管理有哪些主要功能?
它们的主要任务是什么?
处理机管理的主要功能是:
进程管理、进程同步、进程通信和处理机调度;
进程管理:
为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。
进程同步:
为多个进程(含线程)的运行______________进行协调。
通信:
用来实现在相互合作的进程之间的信息交换。
处理机调度:
(1)作业调度。
从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需
的资源(首选是分配内存)。
(2)进程调度:
从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给
它,并设置运行现场,使进程投入执行。
15.内存管理有哪些主要功能?
他们的主要任务是什么?
北京石油化工学院信息工程学院计算机系3/48
《计算机操作系统》习题参考答案余有明与计07和计G09的同学们编著3/48
内存管理的主要功能有:
内存分配、内存保护、地址映射和内存扩充。
内存分配:
为每道程序分配内存。
内存保护:
确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。
地址映射:
将地址空间的逻辑地址转换为内存空间与对应的物理地址。
内存扩充:
用于实现请求调用功能,置换功能等。
16.设备管理有哪些主要功能?
其主要任务是什么?
主要功能有:
缓冲管理、设备分配和设备处理以及虚拟设备等。
主要任务:
完成用户提出的I/O请求,为用户分配I/O设备;
提高CPU和I/O设
备的利用率;
提高I/O速度;
以及方便用户使用I/O设备.
17.文件管理有哪些主要功能?
文件管理主要功能:
文件存储空间的管理、目录管理、文件的读/写管理和保护。
文件管理的主要任务:
管理用户文件和系统文件,方便用户使用,保证文件安全性。
18.是什么原因使操作系统具有异步性特征?
操作系统的异步性体现在三个方面:
一是进程的异步性,进程以人们不可预知的速度向
前推进,二是程序的不可再现性,即程序执行的结果有时是不确定的,三是程序执行时间的
不可预知性,即每个程序何时执行,执行顺序以及完成时间是不确定的。
23.何谓微内核技术?
在微内核中通常提供了哪些功能?
把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个
尽量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。
在微内
核中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理等功能。
第二章
2.画出下面四条语句的前趋图:
S1=a:
=x+y;
S2=b:
=z+1;
S3=c:
=a–b;
S4=w:
=c+1;
5.在操作系统中为什么要引入进程概念?
它会产生什么样的影响?
为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,在操
作系统中引入了进程概念。
影响:
使程序的并发执行得以实行。
6.试从动态性,并发性和独立性上比较进程和程序?
(1)动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源
而暂停执行,由撤销而消亡。
进程有一定的生命期,而程序只是一组有序的指令集合,是静
态实体。
(2)并发性是进程的重要特征,同时也是OS的重要特征。
引入进程的目的正是为了使
其程序能和其它进程的程序并发执行,而程序是不能并发执行的。
(3)独立性是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独
立调度的基本单位。
对于未建立任何进程的程序,不能作为独立单位参加运行。
7.试说明PCB的作用,为什么说PCB是进程存在的惟一标志?
PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。
作用是使一个在
多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程
并发执行的进程。
OS是根据PCB对并发执行的进程进行控制和管理的。
8.试说明进程在三个基本状态之间转换的典型原因。
(1)就绪状态→执行状态:
进程分配到CPU资源
(2)执行状态→就绪状态:
时间片用完
(3)执行状态→阻塞状态:
I/O请求
(4)阻塞状态→就绪状态:
I/O完成
13.在创建一个进程时所要完成的主要工作是什么?
(1)OS发现请求创建新进程事件后,调用进程创建原语Creat();
(2)申请空白PCB;
(3)为新进程分配资源;
(4)初始化进程控制块;
(5)将新进程插入就绪队列.
14.在撤销一个进程时所要完成的主要工作是什么?
(1)根据被终止进程标识符,从PCB集中检索出进程PCB,读出该进程状态。
(2)若被终止进程处于执行状态,立即终止该进程的执行,置调度标志真,指示该进程被
终止后重新调度。
(3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不可控进程。
(4)将被终止进程拥有的全部资源,归还给父进程,或归还给系统。
(5)将被终止进程PCB从所在队列或列表中移出,等待其它程序搜集信息。
16.进程在运行时存在哪两种形式的制约?
并举例说明之。
(1)间接相互制约关系。
举例:
有两进程A和B,如果A提出打印请求,系统已把唯一的
一台打印机分配给了进程B,则进程A只能阻塞;
一旦B释放打印机,A才由阻塞改为就
绪。
(2)直接相互制约关系。
有输入进程A通过单缓冲向进程B提供数据。
当缓冲空时,
计算进程因不能获得所需数据而阻塞,当进程A把数据输入缓冲区后,便唤醒进程B;
反
之,当缓冲区已满时,进程A因没有缓冲区放数据而阻塞,进程B将缓冲区数据取走后便
唤醒A。
17.为什么进程在进入临界区之前应先执行“进入区”代码?
而在退出前又要执行“退出
区”代码?
为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问
的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,
并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码为"
进入区"
代码;
在退出临界区后,必须执行"
退出区"
代码,用于恢复未被访问标志,使其它进程
能再访问此临界资源。
18.同步机构应遵循哪些基本准则?
为什么?
同步机构应遵循的基本准则是:
空闲让进、忙则等待、有限等待、让权等待
原因:
为实现进程互斥进入自己的临界区。
26.试修改下面生产者-消费者问题解法中的错误:
producer:
begin
repeat
…
produceraniteminnextp;
wait(mutex);
wait(full);
/*应为wait(empty),而且还应该在wait(mutex)的前面*/
buffer(in):
=nextp;
/*缓冲池数组游标应前移:
in:
=(in+1)modn;
*/
signal(mutex);
/*signal(full);
untilfalse;
end
consumer:
wait(empty);
/*应为wait(full),而且还应该在wait(mutex)的前面*/
nextc:
=buffer(out);
out:
=out+1;
/*考虑循环,应改为:
out:
=(out+1)modn;
/*signal(empty);
consumeriteminnextc;
27.试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法.
Varchopstick:
array[0,…,4]ofsemaphore;
所有信号量均被初始化为1,第i位哲学家的活动可描述为:
Repeat
Wait(chopstick[i]);
Wait(.chopstick[(i+1)mod5]);
;
Signal(chopstick[i]);
Signal(chopstick[(i+1)mod5])
Think;
Untilfalse;
第三章
1.高级调度与低级调度的主要任务是什么?
为什么要引入中级调度?
高级调度的主要任务是根据某种算法,把外存上处于后备队列中的那些作业调入内存。
低级调度是保存处理机的现场信息,按某种算法先取进程,再把处理器分配给进程。
引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。
使那些暂时不能运行的进程不再占用内存资源,将它们调至外存等待,把进程状态改为就绪驻外存状态或挂起状态。
5.试说明低级调度的主要功能。
(1)保存处理机的现场信息
(2)按某种算法选取进程(3)把处理机分配给进程。
6.在抢占调度方式中,抢占的原则是什么?
抢占的原则有:
时间片原则、优先权原则、短作业优先权原则等。
18.何谓死锁?
产生死锁的原因和必要条件是什么?
死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状
态时,若无外力作用,它们都将无法再向前推进。
产生死锁的原因为竞争资源和进程间推进顺序非法。
其必要条件是:
互斥条件、请求和
保持条件、不剥夺条件、环路等待条件。
19.在解决死锁问题的几个方法中,哪种方法最易于实现?
哪种方法使资源利用率最高?
解决死锁的四种方法即预防、避免、检测和解除死锁中,预防死锁最容易实现;
避免死锁使资源的利用率最高。
20.请详细说明可通过哪些途径预防死锁。
(1)摈弃“请求和保持”条件,就是如果系统有足够资源,便一次性把进程需要的所
有资源分配给它;
(2)摈弃“不剥夺”条件,就是已经拥有资源的进程,当它提出新资源请求而不能立即
满足时,必须释放它已保持的所有资源,待以后需要时再重新申请;
(3)摈弃“环路等待”条件,就是将所有资源按类型排序标号,所有进程对资源的请求
必须严格按序号递增的次序提出。
21.在银行家算法的例子中,如果P0发出请求向量由Request(0,2,0)改为Request(0,1,0),,
问系统可否将资源分配给它?
(此答案有点问题,需重新考虑)
(1)可以。
银行家算法各种资源数量分别为10、5、7,在T0时刻的资源分配如图所示:
(2)具体分析如下:
①Requst0(0,1,0)<
=Need0(7,4,3);
②Requst0(0,1,0)<
=Available(2,3,0);
系统先假定可为P0分配资源,并修改Available0,Allocation0和Need0向量,由此形成
的资源变化情况如下图所示:
(3)P0请求资源:
P0发出请求向量Requst0(0,1,0),系统按银行家算法进行检查:
③系统暂时先假定可为P0分配资源,并修改______________有关数据,如下图所示
综上所述系统可以将资源分配给它。
22.银行家算法中出现以下资源分配,试问
(1)该状态是否安全?
(2)若进程P2提出
Request(1,2,2,2)后,系统能否将资源分配给它?
试问:
(1)该状态是否安全?
(2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?
(参考答案有错)
(1)安全,因为存在安全序列{P0,P3,P4,P1,P2}
(2)系统能分配资源,分析如下。
①Request(1,2,2,2)<
=Need2(2,3,5,6);
②Request(1,2,2,2)<
=Available2(1,3,5,4)改成Available2(1,6,2,2);
③系统先假定可为P2分配资源,并修改Available2,Allocation2和Need2向量,
由此形成的资源变化情况如下图所示:
④再利用安全性算法检查此时系统是否安全。
如下图
由此进行的安全性检查得知,可以找到一个安全序列{P2,P0,P1,P3,P4}。
第四章
2.可采用哪几种方式将程序装入内存?
它们分别适用于何种场合?
(1)绝对装入方式,只适用于单道程序环境。
(2)可重定位装入方式,适用于多道程序环境。
(3)动态运行时装入方式,用于多道程序环境;
不允许程序运行时在内存中移位置。
5.在动态分区分配方式中,应如何将各空闲分区链接成空闲分区链?
在每个分区的起始部分,设置一些控制分区分配的信息,以及用于链接各分区所用的前
向指针;
在分区尾部设置一个后向指针,通过前后向链接指针,将所有空闲分区链成一个双
向链。
当分区分配出去后,把状态位由“0”改为“1”。
7.在采用首次适应算法回收内存时,可能出现哪几种情况?
应怎样处理这些情况?
在采用首次适应算法回收内存时可能出现4种情况:
(1)回收区前邻空闲区。
将回收区与前邻空闲区合并,将前邻空闲区大小修改为两者之和。
(2)回收区后邻空闲区。
将两区合并,改后邻空闲区始址为回收区始址,大小为两者之和。
(3)回收区前后均邻空闲区。
将三个分区合并,修改前邻空闲区大小为三者之和。
(4)回收区前后均不邻空闲区。
为回收区设置空闲区表项,填入回收区始址和大小并插入
空闲区队列。
9.分区存储管理中常用那些分配策略?
比较它们的优缺点。
分区存储管理中的常用分配策略:
首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。
首次适应算法优缺点:
保留了高址部分的大空闲区,有利于后来的大型作业分配;
低址部分
断被划分,留下许多难以利用的小空闲区,每次查找都从低址开始增加
了系统开销。
循环首次适应算法优缺点:
内存空闲分区分布均匀,减少了查找系统开销;
缺乏大空闲分区,导致不能装入大型作业。
最佳适应算法优缺点:
每次分配给文件的都是最适合该文件大小的分区,内存中留下许多难以利用的小空闲区。
最坏适应算法优缺点:
剩下空闲区不太小,产生碎片几率小,对中小型文件分配分区操作有利;
存储器中缺乏大空闲区,对大型文件分区分配不利。
19.虚拟存储器有哪些特征?
其中最本质的特征是什么?
虚拟存储器有多次性、对换性、虚拟性三大特征。
最本质的特征是虚拟性。
20.实现虚拟存储器需要哪些硬件支持?
(1)请求分页(段)的页(段)表机制
(2)缺页(段)中断机构(3)地址变换机构
22.在请求分页系统中,页表应包括哪些数据项?
每项的作用是什么?
页表应包括:
页号、物理块号、状态位P、访问字段A、修改位M和外存地址。
其中状态位P指示该页是否调入内存,供程序访问时参考;
访问字段A用于记录本页在一
段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页面时参
考;
修改位M表示该页在调入内存后是否被修改过;
外存地址用于指出该页在外存上的地
址,通常是物理块号,供调入该页时使用。
26.在一个请求分页系统中,采用LRU页面置换算法时,假如一个作业的页面走向为4,3,2,1,4,3,5,4,3,2,1,5,当分配给该作业的物理块数M分别为3和4时,
试计算访问过程中所发生的缺页次数和缺页率时,试计算访问过程中所发生的缺页次数和缺页率?
比较所得结果?
当分配给该作业的物理块数M为3时,缺页9次,缺页率:
9/12=3/4;
当分配给该作业的物理块数M为4时,缺页10次,缺页率:
10/12=5/6.
第五章
3.什么是字节多路通道?
什么是数组选择通道和数组多路通道?
(1)字节多路通道。
按字节交叉方式工作的通道。
通常含有许多非分配型子通道,数
量从几十到数百个,每个子通道连接一台I/O设备,控制其I/O操作。
子通道按时间片轮
转方式共享主通道。
(2)数组选择通道。
按数组方式传送数据,传输速率很高,每次只允许一个设备数据。
(3)数组多路通道。
将数组选择通道传输速率高和字节多路通道的各子通道分时并行操作的优点结合而成。
含有多个非分配型子通道,具有很高的数据传输率和通道利用率。
4.如何解决因通道不足而产生的瓶颈问题?
解决问题的有效方法是增加设备到主机间的通路而不增加通道,把一个设备连到多个控制器上,控制器又连到多个通道上,这种多通路方式解决了“瓶颈”问题,提高了系统可靠性,个别通道或控制器的故障不会使设备和存储器之间没有通路。
7.有哪几种I/O控制方式?
各适用于何种场合?
共有四种I/O控制方式。
(1)程序I/O方式:
早期计算机无中断机构,处理机对I/O设备的控制采用程序I/O方式或称忙等的方式。
(2)中断驱动I/O控制方式:
适用于有中断机构的计算机系统中。
(3)直接存储器访问(DMA)I/O控制方式:
适用于具有DMA控制器的计算机系统中。
(4)I/O通道控制方式:
具有通道程序的计算机系统中。
9.引入缓冲的主要原因是什么?
引入缓冲的主要原因是:
(1)缓和CPU与I/O设备间速度不匹配的矛盾
(2)减少对CPU的中断频率,放宽对中断响应时间的限制
(3)提高CPU与I/O设备之间的并行性
18.试说明SPOOLing系统的组成。
SPOOLing系统由输入井和输出井、输入缓冲区和输出缓冲区、输入进程SPi和输出进程SPo三部分组成。
19.在实现后台打印时,SPOOLing系统应为请求I/O的进程提供哪些服务?
在实现后台打印时,SPOOLing系统应为请求I/O的进程提供以下服务:
(1)由输出进程在输出井中申请一空闲盘块区,并将要打印的数据送入其中;
(2)输出进程为用户进程申请空白用户打印表,填入打印要求,将该表挂到请求打印队列。
(3)一旦打印机空闲,输出进程便从请求打印队列的队首取出一张请求打印表,根据表中要求将要打印的数据从输出井传送到内存缓冲区,再由打印机进行打印。
21.试说明设备驱动程序应具有哪些功能?
设备驱动程序的主要功能包括:
(1)将接收到的抽象要求转为具体要求;
(2)检查用户I/O请求合法性,了解I/O设备状态,传递有关参数,设置设备工作方式;
(3)发出I/O命令,启动分配到的I/O设备,完成指定I/O操作;
(4)及时响应由控制器或通道发来的中断请求,根据中断类型调用相应中断处理程序处理;
(5)对于有通道的计算机,驱动程序还应该根据用户I/O请求自动构成通道程序。
23.磁盘访问时间由哪几部分组成?
每部分时间应如何计算?
磁盘访问时间由寻道时间Ts、旋转延迟时间Tr、传输时间Tt三部分组成。
(1)Ts是启动磁臂时间s与磁头移动n条磁道的时间和,即Ts=m×
n+s。
(2)Tr是指定扇区移动到磁头下面所经历的时间。
硬盘15000r/min时Tr为2ms;
软盘300或600r/min时Tr为50~100ms。
(3)Tt是指数据从磁盘读出或向磁盘写入经历的时间。
Tt的大小与每次读/写的字节数b和旋转速度有关:
Tt=b/rN。
24.目前常用的磁盘调度算法有哪几种?
每种算法优先考虑的问题是什么?
目前常用的磁盘调度算法有先来先服务、最短寻道时间优先及扫描等算法。
(1)先来先服务算法优先考虑进程请求访问磁盘的先后次序;
(2)最短寻道时间优先算法优先考虑要求访问的磁道与当前磁头所在磁道距离是否最近;
(3)扫描算法考虑欲访问的磁道与当前磁道间的距离,更优先考虑磁头当前的移动方向。
25.为什么要引入磁盘高速缓冲?
何谓磁盘高速缓冲?
目前磁盘的I/O速度远低于内存的访问速度,通常低上4-6个数量级。
因此,磁盘I/O已成为
计算机系统的瓶颈。
为提高磁盘I/O的速度,便引入了磁盘高速缓冲。
磁盘高速缓冲是指利用内存中的存储空间,暂存从磁盘中读出的一系列盘块中的信息。
27.何谓提前读、延迟写和虚拟盘?
提前读是指在读当前盘块的同时,将下一个可能要访问的盘块数据读入缓冲区,以便需
要时直接从缓冲区中读取,无需启动磁盘。
延迟写是指在写盘块时,将对应缓冲区中的立即写数据暂时不立即写以备不久之后再被访问,只将它置上“延迟写”标志并挂到空闲缓冲队列的末尾。
当移到空闲缓冲队首并被分配出去时,才写缓冲区中的数据。
只要延迟写块仍在空闲缓冲队列中,任何要求访问都可直接从其中读出数据或将数据写入其中,而不必去访问磁盘。
虚拟盘又称RAM盘,是利用内存空间仿真磁盘。
其设备驱动程序可以接受所有标准的磁盘操作,但这些操作不是在磁盘上而是在内存中,因此速度更快。
第六章
1.何谓数据项、记录和文件?
①数据项分为基本数据项和组合数据项。
基本数据项描述一个对象某种属性的字符集,具有数据名、数据类型及数据值三个特性。
组合数据项由若干数据项构成。
②记录是一组相关数据项的集合,用于描述一个对象某方面的属性。
③文件是具有文件名的一组相关信息的集合。
4.何谓逻辑文件?
何谓物理文件?
逻辑文件是物理文件中存储的数据的一种视图方式,不包含具体数据,仅包含物理文件中数据的索引。
物理文件又称文件存储结构,是指文件在外存上的存储组织形式。
9.在