在消息缓冲通讯中.系统管理一个由缓冲区构成的缓冲池,每个缓冲区存放一个消息,请在下列的发送与接受原语中填写正确的p. v操作语句, (设:empty为描述缓冲区资源信号量。)
procedure send (receiver,a)
begin
1
p(mutex);
getbuf(i): (从缓冲池中取得buf, 编号为i ).
2
将发送区a的消息复制到buf(i);
getid(pcb set, receiver.j ); (获得接受进程内标示j. )
3
inser(j.mq.): ( buf(i)插人到j进程的消息队列,)
vj.mutex):
vjsm):
end
procedure receive(b)
begin
4
pGj.mutex)j;
remove(j.mq.i);
5
buf(i)中的内容复制到接受区b;
v(empty);
end