消息传递与共享内存进程通信模型


消息传递模型和共享内存模型是进程间通信的模型。有关这些模型的详细信息如下所示:

消息传递进程通信模型

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

演示进程通信的消息传递模型的图表如下所示:

message passing model of process communication

在上图中,进程 P1 和 P2 都可以访问消息队列并存储和检索数据。

消息传递模型的一个优点是它更容易构建并行硬件。这是因为消息传递模型对较高的通信延迟具有相当的容忍性。它也比共享内存模型更容易实现。

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

共享内存进程通信模型

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

说明进程通信的共享内存模型的图表如下所示

Shared Memory Model in OS

在上图中,进程 1 和进程 2 可以访问共享内存。

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

但是,共享内存模型可能会导致需要解决的同步和内存保护等问题。

更新于:2020年6月24日

4K+ 浏览量

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告