path: root/posix-compliance/preface.rst
diff options
Diffstat (limited to 'posix-compliance/preface.rst')
1 files changed, 33 insertions, 0 deletions
diff --git a/posix-compliance/preface.rst b/posix-compliance/preface.rst
new file mode 100644
index 0000000..48505d3
--- /dev/null
+++ b/posix-compliance/preface.rst
@@ -0,0 +1,33 @@
+.. comment SPDX-License-Identifier: CC-BY-SA-4.0
+.. COMMENT: COPYRIGHT (c) 1988-2017.
+.. COMMENT: On-Line Applications Research Corporation (OAR).
+.. COMMENT: All rights reserved.
+RTEMS supports a variety of POSIX and BSD features including some POSIX
+methods that are now deemed obsolete and some methods for compatibility
+with GNU/Linux and FreeBSD. There are multiple POSIX standard versions
+as well as multiple efforts to tailor (e.g. profile) POSIX for embedded
+environments. They range in size from less than 200 required capabilities
+to the full POSIX standard which has over 1200 required capabilities. This
+document reports on the alignment of RTEMS with various standard versions
+and defined profiles.
+RTEMS supports a number of POSIX process, user, and group oriented
+routines in what is referred to as a "SUSP" (Single-User, Single
+Process) manner. RTEMS supports a single process, multithreaded
+POSIX environment. In a pure world, there would be no reason to even
+include routines like ``getpid()`` when there can only be one process.
+But providing routines like ``getpid()`` and making them work in
+a sensible fashion for an embedded environment while not returning
+``ENOSYS`` (for not implemented) makes it significantly easier to port
+code from a UNIX environment without modifying it.
+Each chapter in this document presents the alignment of RTEMS with
+a specific standard version or defined profile. Each section with a
+chapter details the alignment of a specific header file relative to the
+chapter's standard or profile. The implementation status of the items
+required by the standard are listed.