More on LinuxToday

developerWorks: Use Shared Objects on Linux

"In terms of time and space, shared memory is probably the most
efficient inter-process communication channel provided by all
modern operating systems. Shared memory is simultaneously mapped to
the address space of more than one process: a process simply
attaches to the shared memory and starts communicating with other
processes by using it as it would use ordinary memory.

"However, in the object-oriented programming world, processes
prefer to share objects rather than raw information. With objects,
there is no need to serialize, transport, and de-serialize the
information contained within the object. Shared objects also reside
in shared memory, and although such objects 'belong' to the process
that created them, all processes on the system can access them.
Hence, all of the information within a shared object should be
strictly process-neutral..."