【正确答案】(1)P、V操作是指进程之间通过共享变量实现信息传递;而高级通信机制是由系统提供发送(Send)与接收(Receive)两个操作,进程间通过这两个操作进行通信,无须共享任何变量。
(2)基本原理:操作系统管理一个用于进程通信的缓冲池,其中的每个缓冲区单元可存放一条消息。发送消息时,发送者从中申请一个可用缓冲区,接收者取出一条消息时再释放该缓冲区,每个进程均设置一条消息队列,任何发送给该进程的消息均暂存在其消息队列中。
(3)缓冲区的格式说明:Sptr指示该消息的发送者,Nptr指向消息队列中下一缓冲区的指针,Text为消息正文。设置互斥信号量mutex(初值为1)与一个同步通信信号量Sm(初值为0),Sm也用于记录消息队列中现存消息的数目。
Send(a)操作如下:
Send(a)
{
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);
}