Next: Status Conventions
Up: General Description
Previous: C-callable Version
NBS V2.4 was the first version of NBS to be fully portable
to UNIX - V2.2 onwards was written portably but had several
deficiencies and bugs. The shared memory services of UNIX System V
are sufficiently close to the VMS global section system
services to require only a small amount of conditionally compiled code
in the low-level ``create section'' and ``map section'' routines.
There are however two limitations which may affect users planning
to use the software on UNIX platforms.
- The first and least serious is that UNIX does not permit
a process to have a shared memory segment mapped more than once
the process's address space. NBS has been written to take
account of this and will always return the same address in a request
to map a noticeboard once it is mapped the first time. It does however
keep a reference count, and will not unmap a noticeboard until this
drops to zero.
- The system identifier (or key) for shared memory sections (and hence
noticeboards) on UNIX is a four byte integer. NBS therefore hashes
the user supplied name into this integer. The algorithm for doing this
is much improved in V2.5.5 but it is still not proof against different
names mapping on to the same key value.
Next: Status Conventions
Up: General Description
Previous: C-callable Version
NBS The Noticeboard System
Starlink User Note 77
D.J. Allan
11 September 1995
E-mail:ussc@star.rl.ac.uk