01-POSIX共享内存
第54章 POSIX共享内存
在前面的章节中介绍了两种允许无关进程共享内存区域以便执行IPC的技术:System V共享内存(第48章)和共享文件映射(49.4.2节)。这两种技术都存在一些不足。
- System V共享内存模型使用的是键和标识符,这与标准的UNIX I/O模型使用文件名和描述符的做法是不一致的。这种差异意味着使用System V共享内存段需要一整套全新的系统调用和命令。
- 使用一个共享文件映射来进行IPC要求创建一个磁盘文件,即使无需对共享区域进行持久存储也需要这样做。除了因需要创建文件所带来的不便之外,这种技术还会带来一些文件I/O开销。
由于存在这些不足,所以POSIX.1b定义了一组新的共享内存API:POSIX共享内存,这也是本章的主题。
System V中的共享内存段在POSIX中被称为共享内存对象。这种术语上的差异是因为历史原因——这两个术语所指的都是进程间共享的一块内存区域。