第1题:
设有一缓冲池P,P中含有20个可用缓冲区,一个输入进程将外部数据读入P,另有一个输出进程将P中数据取出并输出。若讲程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法,要求写出信号量的初值。
第2题:
进程P通过缓冲区K不断向n个进程Qi(1≤i≤n)发送消息,消息大小与缓冲区K一样。为了使每个接收进程都应该接收到与发送次序一样的消息序列,需要配置(23)。
A.2个信号量,初值分别为1,0
B.2个信号量,初值分别为1,n,
C.3个信号量,初值分别为1,0,0
D.3个信号量,初值分别为1,1,0
第3题:
某系统中有一个缓冲区,进程P1不断地加工数据送入缓冲区,进程P2不断地从缓冲区中取数据打印,用PV操作实现进程间的同步模型如图2所示。假设信号量S1的初值为1,信号量S2的初值为0,那么图2中a、b、c、d处应分别填(51)。
A.P(S2)、V(S2)、P(S1)、V(S1)
B.P(S2)、V(S1)、P(S1)、V(S2)
C.P(S1)、V(S2)、P(S2)、V(S1)
D.P(S1)、V(S1)、P(S2)、V(S2)
第4题:
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、b处应分别填(26),c、d处分别填(27)。
A.V(S2)、P(S1)
B.P(S1)、V(S2)
C.P(S2)、V(S1)
D.V(S1)、P(S2)
第5题:
进程PA不断地向管道写数据,进程PB从管道中读数据并加工处理,如图所示。如果采用P-V操作来实现进程PA和PB的管道通信,并且保证这两个进程并发执行的正确性,则至少需要(1)
A.1个信号量,信号量的初值是0
B.2个信号量,信号量的初值是0,1
C.3个信号量,信号量的初值是0,0,1
D.4个信号量,信号量的初值是0,0,1,1
第6题:
进程PA不断地向管道写数据,进程PB从管道中读数据并加工处理,如图5-1所示。如果采用P、V操作来实现进程PA和PB的管道通信,并且保证这两个进程并发执行的正确性,则至少需要(2)。
A.1个信号量,信号量的初值是0
B.2个信号量,信号量的初值是0、1
C.3个信号量,信号量的初值是0、0、1
D.4个信号量,信号量的初值是0、0、1、1
第7题:
进程PA不断地向管道写数据,进程PB从管道中读数据并加工处理,如下图所示。如果采用PV操作来实现进程PA和进程PB间的管道通信,并且保证这两个进程并发执行的正确性,则至少需要(26)。
A.1个信号量,信号量的初值为0
B.2个信号量,信号量的初值分别为0、1
C.3个信号量,信号量的初值分别为0、0、1
D.4个信号量,信号量的初值分别为0、0、1、1
第8题:
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
在并发系统设计中,通过对信号量S的P、V操作实现进程的同步与互斥控制。
P(S):S:=S-1,若S≥0,则执行P操作的进程继续执行:若S<0,则置该进程为阻塞状态,并将其插入阻塞队列。
V(S):S:=S+1,若S>0,则执行V操作的进程继续执行;若S≤0,则从阻塞队列唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续执行。
在某并发系统中,有一个发送进程A、一个接收进程B、一个环形缓冲区BUFFER、信号量S1和S2。发送进程不断地产生消息并写入缓冲区BUFFER,接收进程不断地从缓冲区BUFFER取消息。假设发送进程和接收进程可以并发地执行,那么,当缓冲区的容量为N时,如何使用P、V操作才能保证系统的正常工作。发送进程A和接收进程B的工作流程如图4-1所示。请在图4-1中的空(1)~(4)处填入正确的内容。
第9题:
● 某系统中有一个缓冲区,进程 P1 不断地生产产品送入缓冲区,进程 P2 不断地从冲区中取出产品消费,用P、V 操作实现进程间的同步模型如下图所示。假设信号量S1初值为1,信号量S2的初值为0,那么a、 b处应分别填 (26) , c、 d处分别填 (27) 。
(26)
A. V(S2)、P(S1)
B. P(S1)、V(S2)
C. P(S2)、V(S1)
D. V(S1)、P(S2)
(27)
A. V(S2)、P(S1)
B. P(S1)、V(S2)
C. P(S2)、V(S1)
D. V(S1)、P(S2)
第10题:
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取产品消费。假设该缓存区只能容纳一个产品。进程P1与P2的同步模型如下图所示:
为此,应设信号量S1的初值为(18),信号量S2的初值为(19)。
A.-2
B.-1
C.0
D.1