linux内核如何实现2个进程之间的共享内存

Nit*_*kar 3 operating-system shared-memory linux-kernel

Linux内核如何实现不同进程间的共享内存机制?

更详细地说,每个进程都有自己的地址空间。例如,与进程 B 中的地址 0x1000 相比,进程 A 中的地址 0x1000 是不同的位置。

那么内核如何确保一块内存在不同进程之间共享,具有不同的地址空间?

提前致谢。

The*_*ist 6

看看Beej 的 Linux 上 IPC 权威指南

包含以下示例代码详细说明

  1. 叉子()
  2. 信号
  3. 管道
  4. 先进先出
  5. 文件锁定
  6. 消息队列
  7. 信号量
  8. 共享内存段
  9. 内存映射文件
  10. Unix 套接字

和一堆关于 Linux 上 IPC 的几乎所有内容的参考。