07-总结
54.6 总结
POSIX共享内存对象用来在无关进程间共享一块内存区域而无需创建一个底层的磁盘文件。为创建POSIX共享内存对象需要使用shm_open()调用来替换通常在mmap()调用之前调用的open()。shm_open()调用会在基于内存的文件系统中创建一个文件,并且可以使用传统的文件描述符系统调用在这个虚拟文件上执行各种操作。特别地,必须要使用ftruncate()来设置共享内存对象的大小,因为其初始长度为零。
现在已经介绍了无关进程间的三种共享内存区域技术:System V共享内存、共享文件映射以及POSIX共享内存对象。这三种技术之间存在很多相似之处,但也存在一些重要的差别,除了可移植性问题外,这些差异都对共享文件映射和POSIX共享内存对象有利。