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

问答题 试叙述高级通信机制与低级通信机制P、V原语操作的主要区别;
【正确答案】P、V操作是指进程之间通过共享变量实现信息传递;而高级通信机制是由系统提供发送send与接收receive两个操作,进程间通过这两个操作进行通信,无须共享任何变量。
【答案解析】
问答题 给出消息缓冲机制(有限缓冲)的基本工作原理;
【正确答案】基本原理:操作系统管理一个用于进程通信的缓冲池,其中的每个缓冲区单元可存放一条消息。欲发送消息时,发送者从中申请一个可用缓冲区buffer,接收者取出一条消息时再释放该buffer,每个进程均设置一条消息队列,任何发送给该进程的消息均暂存在其消息队列中。
【答案解析】
问答题 消息缓冲通信机制(有限缓冲)中提供发送原语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
【答案解析】