问题 问答题

消息缓冲通信技术是一种高级通信机制,由Hansen首先提出。请回答下列问题:

消息缓冲通信机制(有限缓冲)中提供发送原语Send(receiver a),调用参数a表示发送消息的内存区首地址,试设计相应的数据结构,并用P、V原语操作实现Send原语。

答案

参考答案:缓冲区的格式说明:Sptr指示该消息的发送者,Nptr指向消息队列中下一缓冲区的指针;Text为消息正文。设置互斥信号量mutex(初值为1)与一个同步通信信号量Sm(初值为0),Sm也用于记录消息队列中现存消息的数目。
Seend(a)操作如下:
Begin
new(p);
p.Sptr:=address of the sender;
Move message to buffer p;
Find the receiver;
p(mutex);
Add buffer p to the message queue;
V(Sm);
V(mutex);
End
例题34

选择题
单项选择题