[cgl_discussion] Project Review: POSIX Semaphores
Gustafson, Geoffrey R
geoffrey.r.gustafson at intel.com
Thu Sep 12 09:26:43 PDT 2002
Project Review for POSIX Semaphores
1. Quote the requirements from the requirements doc
that your project is expected to meet.
POSIX Interface Compliance
OSDL CGL shall provide POSIX-compatible interfaces to support direct porting
of common carrier grade applications. OSDL CGL shall follow the 2001 POSIX
standard where it supersedes the standards cited in the following
Requirement: 1.2.4 POSIX Semaphore Interface Standard Compliant
Version Assignment: Core 1.1
Application Type: G,S,M
Description: OSDL CGL shall extend the Linux semaphore support to enable
and fully comply with the following standards:
· POSIX, Section 11 - Synchronization (Semaphore)
· IEEE 1003.1b - 1993, Section 11.1, 11.2 (Semaphore) amendment
· IEEE 1003.1d - 1999, Section 11.2 (Semaphore) amendment
· IEEE 1003.1j - 2000, Section 11.1, 11.2 (Semaphore) amendment
· IEEE 1003.1q - 2000, No amendment
All APIs in sections 11.1 and 11.2 as they apply to semaphore handling shall
b provided. It shall include all required modifications to the internal
kernel message queue handling.
2. Explain how you think the project meets the
The posix1b project taken from http://www.garret.ru/~knizhnik/
provides a user-space library wrapper around the existing Linux
semaphores to provide the POSIX APIs. Some work may still be
needed to get it up to the 2001 spec; we are working on completing
a validation suite to evaluate this. So far all tests have
succeeded but these may be incomplete.
3. Explain the design of the project or point to
a document on the web that explains the design.
The design is a fairly simple translation of POSIX semaphore APIs
into corresponding Linux semaphore APIs. A user-space static .a
library is built which must be linked into client applications.
Currently this implementation contains some extraneous APIs as well
so these should be removed.
4. Pointer to the code/patch.
More information about the cgl_discussion