概念:
允许两个进程访问同一个逻辑地址;是在两个正在运行的进程之间传递数据的一种非常有效的方式。
大多数的共享内存的具体实现,都把由不同进程之间共享的内存安排为同一段物理内存。
共享内存是由IPC为进程创建的一个特殊的地址范围,它将出现在该进程的地址空间中。其他进程可以将同一段共享内存连接到他们自己的地址空间中。所有进程都可以访问共享内存中的地址,就好像他们是用malloc分配一样,如果某个进程向共享内存中写入了数据,所做的改动将立刻被可以访问同一段共享内存的其他进程看到。
如图:
共享内存未提供同步机制需要用其他的机制来同步对共享内存的访问。
用共享内存提供对大块内存区域的有效访问,同时通过传递小消息来同步对该内存的访问。
共享内存使用的函数:
shmget函数:创建或获取函数
int shmget(key_t key,size_t size,intshmflg);
key:与信