mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-14 16:30:00 +08:00
posix-compliance: Add description of standards
This commit is contained in:
parent
5b76390b49
commit
9c9ba8f8bc
@ -43,6 +43,7 @@ to the Community Project hosted at http://www.rtems.org/.
|
||||
:numbered:
|
||||
|
||||
preface
|
||||
standards
|
||||
posix-compliance
|
||||
glossary
|
||||
zreferences
|
||||
|
@ -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.
|
||||
|
68
posix-compliance/standards.rst
Normal file
68
posix-compliance/standards.rst
Normal file
@ -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.
|
Loading…
x
Reference in New Issue
Block a user