有m个进程(P0,P1,…,Pm-1)通过n个缓冲区(B0,B1,…Bn-1)向1个进程(Q)发送数据包,每个数据包大小与缓
有m个进程(P0,P1,…,Pm-1)通过n个缓冲区(B0,B1,…Bn-1)向1个进程(Q)发送数据包,每个数据包大小与缓冲区一样。要求:进程Q接收数据包的次序与发送次序一样。为保证发送进程与接收进程正确地并行工作,需要设置(23)。
A.一个信号量,初值为0
B.一个信号量,初值为1
C.两个信号量,初值分别为0和1
D.3个信号量,初值分别为n、1、0
解析:本题考查进程同步与互斥方面的知识以及信号量的使用技能。原则上,为保证进程并行工作的正确性,对每一个同步或互斥条件应该设置一个信号量。首先,必须在缓冲区有内容时,接收进程才能取,也就是说,m个缓冲区中至少有1个是有数据包时,进程Q才能取,亦即送后再取。这是一个同步条件,需要一个信号量S3,刚开始时,所有缓冲区都没有数据包,接收进程不能取数据,所以该信号量的初值应该为0。其次,当m个缓冲区装满数据包时,没有空的缓冲区可以再容纳送来的数据包,必须等待接收进程Q取走一个数据包,发送进程Pi才能向它送入数据包,亦即取后再送。这又是一个同步条件,需要一个信号量S1,由于有n个缓冲区;发送进程可以在接收进程一个未取的情况下连续送n个数据包,所以它的初值应该为n。第三,为了使m个发送进程有序地向缓冲区放入数据包,不能出现两个进程同时向一个缓冲区放数据包的现象,应该将缓冲区编号,需要用一个变量代表将要放入数据的缓冲区号,每放入一个数据包,该变量加1并用n取模(保证该变量从0到n-1周而复始地变化)。这个变量是所有发送进程共享并进行修改的,因此发送进程必须互斥地访问它,所以还要是一个信号量S2,保证互斥关系,初值为1。这样,正确的答案应该是D。这里,设用于指向当前存放发送数据的缓冲区号的变量为t,初值为0;设指向将要从它那里取数据的缓冲区号的变量为f,初值也为0。下图表示发送进程与接收进程利用一组缓冲区通信的流程。
设随机变量ξ服从正态分布N(01),P(ξ>1)=p,则P(-1<ξ<0)等于()(A)p(B)1 数学 2020-05-13 …
如果a≠0,p是正整数,那么下列各式中错误的是[]A.a-pB.a-p=C.a-p=-aD.ap= 数学 2020-05-14 …
窦性心律不齐A.P-P不等,P-R一致B.P-P不等,P-R渐长C.无P波,代之以“F”波,R-R不 医卫类考试 2020-05-17 …
心房纤颤A.P-P不等,P-R一致B.P-P不等,P-R渐长C.无P波,代之以“F”波,R-R不等# 医卫类考试 2020-05-17 …
下列水量平衡方程表示正确的是( )A.h2+p+m-e-c=h1B.h1+p+M-e-c=h2C.h 职业技能鉴定 2020-05-28 …
无论p取何值,方程(x-3)(x-2)-p²=0总有俩个不等的实数根吗?给出答案并说明理由. 数学 2020-06-20 …
已知点M(p,q)在抛物线y=x2-1上已知点M(p,q)在抛物线y=x平方-1上,若以M为圆心的 数学 2020-07-05 …
K-介子衰变的方程为K-→p-+p°,其中K-介子和p-介子带负的基元电荷,p°介子不带电.一个K- 物理 2020-11-28 …
计算(4k的二次方+7k)+(-k的二次方+3k-1)(5y+3x-15z的二次方)-(12y+7x 数学 2020-12-17 …
已知关于x的方程(x-3)(x-2)-p²=0⑴求证:无论p为何值,方程总有两个不相等的实数根;已知 数学 2020-12-23 …