进程间通信的不同模型


进程间通信是由操作系统提供的机制,允许进程相互通信。这种通信可能涉及一个进程让另一个进程知道某些事件已经发生,或者从一个进程向另一个进程传输数据。

说明进程间通信的示意图如下:

Interprocess Communication

进程间通信的模型如下:

共享内存模型

共享内存是可以被多个进程同时访问的内存。这样做是为了让进程能够相互通信。所有 POSIX 系统以及 Windows 操作系统都使用共享内存。

共享内存模型的优点

与同一台机器上的消息传递模型相比,共享内存模型的内存通信速度更快。

共享内存模型的缺点

共享内存模型的一些缺点如下:

  • 所有使用共享内存模型的进程都需要确保它们不会写入相同的内存位置。
  • 共享内存模型可能会产生同步和内存保护等问题,需要解决。

消息传递模型

多个进程可以读取和写入消息队列中的数据,而无需相互连接。消息存储在队列中,直到接收者检索它们。消息队列对于进程间通信非常有用,并且大多数操作系统都使用它们。

消息传递模型的优点

消息传递模型比共享内存模型更容易实现。

消息传递模型的缺点

消息传递模型的通信速度比共享内存模型慢,因为连接设置需要时间。

共享内存模型和消息传递模型的示意图如下:

Models of Interprocess Communication

更新于:2020年6月24日

13K+ 浏览量

启动您的职业生涯

通过完成课程获得认证

开始学习
广告