A White Paper from the X/Open Base Working Group.
Version 1 Last update March 12 1997.
Abstract
The Realtime extension incorporates the ANSI/IEEE standards POSIX 1003.1b-1993 and POSIX 1003.1i-1995.
The Realtime extension is organized as a Feature Group within
the UNIX specification, denoted by the symbol
_XOPEN_REALTIME
.
Historically the UNIX operating system has been characterised as a general-purpose timesharing system. Today new demands are being placed on the operating system for support of applications with stringent performance and robustness requirements. These applications require predictable execution characteristics, and precise timing. Typical example applications are data aquisition and network controllers.
The Realtime extension groups the majority of the POSIX 1003.1b feature groups into a single feature group, allowing X/Open realtime systems to reliably contain a cohesive set of features for realtime applications.
Mandatory POSIX Realtime functionality in the Single UNIX Specification
Some parts of the POSIX realtime extension are mandatory in the Base, since they were previously in the Single UNIX Specification. These are:
Mandatory POSIX Realtime functions:
mmap() munmap() mprotect() msync() fsync() fchmod() ftruncate()
Mandatory POSIX Realtime Headers:
<sys/mman.h>
Optional POSIX Realtime functionality in the Single UNIX Specification
All the optional parts of the POSIX Realtime option are mandatory
when _XOPEN_REALTIME
is set to a value other than -1,
apart from _POSIX_PRIORITIZED_IO
which is optional.
The optional functions in the X/Open REALTIME extension are:
aio_cancel() aio_error() aio_fsync() aio_read()
aio_return() aio_suspend() aio_write()
clock_getres() clock_gettime() clock_settime()
fdatasync()
lio_listio()
mlock() mlockall()
mq_close() mq_getattr() mq_notify() mq_open()
mq_receive() mq_send() mq_setattr() mq_unlink()
munlock() munlockall()
nanosleep()
sched_get_priority_max() sched_get_priority_min() sched_getparam()
sched_getscheduler() sched_rr_get_interval() sched_setparam()
sched_setscheduler() sched_yield()
sem_close() sem_destroy() sem_getvalue() sem_init()
sem_open() sem_post() sem_trywait() sem_unlink() sem_wait()
shm_open() shm_unlink()
sigqueue() sigtimedwait() sigwaitinfo()
timer_create() timer_delete() timer_getoverrun() timer_gettime()
timer_settime()
The headers are
Read or download the complete Single UNIX Specification from
http://www.UNIX-systems.org/go/unix.
Copyright © 1997-1998 The Open Group
UNIX is a registered trademark of The Open Group.
<aio.h> <mqueue.h> <sched.h>