消息传递与共享内存进程通信模型
消息传递模型和共享内存模型是进程间通信的模型。有关这些模型的详细信息如下所示:
消息传递进程通信模型
消息传递模型允许多个进程读取和写入消息队列中的数据,而无需相互连接。消息存储在队列中,直到其接收方检索它们。消息队列对于进程间通信非常有用,并且大多数操作系统都使用它。
演示进程通信的消息传递模型的图表如下所示:
在上图中,进程 P1 和 P2 都可以访问消息队列并存储和检索数据。
消息传递模型的一个优点是它更容易构建并行硬件。这是因为消息传递模型对较高的通信延迟具有相当的容忍性。它也比共享内存模型更容易实现。
但是,消息传递模型的通信速度比共享内存模型慢,因为连接建立需要时间。
共享内存进程通信模型
共享内存模型中的共享内存是可以被多个进程同时访问的内存。这样做是为了使进程能够相互通信。所有 POSIX 系统以及 Windows 操作系统都使用共享内存。
说明进程通信的共享内存模型的图表如下所示
在上图中,进程 1 和进程 2 可以访问共享内存。
共享内存模型的一个优点是,与同一台机器上的消息传递模型相比,内存通信速度更快。
但是,共享内存模型可能会导致需要解决的同步和内存保护等问题。
广告