分布式系统中的进程间通信
进程间通信是分布式环境中两个或多个独立进程之间交换数据的过程称为进程间通信。 Internet 上的进程间通信提供数据报和流通信。
进程间通信的例子:
- N 个应用程序可以通过网络协议与 X 服务器通信。
- 像 Apache 这样的服务器会产生子进程来处理请求。
- 管道是 IPC 的一种形式:grep foo 文件 |种类
它有两个功能:
- 同步:
数据交换是同步完成的,这意味着它只有一个时钟脉冲。 - 消息传递:
当进程希望交换信息时。消息传递采用多种形式,例如:管道、FIFO、共享内存和消息队列。
进程间通信的特点:
分布式环境/系统中进程间通信主要有五个特点。
- 同步系统调用:
在同步系统调用中,发送方和接收方都使用阻塞系统调用来传输数据,这意味着发送方将等待收到接收方的确认,而接收方等待消息到达。 - 异步系统调用:
在异步系统调用中,发送方和接收方都使用非阻塞系统调用来传输数据,这意味着发送方不会等待接收方的确认。 - 留言目的地:
本地端口是计算机内的消息目标,指定为整数。 Aport 只有一个接收者,但有许多发送者。进程可以使用多个端口来接收消息。任何知道端口号的进程都可以向它发送消息。 - 可靠性:
它被定义为有效性和完整性。 - 正直:
消息必须在到达目的地时没有损坏和重复。 - 有效性:
点对点消息服务被定义为可靠的,如果消息能够保证被传递而不会丢失,则称为有效性。 - 订购:
它是按特定顺序将消息传递给接收者的过程。某些应用程序要求按发送方的顺序传递消息,即发送方传输消息的顺序。