操作系统课后复习题答案Word文档格式.docx

上传人:b****7 文档编号:22163404 上传时间:2023-02-02 格式:DOCX 页数:21 大小:33.06KB
下载 相关 举报
操作系统课后复习题答案Word文档格式.docx_第1页
第1页 / 共21页
操作系统课后复习题答案Word文档格式.docx_第2页
第2页 / 共21页
操作系统课后复习题答案Word文档格式.docx_第3页
第3页 / 共21页
操作系统课后复习题答案Word文档格式.docx_第4页
第4页 / 共21页
操作系统课后复习题答案Word文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

操作系统课后复习题答案Word文档格式.docx

《操作系统课后复习题答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《操作系统课后复习题答案Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

操作系统课后复习题答案Word文档格式.docx

两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部

分)。

程序A无等待现象,但程序B有等待。

程序B有等待时间段为180ms至200ms间(见

图中有色部分)。

5、答:

画出三个作业并行工作图如下(图中着色部分为作业等待时间):

Job1从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运

行完成需90ms。

CPU空闲时间段为:

60ms至70ms,80ms至90ms。

所以CPU利用率为

(90-20)/90=7/9=%。

设备I1空闲时间段为:

20ms至40ms,故I1的利用率为(90-20)/90=7/9=%。

设备I2

空闲时间段为:

30ms至50ms,故I2的利用率为(90-20)/90=7/9=%。

12.在下列例子中,区分“时分复用共享”与“空分复用共享”,并对其进行简单解释。

1、住宅区的土地

2、个人计算机

3、教室的黑板

4、公共汽车上的椅子

5、UNIX系统中的单用户文件

6、分时系统中的打印机

7、C/C++运行时的系统堆栈

1,3,7属于可再分的资源,应属于空分,其余的不可再分是按照时间先后来进行复用,所以就是时分复用

第二章

1、简答题

18.什么是进程?

计算机操作系统为什么要引入进程?

进程是具有独立功能的程序在某个数据集合上的一次运行活动,是计算机操作系统进行资源分配和保护的基本单位. 

刻画程序的并发性;

解决资源的共享性. 

20.进程的最基本状态有哪些?

哪些事件可以引起不同状态间的转换?

进程的三种基本状态:

就绪态、运行态、等待态。

状态间的转换:

七态模型:

a.新建态(new):

进程被创建,尚未进入就绪队列。

b.就绪态(ready):

进程具备运行条件,等待系统分配处理器。

c.挂起就绪态(readysuspend):

进程具备运行条件,但目前在外存中。

d.运行态(running):

进程占有处理器正在运行。

e.终止态(exit):

进程达到正常结束点或被其他原因所终止,下一步将被撤销。

f.等待态(wait):

又称阻塞态或休眠态。

进程正在等待某个事件完成,目前不具备运行条件。

g.挂起等待态(blockedsuspend):

进程正在等待某个事件完成,并且在外存中。

26.何谓进程控制块(PCB)?

它包含哪些基本信息?

进程控制块是进程存在的唯一标识,是操作系统用来记录和刻画进程状态及环境信息的数据结构,是进程动态特征的汇集,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据。

标识信息;

现场信息;

控制信息。

38. 

试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较. 

从一定意义上讲,进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。

a. 

调度性。

在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程,在引入线程的OS中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位;

b. 

并发性。

在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,亦可并发执行,因而使OS具有更好的并发性;

c. 

拥有资源。

无论是传统的操作系统,还是引入了线程的操作系统,进程始终是拥有资源的一个基本单位,而线程除了拥有一点在运行时必不可少的资源外,本身基本不拥有系统资源,但它可以访问其隶属进程的资源;

d. 

开销。

由于创建或撤销进程时,系统都要为之分配和回收资源,如内存空间等,进程切换时所要保存和设置的现场信息也要明显地多于线程,因此,操作系统在创建、撤消和切换进程时所付出的开销将显著地大于线程。

48.处理器调度分为哪几种类型?

简述各类调度的主要任务。

高级调度,中级调度,低级调度。

高级调度,创建就绪进程和做进程完成后的善后工作。

中级调度,根据内存资源情况决定内存中所能容纳进程的数目,并完成内存和外存中进程的对换。

低级调度,根据某种原则决定就绪队列中哪个进程/线程获得处理器,并将处理器出让给它使用。

采用短作业优先算法调度时,三个作业的总周转时间为:

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>

可见,采用短作业优先算法调度才能获得最小平均作业周转时间。

12、答:

(1)FCFS调度算法

(2)优先级调度算法

(3)时间片轮转法(每个作业获得相同的2分钟长的时间片) 

按次序A 

A轮转执行

20.有一个四道作业的操作系统,若在一段时间内先后到达6个作业,它们的提交和估计运行时间由下表给出:

系统采用SJF调度算法,作业被调度进入系统后中途不会退出,但作业运行时可被更短作业抢占。

(1)分别给出6个作业的执行时间序列、即开始执行时间、作业完成时间、作业周转时间。

(2)计算平均作业周转时间。

25.

每个作业运行将经过两个阶段:

作业调度(SJF算法)和进程调度(优先数抢占式)。

另外,批处理最多容纳2道作业,更多的作业将在后备队列等待,优先级高进入内存执行。

10:

00,作业A到达并投入运行。

20,作业B到达且优先权高于作业A,故作业B投入运行而作业A在就绪队

列等待。

30,作业C到达,因内存中已有两道作业,故作业C进入作业后备队列等待。

50,作业B运行结束,作业D到达,按SJF短作业优先算法,作业D被装入

内存进入就绪队列。

而由于作业A的优先级高于作业D,故作业A投入运行。

(5) 

11:

10,作业A运行结束,作业C被调入内存,且作业C的优先级高于作业D,

故作业C投入运行。

(6) 

12:

00,作业C运行结束,作业D投入运行。

(7) 

20,作业D运行结束。

各作业周转时间为:

作业A 

70,作业B 

30,作业C 

90,作业D 

90。

平均作业周转时间为70分钟。

第三章

3.解释并发性与并行性

答:

计算机操作系统中把并行性和并发性明显区分开,主要是从微观的角度来说的,具体是指进程的并行性(多处理机的情况下,多个进程同时运行)和并发性(单处理机的情况下,多个进程在同一时间间隔运行的)。

9.什么是临界区和临界资源?

临界区管理的基本原则是什么?

并发进程中与共享变量有关的程序段称为临界区。

共享变量所代表的资源叫做临界资源,即一次仅供一个进程使用的资源。

一次至多有一个进程进入临界区内执行;

如果已有进程在临界区内,试图进入此临界区的其它进程应等待;

进入临界区的进程应在有限时间内退出,以便让进程等待队列中的一个进程进入。

24.什么是死锁?

什么是饥饿?

所谓死锁是指在多道程序系统中,一组进程中的每一个进程都无限期等待被该组进程中的另一个进程所占有且永远不会释放的资源。

例如:

  1、桌子上有慢慢一桌子的美食,但是只有一双筷子。

  2、甲拿了一根,然后在找另一根。

  3、乙拿了一根,然后也在找另一根。

  4、因为他们都掌握了对方必需的资源,导致最后他们俩谁都吃不到美食。

饥饿指的是等待时间已经影响到进程运行,此时称为饥饿现象。

如果等待时间过长,导致进程使命已经没有意义时称该进程被饿死。

  1、小明要告诉妈妈明天开家长会。

  2、小明妈妈因为工作太忙,在公司加班,没有回家。

  3、于是第二天,小明的妈妈就错过了家长会。

(“饿死”)

4、其实小明的妈妈没有出现“死锁”。

只是小明的优先级过低,不如工作重要。

25.试述产生死锁的必要条件。

互斥条件;

占有和等待条件;

不剥夺条件;

循环等待条件。

产生死锁的四个必要条件:

(1)互斥条件:

一个资源每次只能被一个进程使用。

(2)请求与保持条件:

一个进程因请求资源而阻塞时,对已获得的资源保持不放。

(3)不剥夺条件:

进程已获得的资源,在末使用完之前,不能强行剥夺。

(4)循环等待条件:

若干进程之间形成一种头尾相接的循环等待资源关系。

死锁产生的原因及预防死锁的方法

进程推进顺序不当、PV操作使用不妥、同类资源分配不均或对某些资源的使用未加限制等,不仅与系统拥有的资源数量有关,而且与资源分配策略、进程对资源的使用要求以及并发进程的推进顺序有关。

破坏条件1(互斥条件);

破坏条件2(占有和等待条件);

破坏条件3(不剥夺条件);

破坏条件4(循环等待条件)。

32.一台计算机有8台磁带机.他们有N个进程竞争使用,每个进程可能需要3台磁带机.请问N为多少时,系统没有死锁的危险?

N=1或2或3.

当N=3时,磁带机的分配为:

2个进程是3个,1个进程是2个,所以前面的两个进程用完就可以释放出来,如果N=4时,可能出现每个进程都分配2个磁带机,这样,每一个进程都要等待一个磁带机,可是磁带机已经分配光了,所以每个进程都在等待,就造成了死锁了。

2、 

不同 

(1):

初值为1,范围为[-n+1,1];

(2):

初值为m,范围为[-n+m,m]。

23.

31.

答案1:

将独木桥的两个方向分别标记为A和B。

用整型变量countA和countB分别

表示A、B方向上已在独木桥上的行人数。

初值为0。

需要设置三个初值都为1的互斥信号量:

SA用来实现对countA的互斥访问,SB用来实现对countB的互斥访问,mutex用来实现对独木桥的互斥使用。

A方向行人过桥:

Begin 

P(SA);

countA=countA+1;

if(countA==1)

P(mutex);

V(SA);

过桥;

countA=countA-1;

if(countA==0)

V(mutex);

End 

B方向行人过桥:

P(SB);

countB=countB+1;

if(countB==1)

V(SB);

countB=countB-1;

if(countB==0)

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);

过独木桥;

count1--;

if(count1==0)V(wait);

}

}

processP右(){

while(true){

P(mutex2);

count2++;

if(count2==1)P(wait);

V(mutex2);

P(mutex1);

count2--;

if(count2==0)V(wait);

34.

stop用于当另一方提出过桥时,应阻止对方未上桥的后继车辆。

semaphorestop,wait,mutex1,mutex2;

stop=mutex1=mutex2=1;

intcounter1,counter2;

cobegin

processP东(){processP西(){

P(stop);

P(mutex2);

V(stop);

V(stop);

{过桥};

Count1--;

if(count1==0)V(wait);

if(count2==0)V(wait);

}}

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步,则死锁点的资源分配图如图所示。

/*tips*/循环等待条件(安全检测)

第四章

1、试述存储管理的基本功能。

存储分配;

地址映射;

存储保护;

存储共享;

存储扩充。

4.何谓地址转换(重定位)?

哪些方法可以实现地址转换。

可执行的程序逻辑地址转换(绑定)为物理地址的过程称为地址转换。

实现方法:

静态地址重定位,动态地址重定位,运行时链接地址重定位。

9.什么是虚拟存储器?

列举采用虚拟存储技术的必要性和可能性。

虚拟存储器:

在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理主存容量大得多的、可寻址的“主存储器”。

必要性:

可用较小的内存空间执行较大的程序,能容纳更多的并发执行程序。

可能性:

基于程序的局部性原理。

10.试述请求分页虚存管理的实现原理。

请求分段虚存管理是将进程信息副本存放在外存中,当它被调度投入运行时,程序和数据没有全部装入内存,仅装入当前使用段,进程执行过程中访问到不在内存的段时候,再由系统自动调入。

11.试述请求分段虚存管理的实现原理。

请求分段虚拟存储系统把作业的所有分段的副本都存放在辅助存储器中,当作业被调度投入运行时,首先把当前需要的一段或几段装入主存,在执行过程中访问到不在主存的段时再把它们动态装入。

1、虚地址以程序的逻辑结构划分成段,这是段页式存储管理的段式特征。

2、实地址划分成位置固定、大小相等的页框(块),这是段页式存储管理的页式特征

3、将每一段的线性地址空间划分成与页框大小相等的页面,于是形成了段页式存储管理的特征

4、逻辑地址形式为:

段号(s)段内页号(p)页内位移(d)

对于用户来说,段式虚拟地址应该由段号s和段内位移d’组成,操作系统内部再自动把d’解释成两部分:

段内页号p和页内位移d,也就是说,d’=p×

块长+d。

18.试述实现虚拟存储器的基本原理。

作业运行之前仅将当前要运行的那部分页面和段先装入内存便可开始运行,在程序的运行中,发现所要访问的段不在内存中时,再有操作系统将其调入内存,程序便可继续执行下去。

3.

作业的物理块数为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%。

使用LRU为10次,

10/12=83%。

使用OPT为7次,7/12=58%。

作业的物理块数为4块,使用FIFO为10次,10/12=83%。

使用LRU为8次,

8/12=66%。

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=%。

LRU为6次,缺页中断率为6/12=50%。

LRU反比FIFO缺页中断率高。

第五章

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>

.各通道上的外围设备也能实现并行操作。

.具有通道装置的计算机的主机、通道、控制器和设备之间用四级连接,实施三级控制;

.价格较高,一般在大型机中使用。

21、什么是虚拟设备?

实现虚拟设备的主要条件是什么?

虚拟设备:

为了提高独占设备的利用率,采用SPOOLING技术,用可共享的设备模拟独占设备,使独占设备成为共享设备,使每个作业感到自己分到了独占设备。

这种模拟的独占设备称为虚拟设备。

主要条件是具有:

预输入程序;

井管理程序;

缓输出程序。

26.Spooling是如何把独立型设备改造成共享型设备的?

实现相应功能的守护进程(线程)都在用户空间上运行,但所完成的是操作系统任务,即把本该有内核实现的功能外移。

28.为什么要引入设备独立性?

如何实现设备独立性?

应用程序与具体的物理设备无关,系统要增减或变更设备时对源程序不必加如何修改,易于应对I/O设备故障,增加设备分配的灵

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1