man namespaces has a section on IPC namespaces.
IPC namespaces isolate certain IPC resources, namely, System V IPC
objects (see svipc(7)) and (since Linux 2.6.30) POSIX message queues
(see mq_overview(7)). The common characteristic of these IPC mechanisms is that IPC objects are identified by mechanisms other than filesystem pathnames.
man svipc
says it has three types of objects; shared memory objects, message queues, and semaphore sets (a semaphore is a more general case of a mutex). Instead of a filesystem path, each object has a numeric ID.
And POSIX message queues are identified by a name, similar to a filename. (The Linux implementation uses virtual files accessed through /dev/mqueue/
).
System V IPC should be considered obsolescent and difficult to use.
Notice that Linux IPC namespaces do not isolate POSIX SHM. The Linux implementation accesses the objects through /dev/shm/
, which is a tmpfs
virtual filesystem. If you want to isolate POSIX SHM, you use mount namespaces to change the filesystem that is mounted at /dev/shm/
.