序:进程通信原语是分布式程序设计语言的一部分,用于分布式进程间的通信和同步。 通信原语是分布式操作系统内核与服务层之间的接口,是通过进程通信协议实现的。集 中式计算机系统和紧密耦合分布计算系统有共享的存储器,进程之间的通信和同步使用 并发程序设计语言,它们使用共享变量。尽管松散耦合分布计算系统不使用共享变量,物 理上分开的进程之间的通信和同步是通过报文交换的方法实现的,但是从分布式程序设 计语言的角度看,进程间仍然可以通过逻辑上共享的内存进行通信,即分布式共享存储器 (Distributed Shared Memory,DSM)系统。在松散耦合分布计算系统中,两种基本的实现进 程通信的方法是报文传递(Message Passing)和远程过程调用(Remote Procedure Call, RPC)。
报文传递通信方式包含类似于如下的发送和接受原语:
send(b,msg);/*b为接收进程的标识符,msg为存放待发送报文的缓冲区 |
receive(a,msg);/*a为发送进程的标识符,msg为存放待接收报文的缓冲区 |
这些原语可以是阻塞性的也可以是非阻塞性的,他们各有优缺点。