什么是直接通信什么是间接通信这两种通信方式中的通信链路具有什么特征
参考答案:消息系统有直接通信和间接通信之分。
(1)直接通信。直接通信方式有一个基本原则:进程在发送和接收消息时,必须指明接收者或发送者的名字。这种通信方式中send和receive原语定义如下:
·send(P,message):将消息发送给进程P
·receire(Q,message):接收来自进程Q的消息
这种通信方式中的通信链路具有如下特征:每一对欲通信的进程间自动建立了一条双向通信链,只需知道对方的标识信息便可进行通信;每条通信链路严格地对应两个进程;相互通信的一对进程之间存在一条通信链路。
(2)间接通信。进程间通过信箱进行消息传递的通信方式称为间接通信,又称为“信箱通信”。信箱(Mailbox)可以抽象地看成是一个虚设备,进程可以把消息(也称信件)放入信箱,也可以从中取出一条消息。信箱必须有唯一的标识符。在这种通信方式中,某个进程可以通过一组不同的信箱同时与其他多个进程通信。两个进程只有当它们之间有一个可共享的信箱时才可进行通信。
间接通信方式中的通信链路具有如下特征:只有当两个进程之间有了一个可共享的信箱时,通信链路才在两者之间建立;一条通信链路可以连接两个以上的进程;每一对通信进程之间可以有多条不同的通信链路,每一条链路对应一个信箱;通信链路可以是单向的,也可以是双向的。