第3章 进程管理.docx

上传人:b****5 文档编号:11881852 上传时间:2023-04-08 格式:DOCX 页数:29 大小:29.96KB
下载 相关 举报
第3章 进程管理.docx_第1页
第1页 / 共29页
第3章 进程管理.docx_第2页
第2页 / 共29页
第3章 进程管理.docx_第3页
第3页 / 共29页
第3章 进程管理.docx_第4页
第4页 / 共29页
第3章 进程管理.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

第3章 进程管理.docx

《第3章 进程管理.docx》由会员分享,可在线阅读,更多相关《第3章 进程管理.docx(29页珍藏版)》请在冰豆网上搜索。

第3章 进程管理.docx

第3章进程管理

第3章进程管理

一、单项选择题

1.程序的执行结果与它的执行速度无关,而只与初始条件有关,这是指顺序程序的

()

A.顺序性B.可再现性

C.封闭性D.封锁性

2.操作系统中所提到的生产者/消费者问题,是用于研究

A.计算结果的可信度问题B.某个资源的利用率问题

C.CPU的工作效率D.进程同步问题

3.在非剥夺调度方式下,运行进程执行V原语之后,其状态

A.不变B.要变

C.可能要变D.可能不变

4.在采用信箱实现进程间互通信息的通信机制的操作系统中,若有个进程要发送信息,则

应调用()

A.发信原语

C.邮寄原语

B.寄信原语

D.发送原语

5.对于临界区

A.必须同步执行B.不一定互斥执行

C.必须互斥执行D.应该共同协调执行

6.在死锁防止策略中,按序分配资源的策略中是破坏了产生死锁的四个必要条件中的

()

A.环路条件B.互斥条件

c.不剥夺条件D.部分分配条件

7.两个进程争夺同一个资源()

A.一定死锁B.不一定死锁

C.不死锁D.以上说法都不对

8.在进程通信中,——常借助变量、数组形式来实现()

A.低级通信B.信箱通信

c.消息缓冲通信D.管道通信

9.对于两个并发进程,设互斥信号量为s,当S=0时,则表示()

A.有一个进程进入了临界区

B.有一个进程进人了临界区,并有多个进程等待进入

C.没有进程进入临界区

D.有不止一个进程进入了临界区

10.P、V操作是一组()

A.进程控制命令B.作业控制命令

C.系统调用命令D.原语

11.可以被多个进程在任一时刻共享的代码必须是()

A.不能自身修改的纯码B.顺序代码

c.无转移指令的代码D.汇编语言编制的代码

12.为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数

据的方式进行,这种方式称为()

A.进程同步B.进程互斥

C.进程制约D.进程通信

13.破坏了产生死锁的四个必要条件中的部分分配条件和环路条件的死锁防止策略是

()

A.剥夺式分配资源策略B.静态分配资源策略

C.按序分配资源策略D.动态分配资源策略

14.下列说法中,不正确的是()

A.进程通信可以用消息缓冲予以实现

B.进程通信可以用管道予以实现

c.进程通信可以用信箱予以实现

D.进程通信不可以用P、V操作予以实现

15.利用PV操作可以()

A.防止系统出现死锁B.避免系统进人死锁

C.实现进程间的同步和互斥D.实现资源的动态分配

16.有交往的并发进程之间()

A.可能共享某些资源B.一定共享某些资源

c.可能共享信号量D.一定共享信号量

17.下列情况中,导致系统会出现死锁现象的是()

A.计算机系统中,存在多个并发进程既占有部分资源,又等待其它进程释放已占有的

资源

B.计算机系统出现硬件故障

c.系统拥有资源数略少于进程申请的资源数

D.计算机系统中的内存容量小

18.两个或多个进程无止境地等待着永远不会成立的条件的一种系统状态,常被称为

()

A.忙等B.阻塞

C.死锁D.挂起

19.并发程序的特点之一是()

A.失去程序的封闭性B.程序的可再现性

C.程序的封闭性D.程序与计算一一对应

20.将引起进程的并发执行。

()

A.进程调度策略B.资源分配策略

C.进程状态变化D.多道程序设计

21.进程资源图中有——是发生死锁的必要条件。

()

A.互斥B.可剥夺件

C.环路D.同步

22.当V原语对信号量作运算之后,()

A.当s<01t寸进程继续执行B.当S<0时要唤醒一个就绪进程

C.当S≤O时要唤醒一个等待进程D.当s≤O时要唤醒一个就绪进程

23.在操作系统中P、V操作是一种()

A.机器指令B.系统调用命令

C.作业控制命令D.低级进程通讯

24.在——的情况下,系统出现死锁。

()

A.计算机系统发生了重大故障

B.有多个封锁的进程同时存在

c.若干进程因竞争资源而无休止地相互等待它方释放已占有的资源

D.资源数大大小于进程数或进程同时申请的资源数大大超过资源总数

25.进程和程序的主要区别是()

A.占用处理器和不占用处理器B.占用主存和不占用主存

C.动态和静态D.连续执行和非连续执行

26.正在运行的进程在信号量s上作P操作之后,当S

A.等待队列B.提交队列

c.后备队列D.就绪队列

27.用V操作唤醒一个等待进程时,被唤醒进程的状态应变成()

A.等待B.运行

c.就绪D.完成

28.并发进程中与共享变量有关的程序段称为()

A.共享区B.互斥区

C.临界区D.同步区

29.如果发现系统有——的进程队列就说明系统有可能发生死锁了。

()

A.互斥B.可剥夺

c.循环等待D.同步

30.使用P、V操作实现进程同步时,就保证()

A.一个信号量至多与三个信息联系在一起

B.一个信号量至多与两个信息联系在一起

c.一个信号量可与多个信息联系在一起

D.一个信号量只能与一个信息联系在一起

31.与时间有关的错误是指f1

A.与进程执行的时间长短有关、B.与CPU的速度有关

C.与进程被打断的时间有关D.与超时有关

32.死锁的一个古典的测试方式是()

A.资源分配算法B.银行家算法

c.按需分配算法D.科学家算法

33,进程间的同步是指进程间在逻辑上的相互关系。

()

A.联接B.制约

c.继续D.调用

34.“每一个资源每次只能供一个进程使用”是指产生死锁的四个必要条件的()

A.部分分配条件B.互斥条件

C.不剥夺条件D.环路条件

35.有四个并发进程共享某一变量,为了确保各进程互斥访问共享变量,借助P、v操作

予以实现,那么信号量S的取值范围为()

A.一3≤S≤3且S∈ZB.一3≤S≤1且SuZ

C.一2≤S≤2且SaZD.O≤S≤1且SCZ

36.某个信号量s初值为3,当前值为一2,则等待在该信号量上的进程数为

一个。

()

A.1B.2

C.3D.5

37.如果一个程序为多个进程所共享,那么该程序的代码在执行的过程中不能被修改,即

程序应该是()

A.可执行码B.可重人码

C.可改变码D.可再现码

38.以下4句中正确的叙述为()

A.操作系统的一个重要概念是进程,不同的进程所执行的代码也不同

B.为了避免发生进程死锁,各进程应逐个申请资源

c.操作系统用PCB(进程控制块)管理进程,用户进程以从PCBl,读出与本身运行状

况有关的信息

D.进程同步是指某些进程之间在逻辑上相互制约的关系

39.设有两个进程共享3个同类资源,为使系统不会死锁,每个进程最多可以申请

——个资源。

()

A.0B.1

C.2D.3

40.对信号量S做V操作的定义V(s)是()

A.S:

=S一1

B.S:

=S-1

ifS<0ifS~

thenR(S)thenR(S)

C.S:

=S+l

ifS<0

thenR(S)

D.S:

=S+1

ifS~<0

thenR(S)

41.信息量S的P操作P(s)的定义是()

A.S:

=S-1

B.S:

=S一1

ifS<0ifS~

thenW(S)thenW(S)

C.S:

=S+l

ifS<0

thenW(S)

D.S:

=S+l

ifS~<0

thenW(S)

42.对资源采用静态分配策略后,进程在执行时

A.可以继续申请资源

B.不需要继续申请资源

C.会出现等待资源状态

D.会抢占其他进程所占资源

43.设由3个进程共享一个资源,如果最多只允许2个进程同时使用该资源,那么使用PV

操作来保证合法使用该共享资源时,信号量的初值应为(、)

A.0B.1

C.2D.3

二、多项选择题

1.信箱通信方式中的信件的内容包括()

A.等/不等回信B.回信存放地址

c.发送者名D.信息(或信息存放地址和长度)

E.收信者名’

2.下面是关于进程的一些描述,其中——是错误的。

()

A.我们把一个程序在一个数据集上的一次执行称为一个进程

B.程序是静态的,而进程是动态的

C.进程包含了数据和运行于其上的程序,而且进程和程序是一一对应的

D.一个被创建了的进程,在它消亡之前,任何时刻总是处于三种基本状态之一

E.并发进程在访问共享资源时,一定会出现与时间有关的错误

3.信息通信方式需要——两原语的支持。

()

A.发送原语B.寄信原语

c.P操作原语D.接收原语

E.V操作原语

4.在下列算法中,用于进程调度的算法是()

A.最先适应B.先来先服务

c.均衡资源调度D.优先数调度

E.先进先出

5.信箱通信方式中,信箱的组成部分之一一信箱说明,主要有如下内容:

()

A.可存信件数B.已读信件数

c.可存信件的指针D.已有信件数

E.未读信件数

6.计算机系统中,会出现死锁现象的四个必要条件是

A.环路条件B.部分分配条件

c.互斥条件D.资源独占条件

E.不剥夺条件

7.进程通信方式可以分为

A.同步通信方式

c.低级通信方式

B.异步通信方式

D.高级通信方式

E.中级通信方式

8.形成死锁的起因是()

A.系统提供的资源数比进程要求的资源数少

B.进程之间的协作关系

C.进程之间的互斥

D.若干进程要求资源的总数大于系统能提供的资源数

E.各进程逐个申请资源

9.P、V操作可以用来实现

A.进程的同步B.进程的互斥

c.进程间的低级通信D.解决系统死锁问题

E.进程间的高级通信

10.信箱通信方式中,信箱是由______组成。

()

A.信息线标志B.信箱开头标志

c.信箱体D.信箱说明

E.已有信件数

三、填空题

1.并发进程中与共享变量有关的程序段称为______。

2.任一个进入临界区的进程必须在______时间内______临界区。

3.P操作和V操作都是______操作,它人都对______进行操作。

4.进程互斥是特殊的______。

5.并发进程之间交换信息的工作称为______。

6.形成死锁的起因是______。

7.防止死锁的方法有______、______和______。

8.一组可同时执行的进程称为______进程。

9.死锁的检测是为了______。

IO.产生死锁的四个必要条件是______、______、______、______。

11.每执行一次V原语,信号量的数值s加1。

如果______,Q进程继续执行;如果s≤

0,则从对应的______队列中移出一个进程R,该进程状态变为______。

12.利用信号量实现进程的______,应为临界区设置一个信号量mutex。

其初值为

______,表示该资源尚未使用,临界区应置于______和______原语之间。

四、简答题

1.什么叫并发进程?

答:

在多道程序设计系统中,作为单个作业可以同时执行,而每一个作业又需要有多个进程的协作完成。

因此,系统会同时存在着许多进程,在单处理器的情况下,这些进程轮流的占用处理器,即一个进程的工作没有全部完成之前,另一个进程就开始工作,我们说

这些可同时执行的进程具有并发性,并且把可同时执行的进程称为“并发进程”。

2.临界区是怎样定义的?

对相关临界区的管理应符合哪些要求?

答:

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

对若干个并发进程共享某一变量的相关临界区的管理有三点要求:

(1)一次至多一个进程能够进入临界区,当有进程在临界区执行时,其他想进入·1各界区执行的进程必须等待。

(2)不能让一个进程无限制的在临界区执行,即任何一个进入临界区的进程必须在有限的时间内退出临界区。

(3)不能强迫一个进程无限期等待进入它的临界区,即有进程退出临界区时应让一个等待进入‘临界区的进程进入它的临界区执行。

3.采用P、V操作作为同步机制时,假定与某共享变量相关的信号量s的值可在[-1,

1]之间,问s的初值是哪个值?

当s=一l,S=O,s=1时它们各自的物理含义是什么?

答:

S的初值是1。

S=一l,表示有一个进程在等待进入临界区执行。

s=O,表示已有一个进程在临界区执行,这时若有进程想进入临界区则必须等待。

s=l,表示无进程在临界区执行,若有进程想进入临界区则可以立即进入。

4.请简述P、V.操作的过程。

答:

PV操作实际上是两个操作P操作和V操作。

这两种操作在执行其间是不允许中断的。

凡是执行中不允许中断的过程称作原语。

所以P操作和V操作是原语操作。

5.用P、V操作实现并发进程的互斥和同步,要注意什么问题?

答:

用PV操作实现并发进程的互斥和同步,要注意下面4个方面:

①识别临界资源:

一是看是否被共享,二是看是否在排他性要求。

②划出临界区。

PV原语操作应分别紧靠临界区的头尾部。

③临界区代码应尽可能短小,不能有死循环。

④要保证PV操作在程序相关的任一执行流程上成对出现。

6.进程同步和进程互斥之间有什么关系?

答:

进程同步和进程互斥之间有以下的关系:

①进程互斥可在伙伴进程之间,也可以在非伙伴进程之间;同步发生在相互有逻辑关系的伙伴进程之间。

②广义地看,互斥是一种特殊的互斥。

所以把用来解决进程互斥和同步的工具统称为同步机制。

7.什么是进程通信?

什么是低级进程通信方式?

什么是高级通信方式?

答:

进程通信是指并发进程之间交换信息的工作。

应该说PV操作是进程之间进行通信的一种低级方式,因为这种通信方式只交换了很少量的信息。

利用专门的通信机制来实现

进程之间大量信息的交换的方式称为高级的通信方式。

8.通信机制中设置哪些基本通信原语?

它们的功能是什么?

答:

系统提供两个与信箱通信有关的通信原语:

send原语(发送)和receive原语(接收)。

send(B,M)原语把信件M送入到信箱B中,receive(B,M)原语从信箱B中取出一封信存放到指定的地址x中。

9.什么叫死锁?

什么原因会引起死锁?

答:

若系统中存在一组进程(二个或多个进程),他们中的每一个进程都占用某种资源而又都在等待其中另一个进程所占用的资源,这种等待永远不能结束,就说系统出现“死锁”。

进程死锁的起因是系统提供的资源数比要求使用资源的进程数少。

或者是若干个进程要求资源的总数大于系统能提供的资源数。

这时,进程问就会出现竞争资源的现象,如果对进程竞争的资源管理和分配不当就会引起死锁。

死锁的出现是与资源分配策略和并发进程的执行速度有关。

10.有哪些策略可防止和避免死锁?

答:

防止死锁的策略有:

静态分配、按序分配、剥夺式分配。

银行家算法可以避免死锁。

五、综合题

1.A、B两个火车站之间是单轨连接的,现在有许多列车同时到达A站,需经A站到达B

站,列车出B站后又可分路行驶(如下图),为保证行驶安全,请你当调度时,你将如何调度列车?

请你用PV操作为工具设计一个能实现你的调度方案的自调度系统。

车站连接示意图

答:

当A、B站之间无列车停驶时,可让到达A站的一列车进入A、B站之间行驶。

当A、B站之间有列车在行驶时,则到达A站者必须在站外等待。

当有列车到达B站后,让等在A站外的一列车进入。

用一个信号量S来控制到达A站的列车能否进入单轨道行驶,S的初始值为1。

列车到达A站后,先执行P(S),若无列车在A、B站之间行驶,则执行P(S)后立即进入单轨道行驶,到达B站后,执行V(s),可释放一个等待进入的列车进入行驶。

若A、B站之间已有列车在行驶,则执行P(s)后就等待,直到行驶者到了B站执行V(s)后释放一个欲进入者。

2.今有三个并发进程R、M、P,它们共享一个缓冲区,R负责从输人设备读信息,每次

读出一个记录并把它存放在缓冲区中;M对缓冲区中的记录加工;P把加工后的记录打

印输出。

渎人的记录经加工后,缓冲区中又可存放下一个记录。

请用PV操作为同步机

制写出它们并发执行时能正确工作的程序。

答:

三个进程共用一个缓冲区,他们必须同步工作,可定义三个信号量:

s1:

表示是否可把读入的记录放到缓冲区。

初始值为l。

s2:

表示是否可时缓冲区中的记录加工,初始值为0。

S3:

表示记录是否加工好,可以输出,初始值也为0。

三个进程可如下设计:

besi.

S1,s2,S3:

semapllore;

SI:

=I;S2:

=S3:

=0;

cobegin

processR

begin

Ll:

读记录;

P(S1);

记录存入缓冲区;

V(s2);

gotoL1:

end:

processM

Begin

L2:

P(S2);

加工记录;

V(S3);

gotoL2;

end;

processP

begin

L3:

P(S3);

输出加工后的记录;

V(S1);、

gotoL3;

end;

coend;

end.

3.现有四个进程R1、R2、wl和w2,它们共享主存中可以存放一个数的缓冲器B。

进程

R1每次把从磁盘上读人的一个数存到缓冲器B中,供进程wl打印输出;进程R2每次

从键盘上读一个数存放到缓冲器B中,供进程V汜打印输出。

当一个进程把数存放到缓

冲器后,在该数还没有被打印输出之前不准任何进程再向缓冲器中存数。

当一个进程已

把缓冲器中的数打印输出后,在缓冲器中还没有存人一个新数之前不准任何进程再从缓

冲器中取数打印。

怎样用PV操作使这四个进程并发执行时能协调地工作?

答:

这四个进程实际上是两个生产者Rl,R2和两个消费者W1,W2。

各自生成不同的产品供各自的消费对象去消费,他们共享一个缓冲器。

由于缓冲器只能存放一个数。

所以,R1和R2在存放数时必须互斥。

而Rl和W1、R2和W2之间存在同步。

为了协调它们的工作,可定义三个信号量:

S:

表示能否把数存入缓冲器B,初始值为1。

S1:

表示R1是否已向缓冲器存入从键盘上读入的一个数,初始值为0。

S2:

表示R2是否已向缓冲器存入从磁盘上读入的一个数。

初始值为0。

begin

S,Sl,s2:

semaphore:

S:

1;S1:

=s2:

=0;

cobegin

processR1

xl:

integer;‘、

begin

L1:

从键盘读一个数;

xl:

=读入的数:

P(S);

B:

xl:

V(S1);

gotoL1;

end;

processR2

x2:

integer;

begin

L2:

从磁盘读一数;

x2:

=读入的数:

P(S);

B:

=x2;

V(S2);

gotoL2;-

end;

processW1

Y:

integer;

begin

L3:

P(S1);

Y:

=B;

V(S);

打印Y中的数;

gotoL3;

end;

processW2

z:

integer;

begin

L4:

P(S2);

Z:

=B;

V(S);

打印Z中的数;

gotoL4;

end;

coend;

end.

4.两个并发进程的程序如下:

begjn

N:

integer;

N:

=3;

cobegin

processA

begin

Ll:

N:

=N+5;.

g0tOLl‘

end;

processB‘

begin.

L2:

print(N);

N:

=0:

g0t0L2

end;

eoend;

end;

若proeessA先执行了三个循环后,processA和processB又并发执行了一个循环,写出可能出现的打印值。

请用PV操作实现同步,使两并发进程能正确执行。

答:

可能的值是18或23。

这是因为processA执行三个循环后,N=18,之后A和

发执行。

可能先执行A中的N:

N+5,再执行B中的print(N);这样就会得到23

可能先执行B中的print(N);这就会得到18。

可以利用P、V操作实现同步:

begin

N:

integer;

S:

semaphore;

S:

=l;

N:

=3:

cobegin

processA

begin

L1:

P(S);

N:

=N+5:

V(S);

gotoL1;

end;一

processB

begin.

L2:

P(S);

print(N);

N:

=0:

V(S);

gotoL2;

end;

coend;

end.

5.某系统有输入机和打印机各一台,今有两个进程都要同时使用它们,采用PV操作实现请求使用和归还释放后,还会产生死锁吗?

若否,说明理由;若会产生死锁则给出一种防止死锁的方法。

答:

如果PV操作设计不当,仍会产生死锁。

假如用S1和s2分别代表输入机和打印机能否被使用的信号量,由于资源是共享的,所以必须互斥使用,因而它们的初始值都为1。

如果用如下方式实现请求使用和归还释放:

processQ1

begin

P(S1);

使用输入机:

P(S2);

使用打印机;

V(S2);

V(S1);

end;

processQ2.

begin

P(S2);

使用打印机;

P(S1);

使用输入机:

V(S2);

V(S1);

end;

那么就会出现Ql得到输入机而Q2得到打印机,双方在不释放已经有的资源的情况下又去申请新的资源,就会造成死锁。

可以采用为资源编序号的方法,要求按序申请如下:

proce88Ql

begin

P(S1);

使用输入机;

P(S2);。

使用打印机;

V(S2);

V(S1);

end:

pmcessQ2

begin

P(S1);

使用输入机;

P(s2);

使用打印机;r.

V(S2);

V(S】);

end.

6.某一系统分配资源的策略是;当进程提出申请资源时,只要系统有资源总是分配给它,系统无资源时让它等待。

任一进程总是先释放已占有的资源后再申请新的资源,且每次申请一个资源,系统中的进程得到资源后总能在有限时间内归还。

证明该系统不会发生死锁。

答:

任一进程P申请资源时出现两种情况:

情况一,立即得到满足,此时不会成为等待状态,也就不存在引起死锁的条件。

情况二,得不到满足,处于等待资源状态。

此时,资源一定被另一进程占有。

进程Q执行时若不再申请资源,则必在有限时间里归还资源,于是P不会永远等待。

如果进程Q执行时要申请资源,按照题意,它一定先释放占有的资源,于是P也不会永远等待。

所以。

任一进程申请资源总能在有限时间得到资源,因而不会产生死锁。

7.假设某系

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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