source: rtems-docs/posix-compliance/standards.rst @ 0472ead

5am
Last change on this file since 0472ead was 0472ead, checked in by Joel Sherrill <joel@…>, on Mar 9, 2018 at 8:53:36 PM

Update the POSIX Compliance Tracking Spreadsheet. Add standards.

This update adds the following:

C11 Programming Language Standard
FACE Technical Standard Edition 3.0 (four profiles)
Software Communication Architecture Specification 2.2.2 (one profile)
Software Communication Architecture Specification 4.1 (three profiles)

  • Property mode set to 100644
File size: 3.9 KB
RevLine 
[9c9ba8f]1.. comment SPDX-License-Identifier: CC-BY-SA-4.0
2
3.. COMMENT: COPYRIGHT (c) 2018.
4.. COMMENT: On-Line Applications Research Corporation (OAR).
5 | **COPYRIGHT (c) 20188.**
6.. **RTEMS Foundation, The RTEMS Documentation Project**
7
8Standards
9=========
10
11This chapter describes each of the standards which RTEMS tracks
12API alignment with. As a general rules, these standards are related
13to the POSIX or C programming language standards. Many are the result
14of domain specific efforts to define subsets or profiles or the full
15POSIX standard which are suitable for a specific domain. Each
16API set is considered a "profile" against which the full capability
17set of RTEMS is evaluated.
18
19The RTEMS Complete Profile is the complete set of POSIX, BSD, and
20C programming language methods supported by RTEMS. This profile is
21independent of any standard and represents a union of multiple
22standards. For example, RTEMS supports BSD derived methods that
23are not in POSIX.
24
[0472ead]25The IEEE Standard 1003.1 is the POSIX standard.  Specifically, IEEE
26Standard 1003.1-2008 is the 2003 edition of the POSIX standard and IEEE
27Standard 1003.1-2008 is the 2008 edition.  The 2008 is is an update from
28the 2003 edition. Each edition of the POSIX standard tends to add some
29methods, deprecate some methods, and obsolete (e.g. remove) other methods.
[9c9ba8f]30
31PSE51 through PSE54 are Open Group defined profiles of the 2003 edition
32of the POSIX standard. These profiles are:
33
34* Profile 54 - Multipurpose
35
36  * 1003.1-2003 Base Multi-process, Threads and File System
37
38* Profile 53 - Dedicated
39
40  * Multi-process, Threads and File System
41
42* Profile 52 - Controller
43
44  * Single Process, Threads, and File System
45
46* Profile 51 - Minimal
47
48  * Single Process, Threads, with No File System
49
50The C99 Programming Language standard defines the Standard C Library. This
51library is largely included by reference in the POSIX standard.
52
[0472ead]53The C11 Programming Language standard defines also defines an
54updated version of the Standard C Library. It deletes a few methods
55from the C99 version but adds many methods. A large portion of these
56methods are optional and not commonly implemented.
57
58The Open Group FACE Consortium (https://www.opengroup.org/face)
59has defined four POSIX profiles targetting the avionics application
60domain. The FACE Technical Standard has been through multiple revisions
61and the POSIX API profiles are identical in Editions 1.0, 2.0, 2.1,
62and 2.1.1. In these editions, the profiles are as follows:
[9c9ba8f]63
64* Security - 163 APIs, single process, no FILE *
65
66* Safety Basic - 246 APIs, single process, some FILE *
67
68* Safety Extended - 335 APIs, multi-process, more FILE *
69
70* General Purpose - 812 APIs, multi-process, much more
71
[0472ead]72FACE Technical Standard Edition 3.0 adds the requirement for an
73operating system to support ``clock_nanosleep()`` in all profiles and
74defines one additional subcommand for the ``posix_devctl()`` methods.
75
[9c9ba8f]76RTEMS provides all of the methods required by the FACE Safety BASE profile
77and all of the methods in the Safety Extended profile which do not require
78multiple processes. Similarly, RTEMS provides most of the methods in the
79General Purpose profile which do not require multiple processes.
[0472ead]80
81The Software Communications Architecture (SCA) specification targets the
82requirements for software-defined radios. This specification was originally
83developed in support of the Joint Tactical Radio System (JTRS) program
84in conjunction with the Object Management Group (OMG). This standard is
85now maintained by the Wireless Innovation Forum with support from the
86U.S. Navy Joint Tactical Network Center (JTNC). Some URLs of interest:
87
88* SCA at Wireless Innovation Forum - http://www.wirelessinnovation.org/sca-based-standards-library
89
90* JTRS - https://en.wikipedia.org/wiki/Joint_Tactical_Radio_System
91
92* JTNC - http://www.public.navy.mil/jtnc/Pages/home.aspx
93
94The SCA standard is hosted at the Wireless Innovation Forum with JTNC
95hosting supplemental information.
96
97RTEMS includes all methods required by the SCA POSIX profiles.
Note: See TracBrowser for help on using the repository browser.