进程同步与通信练习题答案
- 格式:doc
- 大小:37.00 KB
- 文档页数:6
一、选择题1、我们把在一段时间内,只允许一个进程访问的资源,称为临界资源,因此,我们可以得出下列论述,请选择一条正确的论述。
A 、对临界资源是不能实现资源共享的B 、对临界资源,应采取互斥访问方式,来实现共享C 、为临界资源配上相应的设备控制块后,便能被共享D 、对临界资源应采取同时访问方式,来实现共享2、在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓临界区是指_______。
A 、一个缓冲区B 、一段数据区C 、同步机制D 、一段程序3、在操作系统中,信号量表示资源实体,信号量表示资源实体,是一个与队列有关的是一个与队列有关的_________变量,其值仅能用P 、V 操作来改变。
A 、实体B 、整形C 、布尔型D 、记录型4、用P 、V 操作可以解决_______互斥问题。
A 、某些B 、一个C 、一切D 、大多数5、对于记录型信号量,在执行一次P 操作时,信号量值应当_____A__A_(3)___;当其值为______B_B_(4)__时,进程应阻塞。
在执行V 操作时,信号量的值应当______C C (2)___;当其值为____D_D_(3)__时,应唤醒阻塞队列中的进程。
A 、C :(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值B 、D :(1)大于0;(2)大于等于0;(3)小于等于0;(4)小于0 6、对于两个并发进程,其互斥信号量为mutex ;若mutex=0,则表明_______。
A 、没有进程进入临界区B 、有一个进程进入临界区但没进程处于阻塞状态C 、一个进程进入临界区而另一个进程正处于等待进入临界区状态D 、有两个进程进入临界区7、设有5个进程共享一个互斥段,如果允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是__________。
A 、5 B 、3 C 、1 D 、0 8、N 个进程共享某一临界资源,则互斥信号量的取值范围为_________。
第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。
A.管道B.管程C.通道D.DMA2.以下_B__不是操作系统的进程通信手段。
A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。
A.3B.2C.1D.04.设有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,05.下面有关进程的描述,是正确的__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__。
第4章进程同步与通信1)选择题(1)在操作系统中,P、V操作是一种_D__。
A. 机器指令B. 系统调用命令C. 作业控制命令D. 低级进程通信原语(2)若信号量S的初值为2,当前值为-1,则表示有_B__等待进程。
A. 0个B. l个C. 2个D. 3个(3)在直接通信方式中,系统提供两条通信原语进行发送和接收,其中Send原语中参数应是_C_。
A. sender,messageB. sender,mailboxC. receiver,messageD. receiver,mailbox(4)下述那个选项不是管程的组成部分_A__。
A. 管程外过程调用管程内数据结构的说明B. 管程内对数据结构进行操作的一组过程C. 局部于管程的共享数据说明D. 对局部于管程的数据结构设置初值的语句(5)某通信方式通过共享存储区来实现,其属于_D__。
A. 消息通信B. 低级通信C. 管道通信D. 高级通信(6)用P、V操作管理临界区时,信号量的初值应定义为__C__。
A. -1B. 0C. 1D. 任意值(7)临界区是_B__。
A. 一个缓冲区B. 一段程序C. 一段共享数据区D. 一个互斥资源(8)信箱通信是一种_D__通信方式。
A. 直接通信B. 信号量C. 低级通信D. 间接通信(9)对于两个并发进程,设互斥信号量为mutex,若mutex=0则__A_。
A. 表示有一个进程进入临界区B. 表示没有进程进入临界区C. 表示有一个进程进入临界区,另一个进程等待进入D. 表示有两个进程进入临界区(10)对信号量S执行V操作后,下述选项正确的是_C__。
A. 当S小于等于0时唤醒一个阻塞进程B. 当S小于0时唤醒一个阻塞进程C. 当S小于等于0时唤醒一个就绪进程D. 当S小于0时唤醒一个就绪进程(11)在消息缓冲通信中,消息队列属于_A__资源。
A. 临界B. 共享C. 永久D. 可剥夺(12)在消息缓冲通信机制中,使用的临界资源是_D__。
考研操作系统-进程的同步与通信(总分:82.00,做题时间:90分钟)一、单项选择题(总题数:12,分数:24.00)1.相关临界区是指( )。
A.一个共享资源B.并发进程中涉及相同变量的那些程序段√C.并发进程中与共享变量有关的程序段D.一个独占资源2.下列关于P、V操作的说法中正确的是( )。
A.P、V操作是两个操作,而且都是原语操作√B.P、V操作中P操作可以不用原语方式,而V操作必须使用原语操作C.P、V操作是一个过程,同一般函数,过程一样,只是执行管理临界区的操作D.P、V操作中P操作必须使用原语方式,而V操作可以不使用原语操作3.由于并发进程之间( )不能由进程本身控制,当它们在共享某些资源的时候可能会产生与时间有关的错误。
A.分配外部设备B.分配内存空间C.执行的相对速度√D.占用存储器的位置4.下面对线程的描述中,错误的是( )。
A.同一进程中的线程可共享该进程的主存空间B.线程是调度和执行单位C.不同的线程可执行相同的程序D.线程是资源分配单位√5.如果有4个进程共享同一程序段,每次允许3个进程进入该程序段,若用P、V操作作为同步机制,则信号量的取值范围是( )。
A.4,3,2,1,-1B.2,1,0,-1,-2C.3,2,1,0,-1 √D.2,1,0,-2,-36.在进程通信中,( )常用信件交换信息。
A.低级通信B.高级通信√C.信息缓冲D.消息通信7.下列关于进程和线程的说法中正确的是( )。
A.线程是进程中可独立执行的子任务,一个进程可以包含一个或多个线程,一个线程可以属于一个或多个进程B.多线程技术具有明显的优越性,如速度快、通信简便、设备并行性高等√C.由于线程不作为资源分配单位,线程之间可以无约束地并行执行D.线程又称为轻型进程,因为线型都比进程小8.并发进程之间相互通信时两个基本的等待事件是( )。
A.等信件和等信箱√B.等消息和等信件C.等发送原语和接收原语D.等消息和等信箱9.对若干个并发进程共享某—变量的相关临界区的管理,下列说法中不正确的是( )。
第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。
A.管道B.管程C.通道2.以下_B__不是操作系统的进程通信手段。
A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。
4.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V操作管理时信号量S的可能取值是_C__。
,2,1,0,-1 ,1,0,-1,-2 C. 1,0,-1,-2,-3 ,3,2,1,05.下面有关进程的描述,是正确的__A__。
A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误、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__资源。
第4章进程同步与通信1)选择题(1)在操作系统中,P、V操作是一种_D__。
A. 机器指令B. 系统调用命令C. 作业控制命令D. 低级进程通信原语(2)若信号量S的初值为2,当前值为-1,则表示有_B__等待进程。
A. 0个B. l个C. 2个D. 3个(3)在直接通信方式中,系统提供两条通信原语进行发送和接收,其中Send原语中参数应是_C_。
A. sender,messageB. sender,mailboxC. receiver,messageD. receiver,mailbox(4)下述那个选项不是管程的组成部分_A__。
A. 管程外过程调用管程内数据结构的说明B. 管程内对数据结构进行操作的一组过程C. 局部于管程的共享数据说明D. 对局部于管程的数据结构设置初值的语句(5)某通信方式通过共享存储区来实现,其属于_D__。
A. 消息通信B. 低级通信C. 管道通信D. 高级通信(6)用P、V操作管理临界区时,信号量的初值应定义为__C__。
A. -1B. 0C. 1D. 任意值(7)临界区是_B__。
A. 一个缓冲区B. 一段程序C. 一段共享数据区D. 一个互斥资源(8)信箱通信是一种_D__通信方式。
A. 直接通信B. 信号量C. 低级通信D. 间接通信(9)对于两个并发进程,设互斥信号量为mutex,若mutex=0则__A_。
A. 表示有一个进程进入临界区B. 表示没有进程进入临界区C. 表示有一个进程进入临界区,另一个进程等待进入D. 表示有两个进程进入临界区(10)对信号量S执行V操作后,下述选项正确的是_C__。
A. 当S小于等于0时唤醒一个阻塞进程B. 当S小于0时唤醒一个阻塞进程C. 当S小于等于0时唤醒一个就绪进程D. 当S小于0时唤醒一个就绪进程(11)在消息缓冲通信中,消息队列属于_A__资源。
A. 临界B. 共享C. 永久D. 可剥夺(12)在消息缓冲通信机制中,使用的临界资源是_D__。
习题 3 进程同步与通信一、选择题题号1 2 3 4 5 6 7 8 9 10答案A D D C B C A B A A题号11 12答案D C二、综合题1、答:临界资源也称独占资源、互斥资源,它是指某段时间内只充许一个进程使用的资源。
比如打印机等硬件资源,以及只能互斥使用的变量、表格、队列等软件资源。
各个进程中访问临界资源的、必须互斥执行的程序代码段称为临界区,各进程中访问同一临界资源的程序代码段必须互斥执行。
为防止两个进程同时进入临界区,可采用软件解决方法或同步机构来协调它们。
但是,不论是软件算法还是同步机构都应遵循下述准则:①空闲让进。
②忙则等待。
③有限等待。
④让权等待。
2、答:忙等待意味着一个进程正在等待满足一个没有闲置处理器的严格循环的条件。
因为只有一个CPU 为多个进程服务,因此这种等待浪费了CPU 的时钟。
其他类型的等待:与忙等待需要占用处理器不同,另外一种等待则允许放弃处理器。
如进程阻塞自己并且等待在合适的时间被唤醒。
忙等可以采用更为有效的办法来避免。
例如:执行请求(类似于中断)机制以及PV 信号量机制,均可避免“忙等待”现象的发生。
3、答:在生产者—消费者问题中,Producer 进程中P(empty)和P(mutex)互换先后次序。
先执行P(mutex),假设成功,生产者进程获得对缓冲区的访问权,但如果此时缓冲池已满,没有空缓冲区可供其使用,后续的P(empty)原语没有通过,Producer 阻塞在信号量empty 上,而此时mutex 已被改为0,没有恢复成初值1。
切换到消费者进程后,Consumer 进程执行P(full)成功,但其执行P(mutex)时由于Producer 正在访问缓冲区,所以不成功,阻塞在信号量mutex 上。
生产者进程和消费者进程两者均无法继续执行,相互等待对方释放资源,会产生死锁。
在生产者和消费者进程中,V 操作的次序无关紧要,不会出现死锁现象。
进程的同步与通信进程的同步与通信考试例题单项选择题1、当一个进程独占处理器顺序执行时,具有两个特性,即()。
A、封闭性和可再现性B、独立性和可再现性C、开放性和可再现性D、顺序性和独立性2、对于两个并发进程,设互斥信号量为A,若A=0,则()。
A、表示有一个进程进入临界区,另一个进程等待进入B、表示有两个进程进入临界区C、表示有一个进程进入临界区D、表示没有进程进入临界区3、造成进程结果不正确的因素与进程占用处理器的时间、执行的速度及外界的影响有关。
而这些因素都与时间有关,所以称为()。
A、时间因素B、与时间有关的错误C、时间错误D、时间问题4、P、V操作是对()进行操作。
A、信号量B、执行速度C、执行时间D、执行结果5、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的()。
A、调度B、执行C、同步D、互斥6、信号量被定义为一个整型变量,其初始值是()。
A、0B、无任何限制C、负整数D、非负数填空题1、并发进程间的关系是可以是()的,也可以是()的。
2、我们把并发进程中与共享变量有关的程序段称为()。
3、在用P、V操作实现同步时,一定要根据具体的问题来定义()和调用()。
4、每执行一次P原语操作,信号量S的数值减1,如果S>=0,该进程();若S<0,则()该进程,并把它插入该()对应的()队列中,重新进行进程调度。
简答题1、试写出P(S)操作的主要步骤。
2、试写出V(S)操作的主要步骤。
3、用P,V操作实现并发进程的互斥和同步,要注意什么问题?4、解释进程的顺序性和并发性。
综合应用题1、假定有三个进程R、W1、W2共享一个缓冲器B,而B中每次只能存放一个数。
当缓冲器中无数时,进程R可将M输入设备上读入的数存放到缓冲器B中;若存放到缓冲器中的是奇数,则允许进程W1将其取出打印;若存放到缓冲器中的是偶数,则允许进程W2将其取出打印。
第4章进程同步与进程通信第4章进程同步与进程通信⼀、填空1.信号量的物理意义是当信号量值⼤于零时表⽰可⽤资源个数;当信号量值⼩于零时,其绝对值为等待进程个数。
2.所谓临界区是指进程程序中。
3.⽤P、V操作管理临界区时,⼀个进程在进⼊临界区前应对信号量执⾏p 操作,退出临界区时应对信号量执⾏v 操作。
4.有m个进程共享⼀个临界资源。
若使⽤信号量机制实现对临界资源的互斥访问,则该信号量取值最⼤为 1 ,最⼩为1-m 。
5.对信号量S的P操作原语中,使进程进⼊相应信号量队列等待的条件是s<0 。
6.信箱在逻辑上被分为信箱头和信箱体两部分。
7.在操作系统中进程间的通信可以分为⾼级通信与低级通信两种。
⼆、选择1.P、V操作是。
A.两条低级进程通信原语B.两条⾼级进程通信原语C.两条系统调⽤命令D.两条特权指令2.进程的并发执⾏是指若⼲个进程。
A.共享系统资源B.在执⾏的时间上是重叠的C.顺序执⾏D.相互制约3.若信号量S初值为2,当前值为?1,则表⽰有个进程在与S相关的队列上等待。
A.0 B.1 C.2 D.34.⽤P、V操作管理相关进程的临界区时,信号量的初值应定义为。
A.?1 B.0 C.1D.随意5.⽤V操作唤醒⼀个等待进程时,被唤醒进程的状态变为。
A.等待B.就绪C.运⾏D.完成6.若两个并发进程相关临界区的互斥信号量MUTEX现在取值为0,则正确的描述应该是。
A.没有进程进⼊临界区(MUTEX=1)B.有⼀个进程进⼊临界区(MUTEX=0)C.有⼀个进程进⼊临界区,另⼀个在等待进⼊临界区(MUTEX=-1)D.不定7.信箱通信是进程间的⼀种通信⽅式。
A.直接B.间接C.低级D.信号量三、问答1.进程A 和B 共享⼀个变量,因此在各⾃的程序⾥都有⾃⼰的临界区。
现在进程A 在临界区⾥。
试问进程A 的执⾏能够被别的进程打断吗(可以)?能够被进程B 打断吗(这⾥,“打断”的含义是调度新进程运⾏,使进程A 暂停执⾏)(不可以)?2.信号量上的P 、V 操作只是对信号量的值进⾏加1或减1操作吗(否)?在信号量上还能够执⾏除P 、V 操作外的其他操作吗?(不能)3. 进程在运⾏时存在哪两种形式的制约?并举例说明之。
第3章进程同步与通信6.有三个并发执行的进程A、B和C,A负责输入信息到缓冲区,B负责加工输入到缓冲区中的数据,C负责将加工后的数据打印输出。
在下列情况下:(1)单缓冲区。
(2)由N个缓冲区组成的缓冲池。
分别写出三个进程的并发关系。
答:(1)semaphore S1=1,S2=S3=0A: B: C:while(1) { while(1) { while(1) {P(S1); P(S2); P(S3);输入信息到缓冲区; 加工缓冲区中数据; 输出缓冲区中数据;V(S2); V(S3); V(S1);} } }(2)semaphore S1=N;semaphore S2=0,S3=0;semaphore mutex=1;int i.,j,k;ITEM buffer[N];ITEM data_i,data_o;A: B: C:while(1) { while(1) { while(1) {P(S1); P(S2); P(S3);P(mutex) ;P(mutex) ;P(mutex);输入数据data_i; data_o= buffer[k];buffer[i]=data_i; 处理中buffer[j]的数据k=(k+1)%N;i=(i+1)%N; j=(j+1)%N; 输出data_o;V(mutex); V(mutex); V(mutex) ;V(S2); V(S3); V(S1);} } }7.三个并发执行的进程A、B和C,A与B共享缓冲区M,B与C共享缓冲区N,如图所示:假如缓冲区的大小只能存放一个单位的数据,试写出A、B、C三个进程的同步关系。
答:semaphore S1=M;S3=N;semaphore S2=0,S4=0;semaphore mutex=1;int i.,j,k,l;ITEM buffer1[M];ITEM buffer2[N];ITEM data_i,data_o;A: B: C:while (1) { while (1) { while (1) {P(S1); P(S2); P(S4);P(mutex); P(mutex) ;P(mutex);输入数据data_i; data_o=buffer1[j]; data_o= buffer[l];buffer1[i]=data-i; j=(j+1)%M; l=(l+1)%N;i=(i+1)%M; V(mutex); 输出data_o;V(mutex); V(S1); V(mutex);V(S2); P(S3) V(S3);} P(mutex); }buffer2[k]=data_o;k=(k+1)%N;V(mutex);V(S4)}9.设有两个优先级相同的进程P1,P2如下,令信号量S1、S2的初值为0,已知z=2,试问P1、P2并发运行结束后x=?y=?z=?进程P1 进程P2y: =1;x:=1;y:=y+2 ;x:=x+1;V(S1);P(S1);z:=y+1;x:=x+y;P(S2);V(S2);y:=z+y;z:=x+z;解答:由题意可知执行顺序存在如下5种情况:z:=y+1----→ x:=x+y----→ y:=z+y----→ z:=x+z ……z:=y+1----→ x:=x+y----→ z:=x+z----→ y:=z+y ……x:=x+y----→ z:=y+1 ----→ z:=x+z----→ y:=z+y ……x:=x+y----→ z:=y+1 ----→ y:=z+y----→ z:=x+z ……x:=x+y----→ z:=x+z ----→ z:=y+1----→ y:=z+y ……和的结果为:x=5,y=7,z=9;和结果为:X=5,y=12,z=9;的结果为:x=5,y=7,z=4;*10.有一个隧道,由于很窄,只能容纳一个方向的车辆通过。
第3章进程的同步与通信习题与解答3.2 例题解析例3.2.1 多道程序系统程序的执行失去了封闭性和再现性,因此多道程序的执行不需要这些特性,这种说法是否正确?解这种说法不正确。
可以想象,如果一个程序在多道程序系统中,在相同的输入的情况下,多次执行所得结果是不同的,有谁还敢使用这个程序?因此,多道程序的执行也需要封闭性和再现性,只不过单道程序系统的封闭性和再现性是先天固有的,多道程序系统的程序执行要想获得封闭性和再现性,需通过程序员的精心设计才能得到。
所使用的方法就是同步和互斥的方法。
例3.2.2 多个进程对信号量S进行了5次 P操作,2次V操作后,现在信号量的值是 -3,与信号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少?解(1) 因为S的当前值是-3,因此因为S处于阻塞状态的进程有3个;(2) 因为每进行一次P(S)操作,S的值都减1,每执行1次V操作S的值加1,故信号量的初值为-3+5-2=0;例3.2.3 如下锁的实现方法存在什么缺点?如何改进?LOCK(X) UNLOCK(X){ {do while X=1 ; X=0;X=1} }解存在的缺点是:当锁是关闭时,采用的是循环等待的方法,这样的等待还是要占用处理机的时间,应该采用阻塞等待的方法。
改进的锁实现如下:LOCK(X) UNLOCK(X){ {if X.value=1 if not empty(X.L) { insert( *, X.L); { P=remove(X.L);Block (*) Wakeup(P) } }else X.Value=1 else X.Value=0} }这里X.value是锁的值,X.L是存放由于锁X而阻塞的进程的队列。
insert( *, X.L)将当前进程的进程号插入到X.L,remove(X.L)是从X.L中移出一个进程号。
例3.2.4 使用多个进程计算Y=F1(X)+F2 (X).解(1) 确定并发和顺序操作在这个问题中,F1(X)和F2 (X)的计算是可以并行处理的,因此F1(X)和F2 (X)可以分别出现在两个进程中。
第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。
A.管道B.管程C.通道2.以下_B__不是操作系统的进程通信手段。
A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。
4.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V操作管理时信号量S的可能取值是_C__。
,2,1,0,-1 ,1,0,-1,-2 C. 1,0,-1,-2,-3 ,3,2,1,05.下面有关进程的描述,是正确的__A__。
A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误、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__资源。
(一)单项选择题1.临界区是指( )。
A.并发进程中用于实现进程互斥的程序段 B.并发进程中用于实现进程同步的程序段C.并发进程中用户实现进程通信的程序段 D.并发进程中与共享变量有关的程序段2.相关临界区是指( )。
A.一个独占资源 B.并发进程中与共享变量有关的程序段c.一个共享资源 D.并发进程中涉及相同变量的那些程序段3.管理若干进程共享某一资源的相关临界区应满足三个要求,其中( )不考虑。
A一个进程可以抢占己分配给另一进程的资源 B.任何进程不应该无限地逗留在它的临界区中c.一次最多让一个进程在临界区执行 D.不能强迫一个进程无限地等待进入它的临界区4、( )是只能由P和v操作所改变的整型变量。
A共享变量 B.锁 c整型信号量 D.记录型信号量5.对于整型信号量,在执行一次P操作时,信号量的值应( )。
A.不变 B.加1 C减1 D.减指定数值6.在执行v操作时,当信号量的值( )时,应释放一个等待该信号量的进程。
A>0 B.<0 c.>=0 D.<=0操作必须在屏蔽中断下执行,这种不可变中断的过程称为( )。
A初始化程序 B.原语 c.子程序 D控制模块8.进程间的互斥与同步分别表示了各进程间的( )。
A.竞争与协作 B.相互独立与相互制约 c.不同状态 D.动态性与并发性9并发进程在访问共享资源时的基本关系为( )。
A.相互独立与有交往的 B.互斥与同步 c并行执行与资源共享 D信息传递与信息缓冲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.实现进程同步时,每一个消息与一个信号量对应,进程( )可把不同的消息发送出去。
A.在同一信号量上调用P操作 B在不同信号量上调用P操作 c.在同一信号量上调用v操作D.在不同信号量上调用v操作(二)填空题1.目前使用的计算机的基本特点是处理器______执行指令。
2.进程的______是指进程在顺序处理器上的执行是按顺序进行的。
3.当一个进程独占处理器顺序执行时,具有______和______两个特性。
4.进程的封闭性是指进程的执行结果只取决于______,不受外界影响。
5 进程的可再现性是指当进程再次重复执行时,必定获得______的结果。
6.一个进程的工作在没有全部完成之前,另一个进程就可以开始工作,则称这些进程为______.7.若系统中存在一组可同时执行的进程,则就说该组进程具有______。
8.如果—个进程的执行不影响其他进程的执行,且与其他进程的进展情况无关,则说这些并发进程相互之间是______的。
9 如果一个进程的执行依赖其他进程的进展情况,则说这些并发进程相互之间是______ 10.有交往的并发进程一定______某些资源。
11.有交往的进程执行时可能产生与时间有关的错误,造成不正确的因素与进程______ 、______和外界的影响有关。
12.对______的使用不受限制,这是使有交往的并发进程执行时出现与时间有关的错误的根本原因。
13.临界区是指并发进程中与______有关的程序段。
14.______是指并发进程中涉及到相同变量的那些程序段。
15.只要涉及相同变量的若干进程的相关临界区______,就不会造成与时间有关的错误。
16.进程的______是指当有若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用。
17.Pv操作是在一个信号量上进行的______的过程,这种过程也称为______18.利用Pv操作管理相关临界区时,必须成对出现,在进入临界区之前要调用______,在完成临界区操作后要调用______。
l9.若信号量的初值为1,用Pv操作能限制一次______进程进入临界区操作。
20.进程的______是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息。
21 ______能把它进程需要的消息发送出去,也能测试自己需要的消息是否到达。
22.Pv操作不仅是实现______的有效工具,而且也是一种简单而方便的______工具。
23.用Pv操作实现进程同步时,调用______ 测试消息是否到达,调用______发送消息。
24.用Pv操作实现生产者消费者之间的同步时,在访问共享缓冲区的______和______分别调动P 操作和v操作。
25.进程的互斥实际上是进程______的一种持殊情况。
26.进程的互斥是进程间______共享资源的使用权,其结果没有______,而进程的同步则在共享资源的并发进程之间有一种______依赖关系。
27.Pv操作也可看作为进程间的一种通信方式,由于只交换了少量的信息,故称为______ 28.通过专门的通信机制实现进程间交换大量信息的通信方式称为______。
29.采用高级通信方式时,进程间用______来交换信息。
30.最基本的通信原语有两条,它们是______原语和______原语。
31.进程通信方式有两种:______和______。
32.直接通信是固定在______进程之间通信,而间接通信以信箱为媒体实现通信。
33.一个信息可以由______和______两部分组成。
34.进程间通过信件交换信息,可实现______。
35______是进程中可以独立执行的子任务。
36.线程是处理器的独立______单位,多个线程可以______执行。
37.线程与进程有许多相似之处,所以线程又称为______。
38.线程在生命周期内会经历______、______和______之间各种状态变化。
39.采用多线程技术可把生产者消费者两个进程作为一个进程和进程中的两个线程来处理,这两个线程仍具有______,但不在需要额外的______。
40.在使Pv操作实现进程互斥时,调用______相当于申请一个共享资源,调用______相当于归还共享资源的使用权。
41.在多线程操作系统中,线程与进程的根本区别在于进程作为______单位,而线程是______单位。
(二)简答题1.什么是进程的顺序性和并发性?2. 为什么并发进程执行时可能会产生与时间有关的错误?如何避免?3.简述临界区的相关临界区的概念。
4.管理相关临界区有些什么要求?5.假设PV操作用信号量s管理某个共享资源,请问当s>0,S=0和S<0时,它们的物理意义是什么?6.请给出Pv操作的定义。
7.用Pv操作实现进程间同步与互斥应注意些什么?8.何谓进程通信?最基本的通信原语有哪些?9. 直接通信与间接通信有何区别?10.线程与进程的根本区别是什么?(四)应用题1.有一南北向的单行车道,在车道A、B两端以外一段距离处有减速标志和自动计数系统,A、B 两处设有信号灯,信号灯的管理要求如下:绿灯行,红灯停,A、B两端红绿灯同时变换,一方红变绿时另一方绿变红。
绿灯保持到同一方向进入的车辆全部驶入AB段,当AB之间无车辆行驶时,允许到达A端(或B端)的车辆驶入AB段,但只准某一方的车辆进入;一方最后一辆车进入AB段后,双向亮红灯让车辆全部通过(假设2分钟),然后让已在等待的任何一方车辆驶入。
试用Pv操作管理AB路段车辆的行驶。
2.在测温系统中要完成采样、转换和显示等任务。
采样过程把从传感器上得到的整型微电压值存入一个缓冲区,转换过程把微电压值从缓冲区中取出,计算转换成温度值再存入该缓冲区,显示过程把缓冲区中的温度值取出并显示。
试用Pv操作实现三个过程共享缓冲区的同步问题。
3,现有三个进程,Reader进程把键盘输入的一个整数读入缓冲区B1,Executor进程把B1中的数据取出进行处理,处理完后存到输出缓冲区B2中,最后由Pinter进程将B2中的数据打印出来。
假设B1和n2都只能存放一个整数,请用Pv操作管理这三个并发进程的执行.4.用进程通信的方法解决生产者消费者问题。
要求生产者能告诉消费者产品的说明、规格、价格等。
而消费者能反馈对物品的评价和处理情况。
答案第3章进程同步与通信练习题参考答案(一)单项选择题1.D 2.D 3.A 4.c 5.c 6.D 7.B 8.A 9 B 10 B 11.C 12.B 13.C 14.D(二)填空题1.顺序 2.顺序性 3.封闭性,可再现件 4.进程本身 5.相同 6.可同时执行的 7并发性 8.无关 9.有交往的 10.共享 11.占用处理器的时间,执行的速度 12.共享资源 13共享变量 14.相关临界区 15互斥执行 16.互斥 17.不可被中断,原语 18.P操作,v操作 19.只有一个 20.同步 21.同步机制 22.进程互斥,同步 23.P操作,v操作 24.前,后 25.同步 26.竞争,固定的必然关系,必然的 27.低级通信方式 28.进程通信 29.信件 30.send,receive 31.直接通信,间接通信 32.一对 33.信箱说明,信箱体 34.进程同步 35.线程 36.调度,并发 37.轻型进程 38.等待态,就绪态,运行态 39并发性,公共缓冲区 40.P操作,v操作 41.资源分配,调度和执行(三)简答题1.进程的顺序性是指进程在顺序的处理器上严格地按顺序执行。
若系统中存在一组可同时执行的过程,则该组程序具有并发性。
可同时执行的进程是指这些进程执行时在时间上是重叠的,即一个进程的工作没有全部完成之前,另一个进程就可以开始工作。
2.有交往的并发进程可能会同时使用共享资源,如果对这种情况不加控制,由于进程占用处理器的时间、执行的速度和外界的影响等,就会引起与时间有关的错误。
只要使若干并发进程的相关临界区互斥执行,就可避免造成这类错误。
3.临界区是指并发进程中与共享变量有关的程序段。
相关临界区是指并发进程中涉及到相同变量的那些程序段。
4.管理相关临界区有三点要求:(1)一次最多让一个进程在临界区执行;(2)任何一个进入临界区执行的进程必须在有限的时间内退出临界区;(3)不能强迫一个进程无限地等待进入它的临界区。
5.信号量S的物理意义如下: s>0时,S表示可使用的资源数或表示可使用资源的进程数。
s=0时,表示无资源可供使用和表示不允许进程再进入临界区。