南京晓庄操作系统习题册答案 上文档格式.docx

上传人:b****6 文档编号:17017269 上传时间:2022-11-27 格式:DOCX 页数:19 大小:74.38KB
下载 相关 举报
南京晓庄操作系统习题册答案 上文档格式.docx_第1页
第1页 / 共19页
南京晓庄操作系统习题册答案 上文档格式.docx_第2页
第2页 / 共19页
南京晓庄操作系统习题册答案 上文档格式.docx_第3页
第3页 / 共19页
南京晓庄操作系统习题册答案 上文档格式.docx_第4页
第4页 / 共19页
南京晓庄操作系统习题册答案 上文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

南京晓庄操作系统习题册答案 上文档格式.docx

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

南京晓庄操作系统习题册答案 上文档格式.docx

多,多,网络;

批处理操作系统、分时操作系统、实时操作系统;

文件,作业;

系统吞吐量大,平均周转时间较长;

控制和管理,用户;

网络;

吞吐量,交互性,与用户的交互性;

联机I/O操作;

CPU,操作系统;

 

简答题

简述操作系统在计算机系统中的位置。

答:

操作系统OS是运行在计算机硬件系统上的最基本的系统软件。

它在计算机系统中位于计算机裸机和计算机用户之间,为系统软件和用户应用软件提供了强大的支持。

简述描述操作系统的虚拟机的观点和资源管理的观点。

描述操作系统有两种主要观点,一种是虚拟机的观点——装有操作系统的计算机极大地扩展了原计算机的功能,给用户提供了一个友好的、易于操作的界面,对用户来说,好像是一个扩展了的机器,即一台虚拟机器。

另一种是资源管理的观点,操作系统完成对处理机、存储器、I/O设备等硬件资源和文件等软件资源的管理。

什么是操作系统?

它有什么基本特征?

操作系统是一组控制和管理计算机硬件和软件资源、合理组织计算机的工作流程,以及方便用户的程序的集合。

操作系统的基本特征是:

并发——是指两个或多个事件在同一时间间隔内发生。

宏观上是同时的,微观上是交替的。

共享——系统中的资源可供内存中多个并发执行的进程共同使用。

根据资源的不同属性,可分为两种资源共享方式:

互斥共享和同时访问。

虚拟——通过某种技术把一个物理实体变成若干个逻辑上的对应物,物理实体是实的,即实际存在,而后者是虚的,是用户的感觉。

异步性——在多道程序环境下,多个进程并发执行,但由于资源等因素的限制,内存中的每个进程何时执行,何时暂停,以怎样的速度向前推进,每道程序需多少时间才能完成,都是不可预知的,进程以异步的方式运行。

但只要运行环境相同,作业经过多次运行,都会获得完全相同的结果。

多道程序设计时应注意什么问题?

处理机管理问题——多道程序之间如何分配CPU,使CPU既能满足各程序运行的需要,又能提高处理机的利用率。

内存管理问题——为每道程序分配必要的内存空间,并防止程序遭破坏。

I/O设备管理——分配为多道程序共享的I/O设备,方便用户使用,提高设备利用率。

文件管理问题——组织大量的程序和数据,便于用户使用,保证数据的安全和一致。

作业管理问题——对系统中各种类型的作业进行组织。

本章综合练习题

实时操作系统必须在( 

)内处理来自外部的事件。

A.一个机器周期 

B.被控制对象规定的时间

C.周转时间 

D.时间片

操作系统中最基本的两个特征是( 

A.并发和不确定性 

B.并发和共享 

C.共享和虚拟 

D.虚拟和不确定性

分时系统追求的目标是( 

A.充分利用I/O设备 

B.快速响应用户

C.提高系统吞吐量 

D.充分利用内存

批处理系统的主要缺点是( 

A.系统吞吐量小 

B.CPU利用率不高 

C.资源利用率低 

D.无交互能力

在主机控制下进行的输入输出操作称为( 

)操作。

如果操作系统具有很强的交互性,可同时供多个用户使用,系统响应比较及时,则属于( 

)类型;

如果系统可靠,响应及时但仅有简单交互能力则属于( 

如果操作系统在用户提交作业后不提供交互能力,它追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于( 

)类型。

设内存中有三道程序A、B、C,它们按A、B、C的优先次序执行。

它们的计算和I/O操作时间

A

B

C

计算操作\程序

30

60

20

I/O

40

计算

10

如下表所示(单位:

ms)。

假设三道程序使用相同设备进行I/O操作,即程序以串行方式使用设备。

试画出单道运行和多道运行的时间关系图(调度程序的时间忽略不计)。

在两种情况下,完成三道程序各要花多少时间?

试比较分时系统和实时系统。

第二章

并改正。

进程由程序和数据两部分组成。

在生产者消费者进程中,V操作的次序无关紧要,而P操作次序不能颠倒。

产生死锁的原因之一是对计算机操作不当,造成计算机死机。

原语是指操作系统中的初始化程序。

若进程处于阻塞状态,当引起阻塞的条件被解除时,进程状态应变为运行状态。

并发进程可以同时进入临界区,交替访问临界资源。

程序的封闭性是指该程序不允许某些进程调用。

消息通信因为它数据量较小,因而它是一种低级通信方式。

单机系统最多允许两个进程处于运行状态。

死锁产生,必须要满足四个必要条件,所以,为避免死锁产生,主要注意如何不让这四个必要条件成立,并打破循环等待资源的环路。

操作系统的进程管理是整个操作系统管理中的核心,它包含了进程的调度、协调以及进程通信。

进程由程序、数据和进程控制块及相关表格组成。

产生死锁的原因是:

进程推进顺序不当或竞争资源。

原语由若干条指令所构成、用于完成一定功能的一个过程,具有原子性。

……当引起阻塞的条件被解除时,进程状态应变为就绪状态。

并发进程必须互斥进入临界区,互斥访问临界资源。

程序的封闭性是指该程序在运行独占系统资源,只有程序本身能改变系统资源。

消息通信的数据量大,它是一种高级通信方式。

单机系统只允许一个进程处于运行状态。

操作系统中,进程是、和管理的最小独立单位,操作系统的各种活动都与有关。

消息传递系统属于级通信方式,进程间的数据交换以为单位。

一个进程可以由系统创建,或者由用创建原语创建。

被创建的进程开始处于等待状态。

在条件成熟时,采用原语为它们分配除以外的所需资源,并被排列到队列中。

一次仅允许一个进程使用的资源称为,同时把访问该资源的那段程序代码称为。

轮转法是按照轮流地把处理器分配给就绪队列中的进程,该算法多用于系统中,其难点在于。

信号量的物理意义是当信号量大于零时表示;

当信号量小于零时,其绝对值为。

死锁的检测可以通过图,利用定理来实现。

进程运行过程中,因为、等待I/O操作等事件发生时,通过原语将它撤下,排入队列,并引起新的。

有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是。

对单处理机系统,处于状态的进程只能有1个,处于就绪状态的进程可以有多个,它们仅未获得控制权,按某种方式排成一队列,此队列称为队列,操作系统必须按照一定的,每次从队列中选择一个进程投入运行,这个选择过程称为。

资源分配,调度,进程;

高,消息;

父进程,调度,处理器,就绪;

临界资源,临界区;

时间片,分时,时间片的确定;

资源的数目,等待该资源的进程数目;

资源分配,死锁;

缺乏资源,阻塞,等待,进程调度;

[1-m,1];

运行,处理器,就绪,调度算法,进程调度;

处理机管理的主要任务是什么?

具有哪些主要功能?

处理机管理的主要任务是对处理机进行分配,并对其运行进行有效的控制和管理。

主要功能有:

进程控制、进程同步、进程通信和进程调度。

程序的顺序执行和并发执行有何不同?

程序的顺序执行具有以下特点:

顺序性——处理机的操作,严格按程序所规定的顺序执行。

封闭性——程序在封闭的环境下运行,独占全机资源,执行结果不受外界因素影响。

可再现性——只要程序执行的环境和初始条件相同,程序多次重复执行,不论是不停顿执行,还是走走停停,都将获得相同的结果。

而程序的并发执行恰好相反,具有间断性、失去封闭性和不可再现性。

(展开说明)

简述进程的定义,进程的基本状态以及进程状态转换的典型原因。

进程是可并发执行的程序在一个数据集上的运行过程。

进程有三种基本状态:

就绪,执行和阻塞。

AB

C

D

A:

进程调度B:

发生某事件无法执行

C:

时间片到或优先级高的进程到达D:

阻塞的事件消失

简述进程与程序的区别。

进程是可并发执行的程序在一个数据集合上的运行过程,进程有动态性、并发性、独立性和异步性、结构特征,而程序是静态的,不能并发执行,未建立进程的程序也不能作为一个独立的单位参加运行。

进程的实体是什么?

进程通过三个部分被感知:

程序、数据集合、进程控制块及相应表格,这三部分组成了进程的实体。

程序是进程运行所对应的执行代码,数据集合是进程运行所必需的数据资源,进程控制块是保存进程状态,控制进程转换的标志。

简述进程控制块的主要内容。

PCB的内容

进程标识符信息——外部标识符、内部标识符。

处理机状态信息

进程调度信息——进程状态、优先级等。

进程控制信息——程序和数据地址、同步机制、资源清单等。

简述进程通信的概念,最基本的通信原语有那些?

为了进行进程协调,进程间应具有一定联系,这种联系通常采用进程间交换数据的方式进行,称为进程通信。

最基本的通信原语有发送原语和接收原语。

简述读者——写者问题的思想。

读者—写者问题是典型的进程同步问题。

一个数据对象(数据文件或记录)可被多个进程共享,其中有些进程要求读(读者进程),而另一些进程要求对数据对象进行写或修改(写者进程)。

允许多个读进程同时读一个共享对象,但绝不允许一个写进程和其它读进程或写进程同时访问共享对象。

该问题常被用来测试新同步原语。

什么是原语?

由若干条指令所构成、用于完成一定功能的一个过程,具有原子性。

简述引起进程调度的原因。

缺乏资源——正在运行的进程因某个条件不能满足,进入阻塞状态;

运行进程被撤下,引起调度另一个进程进入运行。

时间片到——分时系统中,每当时间片到,正在运行的进程被暂时停止,排入就绪队列,引起调度另一就绪进程进入运行

外部中断——外部中断信号引起调度。

进程结束——进程正常执行完毕,终止,此时系统调度另一进程运行。

进程调度有何功能?

有哪些常用的调度算法?

查询、登记和更新进程控制表PCB中相应表项,并根据表项中的内容和状态作出选择决定;

根据系统选定的调度算法,从就绪进程队列中选取一个就绪进程,分配CPU,并决定它运行多长时间(调度方式);

进行实际分配工作,更新被调度进程和正在运行进出的PCB表项,修改状态,切换进程执行代码。

常用的调度算法有:

先进先出法、短执行进程优先法、优先级调度法、轮转法等。

什么叫安全状态?

常用什么方法保持系统处于安全状态?

若系统能按某种顺序(安全序列)来为每个进程分配其所需资源,直至最大需求,使每个进程都可顺利完成,此时系统处于安全状态。

在银行家算法中检查资源分配后系统的安全性,保证系统处于安全状态,不会发生死锁。

进程之间存在哪几种相互制约关系?

各是什么原因引起的?

下列活动分别属于哪种制约?

(1)若干同学去图书馆借书

(2)两队举行篮球比赛(3)流水线生产的各道工序(4)商品生产和社会消费。

进程之间存在两种相互制约关系:

(1)间接相互制约——资源共享关系,是由于多个进程共享同一资源引起的。

(2)直接相互制约——相互合作关系,是由于多个进程相互合作,共同完成同一任务造成。

其中

(1)、

(2)属于间接相互制约,而(3)、(4)属于直接相互制约。

系统中有3个进程,4个相同类型的资源,每个进程最多需要2个资源,该系统是否回发生死锁?

为什么?

该系统不会发生死锁。

因为4个资源分配给3个进程,无论如何分配,总会有1个进程能够分配到2个资源,该进程获得其最大资源数后,完成并释放其资源,剩余2个进程就可获得最大资源数,顺利完成,系统始终存在安全序列,故系统不会死锁。

资源分配图如下图,系统是否处于死锁状态?

r1r2r3r4

对该图进行化简,得到如下图所示的结果。

由于该图是不可完全简化的,所以根据死锁定理,系统处于死锁状态。

简述解决死锁的途径:

1)、预防死锁——设置某些限制条件,去破坏产生死锁的四个必要条件之一。

2)、避免死锁——资源动态分配过程中,用某方法防止系统进入不安全状态。

3)、检测死锁——允许发生死锁,但通过系统设置的检测机构,检测死锁的发生,并精确确定与死锁有关的进程和资源。

4)、解除死锁——将进程从死锁状态下解脱。

设有进程P1和P2并发执行,都要享用资源R1,R2,使用资源情况如下:

进程P1:

……申请R1……申请R2……释放R1……

进程P2:

……申请R2……申请R1……释放R2……

判断是否会产生死锁,并解释其原因。

在不同的运行推进速度下,可能产生死锁。

在某时刻,P1占用R1,又去申请R2;

而P2占用R2,又去申请R1;

互不释放自己占用的资源,又得不到自己所需的资源,系统处于僵持状态,形成死锁。

简述死锁定理。

用资源分配图加以简化的方法来检测系统是否处于死锁状态。

S为死锁状态的充分条件是,当且仅当s状态的资源分配图是不可完全简化的。

该充分条件称为死锁定理。

综合应用题

请用信号量实现4*100接力赛的同步过程

解答:

S1S2S3

P1、P2、P3和P4分别代表四位运动员,他们的跑步顺序受其位置的限制。

从上图表示可以看出,此题相当于是用信号量描述前趋关系。

S1、S2、S3、的初值均为0。

P1:

起跑——>

前进100米——>

V(S1)

P2:

P(S1)——>

V(S2)

P3:

P(S2)——>

V(S3)

P4:

P(S3)——>

到达终点

有一发送者进程和一接收者进程,其流程如下。

s是用于实现进程同步的信号量,m是用于实现进程互斥的信号量。

试完成流程图。

假定缓冲区有无限多个,s和m的初值为多少?

发送者接收者

申请缓冲区C

把信息写入缓冲区D

A从消息链首取一个缓冲区

将缓冲区放到消息链尾V(m)

B从缓冲区取出消息

V(s)释放缓冲区

s=0表示满缓冲的数量、即多少缓冲区里有消息

m=1表示互斥信号量

A:

P(m)B:

V(m)C:

P(s)D:

P(m)

由题意,m用于实现进程互斥,初值应为1,并应成对出现,由接收者进程的V(m)操作可知,m用于实现消息链存、取缓冲区操作的互斥,故D为P(m)。

相应的,A为P(m),B为V(m)。

由发送者进程可知,当发送者将一个消息放入消息链尾后,执行V(s)操作,故s表示接收者可取消息的数量,又因s用于实现进程同步,所以接收者接受消息前,应判断是否有消息可以取,需对s执行P操作,所以C为P(s),发送者发送消息前,接收者无消息可取,s的初值应为0。

桌上有一只盘子,最多允许存放两只水果,每次只能放入或取出一个水果。

爸爸专向盘中放苹果,妈妈专向盘中放桔子,两个儿子专等吃盘中的苹果,两个女儿专等吃盘中的桔子。

试用PV操作实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。

由题意,盘中最多可以放两只水果,而不管放入的是何种水果,故只要盘中有空位置,父母均可执行放水果的操作,即父母的放水果(苹果、桔子)操作仅取决于盘中是否有空位置。

只有盘中有苹果,儿子才能取,只有盘中有桔子,女儿才能取,即儿女取水果的操作取决于相应水果是否存在。

从另一个角度讲,父亲放苹果与儿子取苹果要同步,母亲放桔子与儿子取桔子要同步,分别需要用同步信号量实现。

每次只能向盘子放入或从盘中取出一个水果,用互斥信号量实现。

设置信号量s1=2,表示盘子中可放水果的空位置;

s2=1,表示盘中放、取水果的互斥信号量;

s3=0,表示盘中苹果的数目;

s4=0,表示盘中桔子的数目;

父亲:

母亲:

儿子:

女儿:

P(S1)P(S1)P(S3)P(S4)

P(S2)P(S2)P(S2)P(S2)

放苹果放桔子取苹果取桔子

V(S2)V(S2)v(S2)v(S2)

V(S3)V(S4)V(S1)V(S1)

在公共汽车上,司机和售票员的活动分别是

司机:

启动车辆;

正常行车;

到站停车;

售票员:

关车门;

售票;

开车门;

在汽车不断到站、停车、行驶过程中,这两个活动存在着同步关系,试用信号量和P、V操作实现它们的同步。

根据常识,车门关好后司机方可启动车辆,到站停车后售票员方可打开车门,即门的开、关与车的停、开存在着相互制约的同步关系。

定义信号量run,表示司机是否可以启动车辆,也就是车门的状态(0表示门开,1表示门关),初值为0。

定义信号量stop表示售票员是否可以开车门,即车是否停好(0表示车停,1表示车开),初值为0。

初始状态为车停门开。

上乘客;

关车门;

V(run);

车门关好后,run加1,表明司机可以启动车辆。

售票;

P(stop);

判断是否可以开车门;

若司机已停车,stop为1,继续;

开车门;

若司机未停车,stop为0,阻塞,无法开车门。

下乘客;

P(run);

判断是否可以启动车辆;

若售票员已关门run为1,继续;

启动车辆;

若售票员未关门run为0,阻塞,无法启动车辆。

正常行车;

到站停车;

V(Stop);

停车后,stop加1,表明售票员可以开车门。

某寺庙,有小、老和尚若干,有一水缸,由小和尚提水入缸供老和尚引用。

水缸可容12桶水,水取自同一井中。

水井径窄,每次只能容一个桶取水。

水桶总数为4个。

每次入、取缸水仅为一桶,且不可同时进行。

试给出有关取水、入水的算法描述。

分析题目可知,小和尚负责用桶到井中取水并将水倒入缸中,其操作依次为拿桶、井中取水、倒水入缸。

水桶只有4个,只有拿到桶后方可继续,否则需要等桶,因水井径窄,每次只能容一个桶取水,故取水的小和尚对水井的访问必须是互斥的。

老和尚负责用桶从缸中取水,其操作依次为拿桶、缸中取水。

只有拿到桶后方可继续,否则需要等桶。

每次入、取缸水仅为一桶,且不可同时进行,表明小和尚倒水入缸、老和尚取水必须互斥。

同时,缸中没水,老和尚不能取水,要等待小和尚倒水入缸;

水缸满,小和尚不能倒水入缸,要等待老和尚取水,也就是说,小和尚倒水入缸和老和尚取水必须同步。

设置互斥信号量和同步信号量:

m1=1,表示小和尚从水井取水时,对水井的互斥访问,即一次只能有一个水桶进出水井;

m2=1,表示小和尚倒水入缸、老和尚取水时对水缸的互斥访问,即每次入、取缸水只能一个桶;

count=4,表示是否有桶可以供小和尚、老和尚使用;

full=0满缓冲,表示缸内有水的桶数,控制老和尚取水;

empty=12,空缓冲,缸内还能放水的桶数,控制小和尚倒水入缸;

P(empty)判断缸中是否有倒水的位置,若有,水位-1,继续;

P(count)判断是否有水桶可以使用,若有,可用水桶数目-1,继续;

P(m1)判断能否对水井访问,即是否有其他小和尚从水井取水

从井中取水互斥控制一个水桶从水井取水;

V(m1)

P(m2)判断能否对水缸访问,即是否有其他和尚取水或倒水

送水入缸互斥地将水倒入水缸;

V(m2)

V(count)水入缸后,水桶空闲,可供其他和尚使用。

可用水桶数目+1

V(full)水入缸后可供老和尚取水,可取水的桶数+1

此题特别要注意P操作的次序,例如:

如果P(empty)和P(count)操作次序颠倒,就有可能产生死锁。

若某时刻水缸水满(empty=0;

full=12),而四个小和尚依次拿水桶去井中取水,此时P(count)均执行减1操作,count的值变为0,但继续执行P(empty)时,empty-1,empty<

0,阻塞;

此时老和尚想取水,执行P(full),继续,执行P(count),此时couunt-1,count<

0,阻塞,即老和尚没有水桶可以取水。

老和尚无法取水,小和尚无法倒水,形成僵局,死锁发生。

所以,P操作的顺序不可颠倒。

小和尚从水井取水入缸

老和尚从缸中取水

P(full)缸中是否有水供老和尚取用;

若有,可取水的桶数-1,继续;

P(count)

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

当前位置:首页 > 高等教育 > 其它

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

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