●在某超市里有一个收银员,且同时最多允许有n个顾客购物,我们可以将顾客和收银员看成是两类不同的
●在某超市里有一个收银员,且同时最多允许有n个顾客购物,我们可以将顾客和收银员看成是两类不同的进程,且工作流程如图1所示。为了利用PV操作正确地协调这两类进程之间的工作,设置了三个信号量S1、S2和Sn,且初值分别为0、0和n。这样图中的a应填写 (17) ,图中的b1、b2应分别填写 (18) 图中的c1、c2应分别填写 (19) 。
图1工作流程图
(17) A.P(S1)
B.P(S2)
C.P(Sn)
D.P(Sn)、P(S1)
(18) A.P(Sn)、V(S2)
B.P(Sn)、V(S1)
C.P(S2)、V(S1)
D.V(S1)、P(S2)
(19) A.P(S1)、V(S2)
B.P(Sn)、V(S1)
C.P(S2)、V(S1)
D.V(S1)、P(S2)
【解析】S1是收银员进程的私用信号量;S2是顾客进程的私用信号量。由题意可知:每当有一个顾客进入时,允许进入的人数就-1,所以应该是对信号量Sn的P操作,选C,即P(Sn)。很明显,付款进程和收银员进程是一个多消费者和一个生产者的问题。开始前应该判断收银员进程是否忙。忙则挂起等待,不忙则付款。收银员进程判断是否有人来付款,有人则让其他进程等待,没人则自己挂起等待。收银完毕,则自己允许其他进程调用。因为Sn初值为n,而收银员只有一个同时也只能处理一个付款者。可以排除所有(17)、(18)中的P(Sn)的选项。cacc∥不成立,因为S1和S2信号量没有P,V成对,即只有消费或者生产cd∥不成立,理由同上dadc∥不成立,理由同上dd∥不成立,理由同上由题目定义S1和S2的初始值为0,如果(17)选择C,即P(S2)先运行,V(S1)后运行,即当开始顾客进程中的P(S2),则S2-1=-1,则顾客进程挂起;同时收银员进程执行P(S1),则S1-1=-1,则收银员进程挂起,属于典型的死锁。
已知-1小于等于x小于等于1,n大于等于2,且n属于N正,求证:(1-x)的n次方+(1+x)的n 数学 2020-05-13 …
已知数列{an}满足a1=1,a2=3,an+1=4an−3an−1(n∈N*且n≥2).(Ⅰ)证 其他 2020-05-13 …
已知数列{an}中,a1=1且点pn(an,an+1)(n∈N+)在直线x-y+1=0上,(1)求 数学 2020-05-13 …
(1)若函数f(x)=xx+2(x>0),且f1(x)=f(x)=xx+2,当n∈N*且n≥2时, 其他 2020-05-13 …
已知数列an,bn中,a1=b1=1,且当n≥2时,an-nan-1=0,bn=2bn-1-已知数 其他 2020-05-15 …
已知数列{an}的前n项和为Sn,且Sn=n^2+2n.数列{bn}中,b1=1,它的第n项bn是 数学 2020-05-17 …
已知数列an,Sn为其前n项和,已知a1=3/2,a2=2且S[n+1]-3Sn+2S[n-1]= 数学 2020-05-17 …
已知定义在R上的函数f(x)和数列{an},a1=a,a2≠a1,当n∈N*且n≥2时,an=f( 其他 2020-05-17 …
如图点B在y轴正半轴上,A(4,0),且S三角形OAB=61BD平分角ABO角BAE=3角EAD, 数学 2020-06-03 …
如图,点B在y轴的正半轴上,A(4,0),且S△OAB=6.1.求B点坐标2.BD平分∠ABO,∠ 数学 2020-06-03 …