第三章进程同步与通信作业习题与答案.docx
《第三章进程同步与通信作业习题与答案.docx》由会员分享,可在线阅读,更多相关《第三章进程同步与通信作业习题与答案.docx(15页珍藏版)》请在冰豆网上搜索。
第三章进程同步与通信作业习题与答案
第三章
一.选择题(50题)
1、以下_B__操作系统中得技术就是用来解决进程同步得。
A、管道B、管程C、通道D、DMA
2、以下_B__不就是操作系统得进程通信手段。
A、管道B、原语C、套接字D、文件映射
3、如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量得初值应设置为_B__。
A、3B、2C、1D、0
4、设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V操作管理时信号量S得可能取值就是_C__。
A、3,2,1,0,-1B、2,1,0,-1,-2C、1,0,-1,-2,-3D、4,3,2,1,0
5、下面有关进程得描述,就是正确得__A__。
A、进程执行得相对速度不能由进程自己来控制
B、进程利用信号量得P、V操作可以交换大量得信息
C、并发进程在访问共享资源时,不可能出现与时间有关得错误
D、P、V操作不就是原语操作
6、信号灯可以用来实现进程之间得_B__。
A、调度B、同步与互斥C、同步D、互斥
7、对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B__。
A、没有进程进入临界区
B、有1个进程进入了临界区
C、有2个进程进入了临界区
D、有1个进程进入了临界区并且另一个进程正等待进入
8、信箱通信就是一种_B__方式
A、直接通信B、间接通信C、低级通信D、信号量
9、以下关于临界区得说法,就是正确得_C__。
A、对于临界区,最重要得就是判断哪个进程先进入
B、若进程A已进入临界区,而进程B得优先级高于进程A,则进程B可以打断进程A而自己进入临界区
C、信号量得初值非负,在其上只能做PV操作
D、两个互斥进程在临界区内,对共享变量得操作就是相同得
10、并发就是指_C__。
A、可平行执行得进程B、可先后执行得进程
C、可同时执行得进程D、不可中断得进程
11、临界区就是_C__。
A、一个缓冲区B、一段数据区C、一段程序D、栈
12.进程在处理机上执行,它们得关系就是_C__。
A、进程之间无关,系统就是封闭得B、进程之间相互依赖相互制约
C、进程之间可能有关,也可能无关D、以上都不对
13、在消息缓冲通信中,消息队列就是一种__A__资源。
A、临界B、共享C、永久D、可剥夺
14、以下关于P、V操作得描述正确得就是__D_。
A、机器指令B、系统调用C、高级通信原语D、低级通信原语
15、当对信号量进行V源语操作之后,_C__。
A、当S<0,进程继续执行B、当S>0,要唤醒一个就绪进程
C、当S<=0,要唤醒一个阻塞进程D、当S<=0,要唤醒一个就绪
16、对临界区得正确论述就是__D_。
A、临界区就是指进程中用于实现进程互斥得那段代码
B、临界区就是指进程中用于实现进程同步得那段代码
C、临界区就是指进程中用于实现进程通信得那段代码
D、临界区就是指进程中访问临界资源得那段代码
17、__A__不就是进程之间得通信方式。
A、过程调用B、消息传递C、共享存储器D、信箱通信
18、同步就是指进程之间逻辑上得__A__关系。
A、制约B、调用C、连接D、排斥
19、正在运行得进程在信号量S上作P操作之后,当S<0,进程将进入信号量得__A__。
A、阻塞队列B、提交队列C、后备队列D、就绪队列
20、某个信号量S初值为3,当前值为-2,则等待在该信号量上得进程数为_B__个。
A、1B、2C、3D、5
21.管理若干进程共享某一资源得相关临界区应满足三个要求,其中__A__不考虑。
A一个进程可以抢占己分配给另一进程得资源
B.任何进程不应该无限地逗留在它得临界区中
C.一次最多让一个进程在临界区执行
D.不能强迫一个进程无限地等待进入它得临界区
22、_C__就是只能由P与v操作所改变得整型变量。
A共享变量 B.锁C、整型信号量 D.记录型信号量
23.对于整型信号量,在执行一次P操作时,信号量得值应_C__。
A.不变 B.加1 C减1 D.减指定数值
24.在执行v操作时,当信号量得值__D_时,应释放一个等待该信号量得进程。
A>0 B、<0 c、>=0 D、<=0
25、Pv操作必须在屏蔽中断下执行,这种不可变中断得过程称为_B__。
A初始化程序 B.原语 c.子程序 D控制模块
26.进程间得互斥与同步分别表示了各进程间得__A__。
A.竞争与协作 B.相互独立与相互制约 c.不同状态 D.动态性与并发性
27、并发进程在访问共享资源时得基本关系为_B__。
A.相互独立与有交往得 B.互斥与同步 C并行执行与资源共享 D信息传递与信息缓冲
28.在进程通信中,_B__常用信件交换信息。
A.低级通信 B.高级通信 C.消息通信 D.管道通信
29.在间接通信时,用send(N,M)原语发送信件,其中N表示_C__。
A.发送信件得进程名 B.接收信件得进程名 C、信箱名 D.信件内容
30.实现进程互斥时,用_C__对应,对同一个信号量调用Pv操作实现互斥。
A.一个信号量与一个临界区 B.一个信号量与—个相关临界区
C.一个信号量与一组相关临界区 D、一个信号量与一个消息
31.实现进程同步时,每一个消息与一个信号量对应,进程__D_可把不同得消息发送出去。
A.在同一信号量上调用P操作 B在不同信号量上调用P操作
C.在同一信号量上调用v操作 D.在不同信号量上调用v操作
32、临界区就是指__D_。
A、并发进程中用于实现进程互斥得程序段
B.并发进程中用于实现进程同步得程序段
C.并发进程中用户实现进程通信得程序段
D.并发进程中与共享变量有关得程序段
33.相关临界区就是指__D_。
A、一个独占资源 B.并发进程中与共享变量有关得程序段
C.一个共享资源 D.并发进程中涉及相同变量得那些程序段
34、P、V操作就是__A__。
A.两条低级进程通信原语 B.两组不同得机器指令
C.两条系统调用命令 D.两条高级进程通信原语
35.对进程得管理与控制使用_B__。
A.指令 B.原语 C.信号量 D.信箱通信
36.用P、V操作管理临界区时,信号量得初值应定义为_C__。
A.一1 B.0 C.1 D.任意值
37.用V操作唤醒一个等待进程时,被唤醒进程得状态变为_B__。
A.等待 B.就绪 C.运行 D.完成
38.进程间得同步就是指进程间在逻辑上得相互_B__关系。
A.联接 B.制约 C、 继续 D.调用
39.__D_就是一种只能进行P操作与V操作得特殊变量。
A.调度 B.进程 C.同步 D.信号量
40.用P、V操作可以解决__A__互斥问题。
A.一切 B.某些 C.正确 D.错误
41.对于两个并发进程,设互斥信号量为mutex,若mutex=0,则_B__。
A.表示没有进程进入临界区
B.表示有一个进程进入临界区
C.表示有一个进程进入临界区,另一个进程等待进入
D.表示有两个进程进入临界区
42.两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程得__A__。
A.同步 B.互斥 C.调度 D.执行
43.为了进行进程协调,进程之间应当具有一定得联系,这种联系通常采用进程间交换数据得方式进行,这种方式称为__D_。
A.进程互斥 B.进程同步 C.进程制约 D.进程通信
44、两个进程合作完成一项任务。
在并发执行中,一个进程要等待其合作伙伴发来消息,或建立某个条件后再运行,这种制约性合作关系被称为进__A__。
A、同步B、执行C、互斥D、调度
45、为了进行进程协调,进程之间应当具有一定得联系,这种联系通常采用进程间交换数据得方式进行,这种方式通常称为_C__。
A、进程互斥B、进程同步C、进程通信D、进程制约
46、不就是信号量能实现得功能就是__D_。
A、进程同步B、进程互斥C、执行得前趋关系D、进程得并发执行
47、若P、V操作得信号量S初值为2,当前值为-1,则表示有_B__等待进程。
A、0个B、1个C、2个D、3个
48.在进程通信中,常_C__通过变量、数组形式来实现。
A、高级通信 B、消息通信 C、低级通信 D、管道通信
49、管道通信就是以_B__ 进行写入与读出。
A、消息为单位 B、自然字符流 C、文件 D、报文
50、进程间得基本关系为_B__。
A、相互独立与相互制约 B、同步与互斥
C、行执行与资源共享 D、信息传递与信息缓冲
二.填空题(50空)
1、进程得_顺序性_____就是指进程在顺序处理器上得执行就是按顺序进行得。
2.当一个进程独占处理器顺序执行时,具有__封闭性____与__可再现件____两个特性。
3.进程得封闭性就是指进程得执行结果只取决于__进程本身____,不受外界影响。
4、 进程得可再现性就是指当进程再次重复执行时,必定获得___相同___得结果。
5.一个进程得工作在没有全部完成之前,另一个进程就可以开始工作,则称这些进程为__可同时执行得___、
6.临界区就是指并发进程中与__共享变量____有关得程序段。
7.__相关临界区____就是指并发进程中涉及到相同变量得那些程序段。
8.只要涉及相同变量得若干进程得相关临界区__互斥执行____,就不会造成与时间有关得错误。
9.进程得___互斥 ___就是指当有若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用。
10.Pv操作就是在一个信号量上进行得__不可被中断____得过程,这种过程也称为__原语___ 。
11.利用P、v操作管理相关临界区时,必须成对出现,在进入临界区之前要调用__P操作____,在完成临界区操作后要调用__v操作____。
12、进程得___同步 ___就是指并发进程之间存在一种制约关系,一个进程得执行依赖另一个进程得消息。
13、 __同步机制____能把它进程需要得消息发送出去,也能测试自己需要得消息就是否到达。
14.P、v操作不仅就是实现___进程互斥___得有效工具,而且也就是一种简单而方便得___同步___工具。
15.用P、v操作实现进程同步时,调用___P操作___ 测试消息就是否到达,调用__v操作____发送消息。
24.用P、v操作实现生产者消费者之间得同步时,在访问共享缓冲区得__前____与__后 ____分别调动P操作与v操作。
16.进程得互斥实际上就是进程__同步____得一种持殊情况。
17.进程得互斥就是进程间___竞争___共享资源得使用权,其结果没有__固定得必然关系____,而进程得同步则在共享资源得并发进程之间有一种__必然得____依赖关系。
18.Pv操作也可瞧作为进程间得一种通信方式,由于只交换了少量得信息,故称为__低级通信方式 ____
19.通过专门得通信机制实现进程间交换大量信息得通信方式称为__进程通信____。
20.采用高级通信方式时,进程间用__信件____来交换信息。
21.最基本得通信原语有两条,它们就是__send____原语与___receive___原语。
22.进程通信方式有两种:
__直接通信____与_间接通信_____。
23.直接通信就是固定在__一对____进程之间通信,而间接通信以信箱为媒体实现通信。
24.一个信息可以由__信箱说明____与__信箱体____两部分组成。
25.进程间通过信件交换信息,可实现___进程同步___。
26、并发带来得问题全局变量得共享问题、操作系统很难最佳得管理资源得分配、定位程序得错误很困难、保证进程执行结果得正确性。
27、并发原理有并发带来得问题、进程得交互、进程互斥、进程同步。
28、管理得结构有条件变量、管理得结构。
29、进程通信表现在效率低、通信对用户不透明。
30、Monitors:
管程。
三.名词解释(20题)
1、进程通信:
进程之间得信息交换。
2、临界区:
操作系统中把并发进程中访问临界资源那段代码。
3、临界资源:
操作系统中将一次仅允许一个进程访问得资源。
4、进程同步:
指多个进程中发生得事件存在着某种时序关系必须协同动作、相互配合,以共同完成一个任务。
5、信号量机制:
它就是一种公认得卓有成效得进程同步机制。
6、管程:
一个共享资源得数据结构以及一组能为并发进程在其上执行得针对该资源得一组操作,这组操作能同步进程与改变管程中得数据。
7、CWAIT(C):
调用进程得执行在条件C上挂起,管程现在可被另一个进程使用。
8、CSIGNAL(C):
恢复在cwait上因为某些条件而挂起得进程得执行。
9、Message:
报文。
10、Client/ServerInteraction:
客户∕服务器交换。
11、单向通信:
只允许发送进程向接收进程发送消息,反之不行。
12、双向通信:
允许一个进程向另外一个进程发送消息,也可以反过来由另一个进程向发过消息得进程回送消息。
13、点对点方式:
用一条链路将两个进程连接,通信得完成只与这两个进程有关。
14、多点方式:
用一条链路连接多个进程(>2)。
15、无容量通信链路:
通信链路上没有用于暂存数据得缓冲区,因而不能暂存任何消息。
16、有容量通信链路:
通信链路中设置了缓冲区,因而可以暂存数据,缓冲区得数目越大,通信链路得容量越大。
17、链路得容量:
通信链路上就是否有用于暂存数据得缓冲区。
18、阻塞方式:
操作方要等待操作结束,才能继续执行。
19、非阻塞方式:
操作方在提交后立即返回,不需要等待。
20、管道:
指用于连接一个读进程与一个写进程,以实现它们之间通信得共享文件,又称为pipe文件。
四.简答题(20题)
1.以下进程之间存在相互制约关系吗?
就是什么制约关系?
为什么?
⑴几个同学去图书馆借同一本书;⑵篮球比赛中两队同学争抢篮板球;⑶果汁流水线生产中捣碎、消毒、灌装、装箱等、各道工序;⑷商品得入库与出库;⑸工人做工与农民种粮。
答:
(1) 答:
存在互斥关系,因为同一本书只能借给一个同学。
(2) 答:
存在互斥关系,因为篮球只有一个,两队只能有一个队抢到球
(3) 答:
存在同步关系,因为最后一道工序得开始依赖于前一道工序得完成。
(4) 答:
存在同步关系,因为商品若没有入库就无法出库,若商品没有出库,装满了库房,也就无法再入库。
(5) 答:
工人与农民之间没有相互制约关系。
2.说明PV存在为什么要设计成原语?
答:
用信号量S表示共享资源,其初值为1表示有一个资源。
设有两个进程申请该资源,
若其中一个进程先执行P操作。
P操作中得减1操作有3跳及其指令组成:
去S送寄存
器R;R-1送S。
若P操作不用原语实现,在执行了前述三条指令中得2条,即还未执行R送S时(此时S值仍为1),进程被剥夺CPU,另一个进程执行也要执行P操作,执行后S得值为0,导致信号量得值错误。
正确得结果就是两个进程执行完P操作后,信号量S得值为-1,进程阻塞。
3.设有一个售票大厅,可容纳200人购票。
如果厅内不足200人,则允许进入,超过则在厅外等候;售票员某时只能给一个购票者服务,购票者买完票后就离开。
试问:
⑴购票者之间就是同步关系还就是互斥关系?
⑵用PV操作描述购票者得工作过程。
(1) 答:
购票者之间就是互斥关系。
(2) semaphore empty=200;
semaphore mutex=1;
void buyer()
{ P(empty);
P(mutex);
购票;
V(mutex);
V(empty);
}
4.分析生产者消费者问题中多个P操作颠倒引起得后果。
答:
semaphore mutex=1;
semaphore empty=n;
semaphore full=0;
int i,j;
ITEM buffer[n];
ITEM data_p,data_c;
void producer() void consumer()
{while(true) {while(true)
{produce an item in data_p; {P(full);
P(mutex); P(mutex);
P(empty); data_c=buffer[j];
buffer[i]=data_p; j=(j+1)%n;
i=(i+1)%n; V(mutex);
V(mutex); V(empty);
V(full);} consume the item in data_c}
} }
5.请简述进程得互斥与同步之间得异同。
答:
进程得同步与互斥就是指进程在推进时得相互制约关系。
为了保证进程得正确运进程之间得制约关系体现为:
进程得同步与互斥。
进程同步:
它主要源于进程合作,就是进程间共同完成一项任务时直接发生相互作用得关系。
为进程之间得直接制约关系。
在多道环境下,这种进程间在执行次序上得协调就是必不可少得。
行以及相互合作得进程之间交换信息,需要进程之间得通信。
进程互斥:
主要源于资源共享,就是进程之间得间接制约关系。
6、什么就是进程得顺序性与并发性?
答:
进程得顺序性就是指进程在顺序得处理器上严格地按顺序执行。
若系统中存在一组可同时执行得过程,则该组程序具有并发性。
可同时执行得进程就是指这些进程执行时在时间上就是重叠得,即一个进程得工作没有全部完成之前,另一个进程就可以开始工作。
7、 为什么并发进程执行时可能会产生与时间有关得错误?
如何避免?
答:
有交往得并发进程可能会同时使用共享资源,如果对这种情况不加控制,由于进程占用处理器得时间、执行得速度与外界得影响等,就会引起与时间有关得错误。
只要使若干并发进程得相关临界区互斥执行,就可避免造成这类错误。
8.简述临界区得相关临界区得概念。
答:
临界区就是指并发进程中与共享变量有关得程序段。
相关临界区就是指并发进程中涉及到相同变量得那些程序段。
9.管理相关临界区有些什么要求?
答:
管理相关临界区有三点要求:
(1)一次最多让一个进程在临界区执行;
(2)任何一个进入临界区执行得进程必须在有限得时间内退出临界区;(3)不能强迫一个进程无限地等待进入它得临界区。
10.用Pv操作实现进程间同步与互斥应注意些什么?
答:
(1)对每一个共享资源(含变量)都要设立信号量,互斥时对一个共享资源设一个信号量,同步时对一个共享资源可能要设两个或多个信号量,视由几个进程来使用该共享变量而定。
(2)互斥时信号量得初值可大于或等于1,同步时,至少有一个信号量得初值大于等于1。
(3)Pv操作一定要成对调用,互斥时在临界区前后对同一信号量作Pv操作,同步时则对不同得信号量作Pv操作,Pv操作得位置一定要正确。
(4)对互斥与同步混合问题.PV操作可能会嵌套,—般同步得Pv操作在外,互斥得Pv操作在内。
11.何谓进程通信?
最基本得通信原语有哪些?
答:
通过专门得通信机制实现进程间交换大量信息得通信方式称为进程通信。
最基本得通信原语有send原语与receive原语,前者负责发送信件,后者负责接收信件。
12、 直接通信与间接通信有何区别?
答:
直接通信就是固定在一对进程间进行得,而间接通信时以信箱为媒体实现通信。
因此在send与receive原语中,第一个参数互不相同。
直接通信时分别为接收者进程名与发送者进程名,而间接通情时均为信箱名。
13.线程与进程得根本区别就是什么?
答:
在采用线程技术得操作系统中,线程与进程得根本区别在于:
进程就是资源得分配单位,而线程就是调度与执行单位。
14.并发带来得问题有哪些?
答:
①全局变量得共享问题
②操作系统很难最佳得管理资源得分配
③定位程序得错误很困难
④保证进程执行结果得正确性。
15.进程交互得3中情况?
答:
①进程之间不知道对方得存在。
②进程间接知道对方。
③进程直接知道对方存在。
16.临界区有哪些进入原则?
答:
①空闲让进。
②忙则等待。
③让权等待。
④有限等待。
17.对共享资源得读写操作得限制条件就是什么?
答:
⑴允许任意多得读进程同时读。
⑵一次只允许一个写进程进行写操作。
⑶如果有一个写进程正在进行写操作,禁止任何读进程进行读操作。
18.在生产者―消费者问题中需要注意以下几个问题?
答:
⑴把共享缓冲区池中得N个缓冲区视为临界资源,进程在使用时,首先要检查就是否有其她进程在临界区,如果确认没有时再进入。
⑵信号量full表示有数据得缓冲区得数量,初值为0、
⑶多个P操作得次序不能颠倒。
19.管程得特征有哪些?
答:
⑴管程内部得局部变量只能通过管程中得过程进行访问,其她任何外部过程都不能对其进行访问。
⑵进程只能通过调用管程得某一个过程才能进入管程,这样可以保证所有进入管程得进程有统一得入口。
⑶任何时刻,只能有一个进程在管程中执行,其她调用管程得任何进程都被挂起,以等待管程变为可用,即对管程实施互斥访问。
20.进程通信主要表现在那些方面?
答:
⑴效率低。
⑵通信对用户不透明。