利用消息缓冲通信机制进行通信,a为发送进程的发送区首地址,b为接收进程的接收区首地址,mq、mutex. sm 分别为接收进租消息队列的队首指针.互斥信号量.同步信号量,对以下发送原语和接收原语实现正确的同步操作:
procedure send (receiver,a) procedure receive (b)
begin begin
getbuf(a.size, i); j : = internal n name;
i.sender: = a.sender; (C )
i.size: = a.size; Wait (j.mutex)
i.text: = a.text; remover (j.mq,i);
i.next: =0; (D)
getid (PCBset ,receiver, j) ; b.sender: =i.sender;
(A) b.size: =i.size;
insert (j.mq, i) ; b.text: =i.text;
(B) end
end
选择答案:
(1 ) wait(j.mutex) (2 ) wait(j.sm) (3 ) signal(j.mutex) (4 ) signal(j.sm)