操作系统课后复习题答案培训资料.docx
《操作系统课后复习题答案培训资料.docx》由会员分享,可在线阅读,更多相关《操作系统课后复习题答案培训资料.docx(26页珍藏版)》请在冰豆网上搜索。
操作系统课后复习题答案培训资料
操作系统课后复习题答案
操作系统课后复习题答案
第一章
一、简答题
3.什么是操作系统?
操作系统在计算机系统中的主要作用是什么?
操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.
主要作用
(1) 服务用户—操作系统作为用户接口和公共服务程序
(2) 进程交互—操作系统作为进程执行的控制者和协调者
(3) 系统实现—操作系统作为扩展机或虚拟机
(4) 资源管理—操作系统作为资源的管理者和控制者
15.什么是多道程序设计?
多道程序设计有什么特点?
多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,在一个时间段,它们都在同时执行,都处于执行的开始点和结束点之间;从微观上看是串行的,在某一时刻,他们在同一台计算机上交替、轮流、穿插地执行。
(1) 可以提高CPU、内存和设备的利用率;
(2) 可以提高系统的吞吐率,使单位时间内完成的作业数目增加;
(3) 可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。
19.分时系统中,什么是响应时间?
它与哪些因素有关?
分时系统的响应时间是指用户从终端发出一个命令到系统处理完这个命令并做出回答所需要的时间。
这个时间受时间片长度、终端用户个数、命令本身功能、硬件特性、主存与辅存的交换速度等影响。
23.现代操作系统具有哪些基本功能?
请简单叙述之。
(1)处理器管理;
(2)存储管理;
(3)设备管理;
(4)文件管理;
(5)联网与通信管理。
/*tips*/
简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1) 时分复用共享 资源从时间上分割成更小的单位供进程使用;
(2) 空分复用共享 资源从空间上分割成更小的单位供进程使用。
2、应用题
2、答:
画出两道程序并发执行图如下:
(1) 两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部
分)。
(2) 程序A无等待现象,但程序B有等待。
程序B有等待时间段为180ms至200ms间(见
图中有色部分)。
5、答:
画出三个作业并行工作图如下(图中着色部分为作业等待时间):
(1) Job1从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运
行完成需90ms。
(2) CPU空闲时间段为:
60ms至70ms,80ms至90ms。
所以CPU利用率为
(90-20)/90=7/9=77.78%。
(3) 设备I1空闲时间段为:
20ms至40ms,故I1的利用率为(90-20)/90=7/9=77.78%。
设备I2
空闲时间段为:
30ms至50ms,故I2的利用率为(90-20)/90=7/9=77.78%。
12.在下列例子中,区分“时分复用共享”与“空分复用共享”,并对其进行简单解释。
1、住宅区的土地
2、个人计算机
3、教室的黑板
4、公共汽车上的椅子
5、UNIX系统中的单用户文件
6、分时系统中的打印机
7、C/C++运行时的系统堆栈
1,3,7属于可再分的资源,应属于空分,其余的不可再分是按照时间先后来进行复用,所以就是时分复用
第二章
1、简答题
18.什么是进程?
计算机操作系统为什么要引入进程?
进程是具有独立功能的程序在某个数据集合上的一次运行活动,是计算机操作系统进行资源分配和保护的基本单位.
(1) 刻画程序的并发性;
(2) 解决资源的共享性.
20.进程的最基本状态有哪些?
哪些事件可以引起不同状态间的转换?
进程的三种基本状态:
就绪态、运行态、等待态。
状态间的转换:
七态模型:
a.新建态(new):
进程被创建,尚未进入就绪队列。
b.就绪态(ready):
进程具备运行条件,等待系统分配处理器。
c.挂起就绪态(readysuspend):
进程具备运行条件,但目前在外存中。
d.运行态(running):
进程占有处理器正在运行。
e.终止态(exit):
进程达到正常结束点或被其他原因所终止,下一步将被撤销。
f.等待态(wait):
又称阻塞态或休眠态。
进程正在等待某个事件完成,目前不具备运行条件。
g.挂起等待态(blockedsuspend):
进程正在等待某个事件完成,并且在外存中。
26.何谓进程控制块(PCB)?
它包含哪些基本信息?
进程控制块是进程存在的唯一标识,是操作系统用来记录和刻画进程状态及环境信息的数据结构,是进程动态特征的汇集,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据。
(1) 标识信息;
(2) 现场信息; (3) 控制信息。
38. 试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较.
/*tips*/
从一定意义上讲,进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。
a. 调度性。
在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程,在引入线程的OS中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位;
b. 并发性。
在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,亦可并发执行,因而使OS具有更好的并发性;
c. 拥有资源。
无论是传统的操作系统,还是引入了线程的操作系统,进程始终是拥有资源的一个基本单位,而线程除了拥有一点在运行时必不可少的资源外,本身基本不拥有系统资源,但它可以访问其隶属进程的资源;
d. 开销。
由于创建或撤销进程时,系统都要为之分配和回收资源,如内存空间等,进程切换时所要保存和设置的现场信息也要明显地多于线程,因此,操作系统在创建、撤消和切换进程时所付出的开销将显著地大于线程。
48.处理器调度分为哪几种类型?
简述各类调度的主要任务。
高级调度,中级调度,低级调度。
高级调度,创建就绪进程和做进程完成后的善后工作。
中级调度,根据内存资源情况决定内存中所能容纳进程的数目,并完成内存和外存中进程的对换。
低级调度,根据某种原则决定就绪队列中哪个进程/线程获得处理器,并将处理器出让给它使用。
2、应用题
5、答:
采用短作业优先算法调度时,三个作业的总周转时间为:
T1=a+(a+b)+(a+b+c)=3a+2b+c ①
若不按短作业优先算法调度,不失一般性,设调度次序为:
J2、J1、J3。
则三个作业的总周转时间为:
T2=b+(b+a)+(b+a+c)=3b+2a+c ②
令②-①式得到:
T2-T1=b-a>0
可见,采用短作业优先算法调度才能获得最小平均作业周转时间。
12、答:
(1)FCFS调度算法
(2)优先级调度算法
(3)时间片轮转法(每个作业获得相同的2分钟长的时间片) 按次序A B C D E A B D E A B E A E A轮转执行
20.有一个四道作业的操作系统,若在一段时间内先后到达6个作业,它们的提交和估计运行时间由下表给出:
系统采用SJF调度算法,作业被调度进入系统后中途不会退出,但作业运行时可被更短作业抢占。
(1)分别给出6个作业的执行时间序列、即开始执行时间、作业完成时间、作业周转时间。
(2)计算平均作业周转时间。
25.
每个作业运行将经过两个阶段:
作业调度(SJF算法)和进程调度(优先数抢占式)。
另外,批处理最多容纳2道作业,更多的作业将在后备队列等待,优先级高进入内存执行。
(1) 10:
00,作业A到达并投入运行。
(2) 10:
20,作业B到达且优先权高于作业A,故作业B投入运行而作业A在就绪队
列等待。
(3) 10:
30,作业C到达,因内存中已有两道作业,故作业C进入作业后备队列等待。
(4) 10:
50,作业B运行结束,作业D到达,按SJF短作业优先算法,作业D被装入
内存进入就绪队列。
而由于作业A的优先级高于作业D,故作业A投入运行。
(5) 11:
10,作业A运行结束,作业C被调入内存,且作业C的优先级高于作业D,
故作业C投入运行。
(6) 12:
00,作业C运行结束,作业D投入运行。
(7) 12:
20,作业D运行结束。
各作业周转时间为:
作业A 70,作业B 30,作业C 90,作业D 90。
平均作业周转时间为70分钟。
第三章
1、简答题
3.解释并发性与并行性
答:
计算机操作系统中把并行性和并发性明显区分开,主要是从微观的角度来说的,具体是指进程的并行性(多处理机的情况下,多个进程同时运行)和并发性(单处理机的情况下,多个进程在同一时间间隔运行的)。
9.什么是临界区和临界资源?
临界区管理的基本原则是什么?
并发进程中与共享变量有关的程序段称为临界区。
共享变量所代表的资源叫做临界资源,即一次仅供一个进程使用的资源。
(1) 一次至多有一个进程进入临界区内执行;
(2) 如果已有进程在临界区内,试图进入此临界区的其它进程应等待;
(3) 进入临界区的进程应在有限时间内退出,以便让进程等待队列中的一个进程进入。
24.什么是死锁?
什么是饥饿?
所谓死锁是指在多道程序系统中,一组进程中的每一个进程都无限期等待被该组进程中的另一个进程所占有且永远不会释放的资源。
例如:
1、桌子上有慢慢一桌子的美食,但是只有一双筷子。
2、甲拿了一根,然后在找另一根。
3、乙拿了一根,然后也在找另一根。
4、因为他们都掌握了对方必需的资源,导致最后他们俩谁都吃不到美食。
饥饿指的是等待时间已经影响到进程运行,此时称为饥饿现象。
如果等待时间过长,导致进程使命已经没有意义时称该进程被饿死。
例如:
1、小明要告诉妈妈明天开家长会。
2、小明妈妈因为工作太忙,在公司加班,没有回家。
3、于是第二天,小明的妈妈就错过了家长会。
(“饿死”)
4、其实小明的妈妈没有出现“死锁”。
只是小明的优先级过低,不如工作重要。
25.试述产生死锁的必要条件。
(1) 互斥条件;
(2) 占有和等待条件;
(3) 不剥夺条件;
(4) 循环等待条件。
/*tips*/
产生死锁的四个必要条件:
(1)互斥条件:
一个资源每次只能被一个进程使用。
(2)请求与保持条件:
一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3)不剥夺条件:
进程已获得的资源,在末使用完之前,不能强行剥夺。
(4)循环等待条件:
若干进程之间形成一种头尾相接的循环等待资源关系。
死锁产生的原因及预防死锁的方法
进程推进顺序不当、PV操作使用不妥、同类资源分配不均或对某些资源的使用未加限制等,不仅与系统拥有的资源数量有关,而且与资源分配策略、进程对资源的使用要求以及并发进程的推进顺序有关。
(1) 破坏条件1(互斥条件);
(2) 破坏条件2(占有和等待条件);
(3) 破坏条件3(不剥夺条件);
(4) 破坏条件4(循环等待条件)。
32.一台计算机有8台磁带机.他们有N个进程竞争使用,每个进程可能需要3台磁带机.请问N为多少时,系统没有死锁的危险?
N=1或2或3.
当N=3时,磁带机的分配为:
2个进程是3个,1个进程是2个,所以前面的两个进程用完就可以释放出来,如果N=4时,可能出现每个进程都分配2个磁带机,这样,每一个进程都要等待一个磁带机,可是磁带机已经分配光了,所以每个进程都在等待,就造成了死锁了。
2、应用题
2、
答:
不同
(1):
初值为1,范围为[-n+1,1];
(2):
初值为m,范围为[-n+m,m]。
23.
31.
答案1:
(1) 将独木桥的两个方向分别标记为A和B。
用整型变量countA和countB分别
表示A、B方向上已在独木桥上的行人数。
初值为0。
需要设置三个初值都为1的互斥信号量:
SA用来实现对countA的互斥访问,SB用来实现对countB的互斥访问,mutex用来实现对独木桥的互斥使用。
(2)
A方向行人过桥:
Begin
P(SA);
countA=countA+1;
if(countA==1)
P(mutex);
V(SA);
过桥;
P(SA);
countA=countA-1;
if(countA==0)
V(mutex);
V(SA);
End
B方向行人过桥:
Begin P(SB);
countB=countB+1;
if(countB==1)
P(mutex);
V(SB);
过桥;
P(SB);
countB=countB-1;
if(countB==0)
V(mutex);
V(SB);
End
解答2:
semaphorewait,mutex1,mutex2;
mutex1=mutex2=1;wait=1;
intcounter1,counter2;counter1=0;counter2=0;
processP左(){
while(true){
P(mutex1);
count1++;
if(count1==1)P(wait);
V(mutex1);
过独木桥;
P(mutex1);
count1--;
if(count1==0)V(wait);
V(mutex1);
}
}
processP右(){
while(true){
P(mutex2);
count2++;
if(count2==1)P(wait);
V(mutex2);
过独木桥;
P(mutex1);
count2--;
if(count2==0)V(wait);
V(mutex2);
}
}
34.
stop用于当另一方提出过桥时,应阻止对方未上桥的后继车辆。
semaphorestop,wait,mutex1,mutex2;
stop=mutex1=mutex2=1;wait=1;
intcounter1,counter2;counter1=0;counter2=0;
cobegin
processP东(){processP西(){
P(stop);P(stop);
P(mutex1);P(mutex2);
count1++;count2++;
if(count1==1)P(wait);if(count2==1)P(wait);
V(mutex1);V(mutex2);
V(stop);V(stop);
{过桥};{过桥};
P(mutex1);P(mutex2);
Count1--;count2--;
if(count1==0)V(wait);if(count2==0)V(wait);
V(mutex1);V(mutex2);
}}
coend
36.
假定某计算机系统有R1和R2两类可使用资源(其中R1有两个单位,R2有一个单位),它们被进程P1和P2所共享,且已知两个进程均以下列顺序使用两类资源:
→申请R1→申请R2→申请R1→释放R1→释放R2→释放R1→
试求出系统运行过程中可能到达的死锁点,并画出死锁点的资源分配图(或称进程资源图)
解:
在本题中,当两个进程都执行完第1步后,即进程P1和进程P2都申请到了一个R1类资源时,系统进入不安全状态。
随着两个进程的向前推进,无论哪个进程执行完第2步,系统都将进入死锁状态。
可能到达的死锁点是:
进程P1占有一个单位的R1类资源及一个单位的R2类资源,进程P2占有一个单位的R1类资源,此时系统内已无空闲资源,而两个进程都在保持已占有资源不释放的情况下继续申请资源,从而造成死锁;或进程P2占有一个单位的R1类资源及一个单位的R2类资源,进程P1占有一个单位的R1类资源,此时系统内已无空闲资源,而两个进程都在保持已占有资源不释放的情况下继续申请资源,从而造成死锁。
假定进程P1成功执行了第2步,则死锁点的资源分配图如图3.38所示。
/*tips*/循环等待条件(安全检测)
第四章
1、简答题
1、试述存储管理的基本功能。
答:
(1) 存储分配;
(2) 地址映射;
(3) 存储保护;
(4) 存储共享;
(5) 存储扩充。
4.何谓地址转换(重定位)?
哪些方法可以实现地址转换。
可执行的程序逻辑地址转换(绑定)为物理地址的过程称为地址转换。
实现方法:
静态地址重定位,动态地址重定位,运行时链接地址重定位。
9.什么是虚拟存储器?
列举采用虚拟存储技术的必要性和可能性。
虚拟存储器:
在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理主存容量大得多的、可寻址的“主存储器”。
必要性:
可用较小的内存空间执行较大的程序,能容纳更多的并发执行程序。
可能性:
基于程序的局部性原理。
10.试述请求分页虚存管理的实现原理。
请求分段虚存管理是将进程信息副本存放在外存中,当它被调度投入运行时,程序和数据没有全部装入内存,仅装入当前使用段,进程执行过程中访问到不在内存的段时候,再由系统自动调入。
11.试述请求分段虚存管理的实现原理。
请求分段虚拟存储系统把作业的所有分段的副本都存放在辅助存储器中,当作业被调度投入运行时,首先把当前需要的一段或几段装入主存,在执行过程中访问到不在主存的段时再把它们动态装入。
1、虚地址以程序的逻辑结构划分成段,这是段页式存储管理的段式特征。
2、实地址划分成位置固定、大小相等的页框(块),这是段页式存储管理的页式特征
3、将每一段的线性地址空间划分成与页框大小相等的页面,于是形成了段页式存储管理的特征
4、逻辑地址形式为:
段号(s)段内页号(p)页内位移(d)
对于用户来说,段式虚拟地址应该由段号s和段内位移d’组成,操作系统内部再自动把d’解释成两部分:
段内页号p和页内位移d,也就是说,d’=p×块长+d。
18.试述实现虚拟存储器的基本原理。
作业运行之前仅将当前要运行的那部分页面和段先装入内存便可开始运行,在程序的运行中,发现所要访问的段不在内存中时,再有操作系统将其调入内存,程序便可继续执行下去。
2、应用题
3.
答:
(1) 作业的物理块数为3块,使用FIFO为9次,9/12=75%。
使用LRU为7次,
7/12=58%。
使用OPT为6次,6/12=50%。
作业的物理块数为4块,使用FIFO为6次,6/12=50%。
使用LRU为6次,6/12=50%。
使用OPT为5次,5/12=42%。
(2) 作业的物理块数为3块,使用FIFO为9次,9/12=75%。
使用LRU为10次,
10/12=83%。
使用OPT为7次,7/12=58%。
作业的物理块数为4块,使用FIFO为10次,10/12=83%。
使用LRU为8次,
8/12=66%。
使用OPT为6次,6/12=50%。
15.在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096B,现有一逻辑地址为2F6AH,且第0、1、2页依次存放在10、12、14号物理块中,问相应的物理地址为多少?
4096B=2^12B
16位寻址一共2^16B
分页存储.共分的页:
2^16/2^12=2^4=16共分16页.
第0页的地址范围0H-0FFFH
第1页的地址范围1000H-1FFFH
第2页得地址范围2000H-2FFFH
.
第14页E000H-EFFFH
第15页F000H-FFFFH
2F6AH=10111101101010在2页的范围对应物理块14
所以物理地址为:
2F6AH-2000H+E000H=F6AH+E000H=EF6AH
/*tips*/地址同为16位
逻辑地址
物理地址
页号
页内地址
页框
页内地址
29.
答:
1)680 2)915 3)904 4)越界 5)1750 6) 越界。
30.
答:
1) 页面访问序列为
1,1,2,2,1,4,2,3,3,5,5,4
(0,0,1,1,0,3,1,2,2,4,4,3。
)
2)FIFO为5次,缺页中断率为5/12=41.6%。
LRU为6次,缺页中断率为6/12=50%。
LRU反比FIFO缺页中断率高。
第五章
1、简答题
2.试述各种I/O控制方式及其主要优、缺点。
(1)轮询方式:
又称程序直接控制方式,使用查询指令测试设备控制器的忙闲状态位,确定内存和设备是否能交换数据。
优点:
原理简单,成本低廉。
缺点:
轮询方式的主要缺点是运行效率不足。
(2)中断控制方式:
cpu启动I/O设备后不必查询I/O设备是否准备就绪,而是继续执行现行程序,对设备是否准备就绪不加过问。
优点:
不必忙于查询I/O准备情况,cup和I/O设备可实现部分并行,大大提升了cup的利用率。
缺点:
输入输出操作直接由中央处理器控制,每传送一个字符或一个字,都要发生一次中断,仍耗费大量中央处理器时间。
(3)DMA方式:
内存和设备之间有一条数据通路成块的传说数据,在主机和I/O设备之间成块的传送数据过程中,无需CPU干预,实际操作由DMA直接执行完成。
优点:
实现线路简单,价格低廉。
缺点:
增加主存地址寄存器,数据移位寄存器等硬件,不仅有中断结构,还增加了DMA传输控制结构,增加了成本,但功能较差,不能满足复杂的I/O操作要求。
(4)通道方式:
又称I/O处理器,能完成内存和设备之间的信息传送,与CPU并行的执行操作。
优点:
a>.自成独立体系,大大减少了外围设备和中央处理器的逻辑关系,把中央处理器从琐碎的输入输出操作中解放出来;b>.外围和中央处理器能实现并行操作;c>.通道和通道之间能实现并行操作;d>.各通道上的外围设备也能实现并行操作。
缺点:
a>.具有通道装置的计算机的主机、通道、控制器和设备之间用四级连接,实施三级控制;b>.价格较高,一般在大型机中使用。
21、什么是虚拟设备?
实现虚拟设备的主要条件是什么?
虚拟设备:
为了提高独占设备的利用率,采用SPOOLING技术,用可共享的设备模拟独占设备,使独占设备成为共享设备,使每个作业感到自己分到了独占设备。
这种模拟的独占设备称为虚拟设备。
主要条件是具有:
(1) 预输入程序;
(2) 井管理程序; (3) 缓输出程序。
26.Spooling是如何把独立型设备改造成共享型设备的?
实现相应功能的守护进程(线程)都在用户空间上运行,但所完成的是操作系统任务,即把本该有内核实现的功能外移。
(1) 预输入程序;
(2) 井管理程序; (3) 缓输出程序。
28.为什么要引入设备独立性?
如何实现设备独立性?
应用程序与具体