The X/Open System Interface is the core application programming interface for
systems conforming to the Single UNIX Specification. This is a superset of the
mandatory requirements for conformance to IEEE Std 1003.1-2001.
A system that wants to be a XSI-conforming implementation shall meet the
criteria for POSIX conformance and support all functions and headers defined in IEEE
Std 1003.1-2001 as part of the XSI extension. Additionally, it shall support the
following options defined in the standard: File Synchronization, Memory Mapped
Files, Memory Protection, Threads, Thread Process-Shared Synchronization, Thread
Stack Address Attribute and Thread Stack Address Size.
Despite of these options that are mandatory to be a XSI-conforming system, the
system may also support one or more of the following XSI Option
Groups: Encryption, Realtime,
Advanced Realtime, Realtime Threads,
Advanced Realtime Threads, Tracing,
XSI STREAMS and Legacy. All the
realtime option groups jointly with the tracing option group
are clearly of great interest for developing embedded real-time applications. The
options each option groups requires are detailed next:
- Realtime
The options of IEEE Std 1003.1-2001 that are grouped together in this
option group are: Asynchronous, Synchronized and Prioritized Input and Output,
File Synchronization, Memory Mapped Files, Shared Memory Objects, Process and
Range Memory Locking, Memory Protection, Semaphores, Timers, Realtime
Signals Extension, Message Passing and Process Scheduling.
- Advanced Realtime
The options of the standard that are grouped together in the
Advanced Realtime option group are: Advisory Information,
Clock Selection, Process CPU-Time Clocks, Monotonic Clock, Timeouts, Typed
Memory Objects, Spawn and Process Sporadic Server.
- Realtime Threads
This option group includes the following options: Thread Priority
Inheritance and Protection, and Thread Execution Scheduling.
- Advanced Realtime Threads
The Advanced Realtime Threads option group requires
the following POSIX options: Thread CPU-Time Clocks, Thread Sporadic Server,
Spin Locks and Barriers.
- Tracing
This option group includes the following tracing facility options:
Trace, Trace Event Filter, Trace Inherit and Trace Log.