你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

深入详解Linux进程间通信之共享内存(Shared Memory)【1】

2021-11-1 7:39:19

在Linux下的多个进程间的通信机制叫做IPC(Inter-Process Communication),它是多个进程之间相互沟通的一种方法。专栏前面的文章中演示过使用pipe、shared memory、unix domain socket进行IPC的方法。彼时,我们的重点在于unix domain socket。因此,前面关于共享内存的例子比较简单,仅仅是父子进程间通过system V IPC通信的过程。本文将更进一步探讨Linux进程间通过共享内容进行通信的方法。Shared memory允许两个或多个进程共享一给定的存储区,因为数据不需要来回复制,所以是最快的一种IPC机制。

一、背景知识

1. POSIX

维基百科上关于POSIX的解释:

The Portable Operating System Interface (POSIX) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system- and user-level application programming interfaces (API), along with command line shells and utility interfaces, for software compatibility (portability) with variants of Unix and other operating systems.

一般情况下,应用程序通过API(而不是直接通过system call)来调用操作系统提供的各种服务。在Unix世界中,最流行的API是基于POSIX标