收藏 分销(赏)

第三章进程同步与通信作业习题与答案.doc

上传人:快乐****生活 文档编号:4310616 上传时间:2024-09-05 格式:DOC 页数:12 大小:81.51KB 下载积分:8 金币
下载 相关 举报
第三章进程同步与通信作业习题与答案.doc_第1页
第1页 / 共12页
第三章进程同步与通信作业习题与答案.doc_第2页
第2页 / 共12页


点击查看更多>>
资源描述
第三章 一.选择题(50题) 1.以下_B__操作系统中的技术是用来解决进程同步的。 A.管道 B.管程 C.通道 D.DMA 2.以下_B__不是操作系统的进程通信手段。 A.管道 B.原语 C.套接字 D.文件映射 3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。 A.3 B.2 C.1 D.0 4.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V操作管理时信号量S的可能取值是_C__。 A.3,2,1,0,-1 B.2,1,0,-1,-2 C. 1,0,-1,-2,-3 D.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.1 B.2 C.3 D.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/Server Interaction:客户∕服务器交换。 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. 进程通信主要表现在那些方面? 答:⑴效率低。 ⑵通信对用户不透明。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服