shm_overview(7) | Miscellaneous Information Manual | shm_overview(7) |
shm_overview - overview of POSIX shared memory
The POSIX shared memory API allows processes to communicate information by sharing a region of memory.
The interfaces employed in the API are:
POSIX shared memory is supported since Linux 2.4 and glibc 2.2.
POSIX shared memory objects have kernel persistence: a shared memory object will exist until the system is shut down, or until all processes have unmapped the object and it has been deleted with shm_unlink(3)
Programs using the POSIX shared memory API must be compiled with cc -lrt to link against the real-time library, librt.
On Linux, shared memory objects are created in a (tmpfs(5)) virtual filesystem, normally mounted under /dev/shm. Since Linux 2.6.19, Linux supports the use of access control lists (ACLs) to control the permissions of objects in the virtual filesystem.
Typically, processes must synchronize their access to a shared memory object, using, for example, POSIX semaphores.
System V shared memory (shmget(2), shmop(2), etc.) is an older shared memory API. POSIX shared memory provides a simpler, and better designed interface; on the other hand POSIX shared memory is somewhat less widely available (especially on older systems) than System V shared memory.
fchmod(2), fchown(2), fstat(2), ftruncate(2), memfd_create(2), mmap(2), mprotect(2), munmap(2), shmget(2), shmop(2), shm_open(3), shm_unlink(3), sem_overview(7)
2023-10-31 | Linux man-pages 6.7 |