[ELDK] Posix Shared Memory

Markus Klotzbücher mk at denx.de
Fri May 23 16:54:16 CEST 2008


Hi Detlev,

Detlev Zundel <dzu at denx.de> writes:

>> "Daniel Stonier" <d.stonier at gmail.com> writes:
>>
>>> In your experience, is there any reason to favour SYSV over Posix? We
>>> only chose posix keeping in mind that we may wish to port to QNX in the
>>> future.
>>
>> Good question. SYSV is a lot heavier than POSIX shared memory and has
>> some features that POSIX hasn't (get number of attached processes).
>>
>> Nevertheless i would choose the POSIX variant because shared memory
>> objects are files that can be addressed through the file system instead
>> of their own namespace(ftok, ipcs(1) ...)
>
> The SystemV IPC calls are really going out of use.  The main reason is
> that they do not fit into the Unix mind set.  For one, they do not yield
> file descriptors that can for example be passed to select (only relevant

Yes, agreed.

> for message queues).  The other is that they have _persistent_
> ressources, like global variables something one should not use
> lightheartedly.

I think this is true for Posix IPC too, for example sem_overview(7)
states:

  Persistence
       POSIX named semaphores have kernel persistence: if not removed by
       sem_unlink(3), a semaphore will exist until the system is shut
       down.

Same applies to shared mem, the shared memory file in /dev/shm/ exists
until shm_unlink'ed.

Best regards

Markus Klotzbücher

--
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de


More information about the eldk mailing list