操作系统进程通信练习及答案[教学知识].doc

上传人:rrsccc 文档编号:9455196 上传时间:2021-02-27 格式:DOC 页数:5 大小:48KB
返回 下载 相关 举报
操作系统进程通信练习及答案[教学知识].doc_第1页
第1页 / 共5页
操作系统进程通信练习及答案[教学知识].doc_第2页
第2页 / 共5页
操作系统进程通信练习及答案[教学知识].doc_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《操作系统进程通信练习及答案[教学知识].doc》由会员分享,可在线阅读,更多相关《操作系统进程通信练习及答案[教学知识].doc(5页珍藏版)》请在三一文库上搜索。

1、进程同步与通信 练习题(一)单项选择题1.临界区是指( )。A.并发进程中用于实现进程互斥的程序段 B并发进程中用于实现进程同步的程序段 C并发进程中用户实现进程通信的程序段 D并发进程中与共享变量有关的程序段2相关临界区是指( )。A.一个独占资源 B并发进程中与共享变量有关的程序段 c一个共享资源 D并发进程中涉及相同变量的那些程序段3管理若干进程共享某一资源的相关临界区应满足三个要求,其中( )不考虑。A一个进程可以抢占己分配给另一进程的资源 B任何进程不应该无限地逗留在它的临界区中 c一次最多让一个进程在临界区执行 D不能强迫一个进程无限地等待进入它的临界区4、( )是只能由P和v操作

2、所改变的整型变量。A共享变量 B锁 c整型信号量 D记录型信号量5对于整型信号量,在执行一次P操作时,信号量的值应( )。 A不变 B加1 C减1 D减指定数值6在执行v操作时,当信号量的值( )时,应释放一个等待该信号量的进程。A0 B.=0 D.=07.Pv操作必须在屏蔽中断下执行,这种不可变中断的过程称为( )。A初始化程序 B原语 c子程序 D控制模块8进程间的互斥与同步分别表示了各进程间的( )。 A竞争与协作 B相互独立与相互制约 c不同状态 D动态性与并发性9并发进程在访问共享资源时的基本关系为( )。 A相互独立与有交往的 B互斥与同步 c并行执行与资源共享 D信息传递与信息缓

3、冲10在进程通信中,( )常用信件交换信息。 A低级通信 B高级通信 c消息通信 D管道通信11在间接通信时,用send(N,M)原语发送信件,其中N表示( )。A发送信件的进程名 B接收信件的进程名 C信箱名 D信件内容12下列对线程的描述中,( )是错误的。A不同的线程可执行相同的程序 B线程是资源分配单位 c线程是调度和执行单位 D同一进程中的线程可共享该进程的主存空间13实现进程互斥时,用( )对应,对同一个信号量调用Pv操作实现互斥。 A一个信号量与一个临界区 B一个信号量与个相关临界区 c一个信号量与一组相关临界区 D一个信号量与一个消息14实现进程同步时,每一个消息与一个信号量对

4、应,进程( )可把不同的消息发送出去。 A在同一信号量上调用P操作 B在不同信号量上调用P操作 c在同一信号量上调用v操作 D在不同信号量上调用v操作(二)填空题1目前使用的计算机的基本特点是处理器_执行指令。 2进程的_是指进程在顺序处理器上的执行是按顺序进行的。 3当一个进程独占处理器顺序执行时,具有_和_两个特性。 4进程的封闭性是指进程的执行结果只取决于_,不受外界影响。 5进程的可再现性是指当进程再次重复执行时,必定获得_的结果。 6一个进程的工作在没有全部完成之前,另一个进程就可以开始工作,则称这些进程为_. 7若系统中存在一组可同时执行的进程,则就说该组进程具有_。 8如果个进程

5、的执行不影响其他进程的执行,且与其他进程的进展情况无关,则说这些并发进程相互之间是_的。 9如果一个进程的执行依赖其他进程的进展情况,则说这些并发进程相互之间是_ 10有交往的并发进程一定_某些资源。 11有交往的进程执行时可能产生与时间有关的错误,造成不正确的因素与进程_、_和外界的影响有关。 12对_的使用不受限制,这是使有交往的并发进程执行时出现与时间有关的错误的根本原因。 13临界区是指并发进程中与_有关的程序段。 14_是指并发进程中涉及到相同变量的那些程序段。 15只要涉及相同变量的若干进程的相关临界区_,就不会造成与时间有关的错误。 16进程的_是指当有若干进程都要使用某一共享资

6、源时,任何时刻最多只允许一个进程去使用。 17Pv操作是在一个信号量上进行的_的过程,这种过程也称为_ 18利用Pv操作管理相关临界区时,必须成对出现,在进入临界区之前要调用_,在完成临界区操作后要调用_。l9.若信号量的初值为1,用Pv操作能限制一次_进程进入临界区操作。 20进程的_是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息。 21 _能把它进程需要的消息发送出去,也能测试自己需要的消息是否到达。 22Pv操作不仅是实现_的有效工具,而且也是一种简单而方便的_工具。 23用Pv操作实现进程同步时,调用_测试消息是否到达,调用_发送消息。 24用Pv操作实现生产者消

7、费者之间的同步时,在访问共享缓冲区的_和_分别调动P操作和v操作。 25进程的互斥实际上是进程_的一种持殊情况。 26进程的互斥是进程间_共享资源的使用权,其结果没有_,而进程的同步则在共享资源的并发进程之间有一种_依赖关系。 27Pv操作也可看作为进程间的一种通信方式,由于只交换了少量的信息,故称为_ 28通过专门的通信机制实现进程间交换大量信息的通信方式称为_。 29采用高级通信方式时,进程间用_来交换信息。 30最基本的通信原语有两条,它们是_原语和_原语。 31进程通信方式有两种:_和_。 32直接通信是固定在_进程之间通信,而间接通信以信箱为媒体实现通信。 33一个信息可以由_和_两

8、部分组成。 34进程间通过信件交换信息,可实现_。 35_是进程中可以独立执行的子任务。 36线程是处理器的独立_单位,多个线程可以_执行。 37线程与进程有许多相似之处,所以线程又称为_。 38线程在生命周期内会经历_、_和_之间各种状态变化。 39采用多线程技术可把生产者消费者两个进程作为一个进程和进程中的两个线程来处理,这两个线程仍具有_,但不在需要额外的_。 40在使Pv操作实现进程互斥时,调用_相当于申请一个共享资源,调用_相当于归还共享资源的使用权。 41在多线程操作系统中,线程与进程的根本区别在于进程作为_单位,而线程是_单位。(二)简答题1什么是进程的顺序性和并发性? 2为什么

9、并发进程执行时可能会产生与时间有关的错误?如何避免? 3简述临界区的相关临界区的概念。 4管理相关临界区有些什么要求? 5假设PV操作用信号量s管理某个共享资源,请问当s0,S0和S0时,它们的物理意义是什么? 6请给出Pv操作的定义。 7用Pv操作实现进程间同步与互斥应注意些什么? 8何谓进程通信?最基本的通信原语有哪些? 9直接通信与间接通信有何区别? 10线程与进程的根本区别是什么?(四)应用题1有一南北向的单行车道,在车道A、B两端以外一段距离处有减速标志和自动计数系统,A、B两处设有信号灯,信号灯的管理要求如下:绿灯行,红灯停,A、B两端红绿灯同时变换,一方红变绿时另一方绿变红。绿灯

10、保持到同一方向进入的车辆全部驶入AB段,当AB之间无车辆行驶时,允许到达A端(或B端)的车辆驶入AB段,但只准某一方的车辆进入;一方最后一辆车进入AB段后,双向亮红灯让车辆全部通过(假设2分钟),然后让已在等待的任何一方车辆驶入。试用Pv操作管理AB路段车辆的行驶。2在测温系统中要完成采样、转换和显示等任务。采样过程把从传感器上得到的整型微电压值存入一个缓冲区,转换过程把微电压值从缓冲区中取出,计算转换成温度值再存入该缓冲区,显示过程把缓冲区中的温度值取出并显示。试用Pv操作实现三个过程共享缓冲区的同步问题。3,现有三个进程,Reader进程把键盘输入的一个整数读入缓冲区B1,Executor

11、进程把B1中的数据取出进行处理,处理完后存到输出缓冲区B2中,最后由Pinter进程将B2中的数据打印出来。假设B1和n2都只能存放一个整数,请用Pv操作管理这三个并发进程的执行.4用进程通信的方法解决生产者消费者问题。要求生产者能告诉消费者产品的说明、规格、价格等。而消费者能反馈对物品的评价和处理情况。第八章 进程同步与通信 练习题参考答案(一)单项选择题1D 2D 3A 4c 5c 6D 7B 8A 9 B 10 B 11C 12B 13C 14D(二)填空题1顺序 2顺序性 3封闭性,可再现件 4进程本身 5相同 6可同时执行的 7并发性 8无关 9有交往的 10共享 11占用处理器的时

12、间,执行的速度 12共享资源 13共享变量 14相关临界区 15互斥执行 16互斥 17不可被中断,原语 18P操作,v操作 19只有一个 20同步 21同步机制 22进程互斥,同步 23P操作,v操作 24前,后 25同步 26竞争,固定的必然关系,必然的 27低级通信方式 28进程通信 29信件 30send,receive 31直接通信,间接通信 32一对 33信箱说明,信箱体 34进程同步 35线程 36调度,并发 37轻型进程 38等待态,就绪态,运行态 39并发性,公共缓冲区 40P操作,v操作 41.资源分配,调度和执行(三)简答题1进程的顺序性是指进程在顺序的处理器上严格地按顺

13、序执行。若系统中存在一组可同时执行的过程,则该组程序具有并发性。可同时执行的进程是指这些进程执行时在时间上是重叠的,即一个进程的工作没有全部完成之前,另一个进程就可以开始工作。2有交往的并发进程可能会同时使用共享资源,如果对这种情况不加控制,由于进程占用处理器的时间、执行的速度和外界的影响等,就会引起与时间有关的错误。只要使若干并发进程的相关临界区互斥执行,就可避免造成这类错误。3临界区是指并发进程中与共享变量有关的程序段。相关临界区是指并发进程中涉及到相同变量的那些程序段。4管理相关临界区有三点要求:(1)一次最多让一个进程在临界区执行;(2)任何一个进入临界区执行的进程必须在有限的时间内退

14、出临界区;(3)不能强迫一个进程无限地等待进入它的临界区。5信号量S的物理意义如下: s0时,S表示可使用的资源数或表示可使用资源的进程数。s0时,表示无资源可供使用和表示不允许进程再进入临界区。s0时,S表示等待使用资源的进程个数或表示等待进入临界区的进程个数。6Pv操作是指在信号量上进行的P操作和v操作。假定信号量为s,则P(s)和v(s)的定义如下: Procedure p(Var s:semaphore); begin s:=s-1; if s0 then w(s) end; Procedure v(Var s:semaphore); begin s:=s+1; if s=0 then

15、 r (s) end;其中,W(s)表示将调用P(s)过程的进程置成“等待信号量s”的状态,且将其排入等待队列。R(s)表示释放一个“等待信号量s”的进程,该进程从等待队列退出并加入就绪队列中.7.(1)对每一个共享资源(含变量)都要设立信号量,互斥时对一个共享资源设一个信号量,同步时对一个共享资源可能要设两个或多个信号量,视由几个进程来使用该共享变量而定。(2)互斥时信号量的初值可大于或等于1,同步时,至少有一个信号量的初值大于等于1。(3)Pv操作一定要成对调用,互斥时在临界区前后对同一信号量作Pv操作,同步时则对不同的信号量作Pv操作,Pv操作的位置一定要正确。(4)对互斥和同步混合问题

16、PV操作可能会嵌套,般同步的Pv操作在外,互斥的Pv操作在内。8通过专门的通信机制实现进程间交换大量信息的通信方式称为进程通信。最基本的通信原语有send原语和receive原语,前者负责发送信件,后者负责接收信件。9直接通信是固定在一对进程间进行的,而间接通信时以信箱为媒体实现通信。因此在send和receive原语中,第一个参数互不相同。直接通信时分别为接收者进程名和发送者进程名,而间接通情时均为信箱名。10在采用线程技术的操作系统中,线程与进程的根本区别在于:进程是资源的分配单位,而线程是调度和执行单位。(四)应用题1分析:本题可参考读者写者问题,相当于两组读者使用一个共享文件的互斥问题

17、。对共享资源AB路段设一个信号量s,对A、B两端的共享计数器cA和cB应设两个信号量sA和SB。所设计的程序段如下:BEGIN s,sa,ab: semaphore; ca,cb:integer; s:=1; sa:=1; sb:=1;Cobegin Process car-ai;I=1,2,Begin p(sa); ca:=ca+1; if ca=1 then p(s); v(sa); 使信号灯A端绿,B端红,车辆从A端驶入AB段 p(sa); ca:=ca-1; if ca=0 then begin A,B两端都亮红灯2分钟 v(s) end; end;Process car-bj;j=1

18、,2,Begin p(sb); cb:=cb+1; if cb=1 then p(s); v(sb); 使信号灯B端绿,A端红;车辆从B端驶入AB段 p(sb); cb:=cb-1; if cb=0 then begin A,B两端都亮红灯2分钟 v(s) end; end; coend; end;2分析:此题类似于两个生产者消费者问题。采样过程相当于生产者,转换过程相当于消费者,显示过程为消费者,而转换过程还充当生产者。为此设立三个信号量:SS表示采集的微电压值能否存入缓冲区,初值为1;Sc表示缓冲区中是否有微电压值要转换成温度值,,初值为0;sD表示缓冲区是否有温度值要显示,初值为0。解决

19、此同步问题的程序段为:BEGIN ss,sc,sd: semaphore; buffer : integer; ss:=1; sc:=0; sd:=0;Cobegin Process sample;Begin L1: get a sample; p(ss); buffer:= sample; v(sc); goto L1 end; Process convert;Begin L2: p(sc); take a sample from buffer; convert the sample to temperature; buffer:= temperature; v(sd); goto L2 e

20、nd; Process display;Begin L3: p(sd); take a temperature from buffer; v(ss); display the temperature; goto L3 end; Coend; end;3分析:本题也可看作是两个生产者消费者问题。Reader进程为生产者,Executor进程既是消费者又是生产者,Printer进程为消费者,由于这里有两个缓冲区,所以要设四个信号量:sR表示是否能把数据存入缓冲区B1,初值为1;SEl表示缓冲区Bl中是否已存有数据可供处理,初值为0;SE2表示是否把处理过的数据存入缓冲区B2,初值为1;sP表示缓冲

21、区B2中是否已存有数据可供打印,初值为0。用Pv操作管理这三个并发进程的程序如下:BEGIN sr,se1,se2,sp: semaphore; b1,b2 : integer; sr:=1; se1:=0; sp:=0; se2:=1;Cobegin Process reader;Var number:integer;Begin L1: read a number ; p(sr); b1:= number; v(se1); goto L1 end; Process executor;Var number2:integer;Begin L2: p(se1); take a number fro

22、m b1; v(sr); process the number to number2; p(se2); b2:= number2; v(sp); goto L2 end; Process printer;Begin L3: p(sp); take a number from b2; v(se2); print the number; goto L3 end; Coend; end;4设生产者消费者进程要设立的公用信箱B,假设现在信箱中放一封初始信件,表示物品已取走。用进程通信管理生产者消费者问题的程序如下:begin . PROCESS Producer;L1: Produce a product;L2: receive(B,H); If x中没有表示物品已取走 then go to L2 else begin 组织回信M,M中含产品完成存放地点,产品说明,规格,价格等 send(B,M); end; goto L1 end;PROCESS consumer;L 3:receive(B,Y); If Y中表示产品已完成 then begin 按信件中地址取出比物品,组织回信M;回信中表示物品已取走,并反映对产品的评价和处理情况 send(B,m); goto L3; end;. End; end;5教学-材料

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1