[rtems-docs commit] posix-compliance: Add description of standards

Joel Sherrill joel at rtems.org
Fri Mar 9 19:24:22 UTC 2018


Module:    rtems-docs
Branch:    master
Commit:    9c9ba8f8bce5ad05bc0affbca74e73bc7e8fe20d
Changeset: http://git.rtems.org/rtems-docs/commit/?id=9c9ba8f8bce5ad05bc0affbca74e73bc7e8fe20d

Author:    Joel Sherrill <joel at rtems.org>
Date:      Wed Feb 14 17:16:00 2018 -0600

posix-compliance: Add description of standards

---

 posix-compliance/index.rst     |  1 +
 posix-compliance/preface.rst   | 20 +++++++++----
 posix-compliance/standards.rst | 68 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 84 insertions(+), 5 deletions(-)

diff --git a/posix-compliance/index.rst b/posix-compliance/index.rst
index 2f03832..c7caee2 100644
--- a/posix-compliance/index.rst
+++ b/posix-compliance/index.rst
@@ -43,6 +43,7 @@ to the Community Project hosted at http://www.rtems.org/.
         :numbered:
 
         preface
+        standards
         posix-compliance
         glossary
         zreferences
diff --git a/posix-compliance/preface.rst b/posix-compliance/preface.rst
index 48505d3..31f0a28 100644
--- a/posix-compliance/preface.rst
+++ b/posix-compliance/preface.rst
@@ -26,8 +26,18 @@ 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.
+In general, adding missing methods is always an open project for a
+volunteer. If considering addressing missing methods, please discuss
+this on mailing list. Some are properly implemented in the Newlib
+C Standard Library used by RTEMS. Others may require target architecture
+specific implementations. Still others may be impossible to implement
+without multiple processes or can only be implemented in a restricted
+fashion.
+
+The next chapter in this document describes each of the standards
+with which the RTEMS alignment is tracked.  Each subsequent 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.
diff --git a/posix-compliance/standards.rst b/posix-compliance/standards.rst
new file mode 100644
index 0000000..46c636c
--- /dev/null
+++ b/posix-compliance/standards.rst
@@ -0,0 +1,68 @@
+.. comment SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. COMMENT: COPYRIGHT (c) 2018.
+.. COMMENT: On-Line Applications Research Corporation (OAR).
+ | **COPYRIGHT (c) 20188.**
+.. **RTEMS Foundation, The RTEMS Documentation Project**
+
+Standards 
+=========
+
+This chapter describes each of the standards which RTEMS tracks
+API alignment with. As a general rules, these standards are related
+to the POSIX or C programming language standards. Many are the result
+of domain specific efforts to define subsets or profiles or the full
+POSIX standard which are suitable for a specific domain. Each 
+API set is considered a "profile" against which the full capability
+set of RTEMS is evaluated.
+
+The RTEMS Complete Profile is the complete set of POSIX, BSD, and
+C programming language methods supported by RTEMS. This profile is
+independent of any standard and represents a union of multiple
+standards. For example, RTEMS supports BSD derived methods that
+are not in POSIX.
+
+The IEEE Std 1003.1-2008 API is the 2008 edition of the POSIX standard.
+It is an update from the 2003 edition. Each edition of the POSIX standard
+tends to add some methods, deprecate some methods, and obsolete
+(e.g. remove) other methods.
+
+PSE51 through PSE54 are Open Group defined profiles of the 2003 edition
+of the POSIX standard. These profiles are:
+
+* Profile 54 - Multipurpose
+
+  * 1003.1-2003 Base Multi-process, Threads and File System
+
+* Profile 53 - Dedicated
+
+  * Multi-process, Threads and File System
+
+* Profile 52 - Controller
+
+  * Single Process, Threads, and File System
+
+* Profile 51 - Minimal
+
+  * Single Process, Threads, with No File System
+
+The C99 Programming Language standard defines the Standard C Library. This
+library is largely included by reference in the POSIX standard. 
+
+The Open Group FACE Consortium has defined four POSIX profiles targetting
+the avionics application domain. The FACE Technical Standard has been
+through multiple revisions and the POSIX API profiles are identical in
+Editions 1.0, 2.0, and 2.1. They are as follows:
+
+* Security - 163 APIs, single process, no FILE *
+
+* Safety Basic - 246 APIs, single process, some FILE *
+
+* Safety Extended - 335 APIs, multi-process, more FILE *
+
+* General Purpose - 812 APIs, multi-process, much more
+
+RTEMS provides all of the methods required by the FACE Safety BASE profile
+and all of the methods in the Safety Extended profile which do not require
+multiple processes. Similarly, RTEMS provides most of the methods in the
+General Purpose profile which do not require multiple processes.




More information about the vc mailing list