mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-17 06:01:44 +08:00
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)
This commit is contained in:
parent
2a0664402b
commit
0472eada76
File diff suppressed because it is too large
Load Diff
1356
posix-compliance/RTEMS-Standards-Compliance-v4.csv
Executable file
1356
posix-compliance/RTEMS-Standards-Compliance-v4.csv
Executable file
File diff suppressed because it is too large
Load Diff
@ -13,29 +13,49 @@ import sys
|
||||
standards = [
|
||||
'RTEMS',
|
||||
'POSIX-2008',
|
||||
'POSIX-2003',
|
||||
'PSE51',
|
||||
'PSE52',
|
||||
'PSE53',
|
||||
'PSE54',
|
||||
'C99',
|
||||
'C11',
|
||||
'FACE 2.1 Security',
|
||||
'FACE 2.1 Safety Base',
|
||||
'FACE 2.1 Safety Extended',
|
||||
'FACE 2.1 General Purpose'
|
||||
'FACE 2.1 General Purpose',
|
||||
'FACE 3.0 Security',
|
||||
'FACE 3.0 Safety Base',
|
||||
'FACE 3.0 Safety Extended',
|
||||
'FACE 3.0 General Purpose',
|
||||
'SCA 2.2.2 AEP',
|
||||
'SCA 4.1 Ultra Lightweight AEP',
|
||||
'SCA 4.1 Lightweight AEP',
|
||||
'SCA 4.1 [Full] AEP'
|
||||
]
|
||||
|
||||
standard_names = {
|
||||
'RTEMS' : 'RTEMS Complete Profile',
|
||||
'POSIX-2008' : 'POSIX-2008',
|
||||
'POSIX-2003' : 'POSIX-2003',
|
||||
'PSE51' : 'POSIX PSE51 - Minimal',
|
||||
'PSE52' : 'POSIX PSE52 - Real-Time Controller',
|
||||
'PSE53' : 'POSIX PSE53 - Dedicated',
|
||||
'PSE54' : 'POSIX PSE54 - Multipurpose',
|
||||
'C99' : 'C99 Standard Library',
|
||||
'C11' : 'C11 Standard Library',
|
||||
'FACE 2.1 Security' : 'FACE 2.1 Security',
|
||||
'FACE 2.1 Safety Base' : 'FACE 2.1 Safety Base',
|
||||
'FACE 2.1 Safety Extended': 'FACE 2.1 Safety Extended',
|
||||
'FACE 2.1 General Purpose': 'FACE 2.1 General Purpose'
|
||||
'FACE 2.1 General Purpose': 'FACE 2.1 General Purpose',
|
||||
'FACE 3.0 Security' : 'FACE 3.0 Security',
|
||||
'FACE 3.0 Safety Base' : 'FACE 3.0 Safety Base',
|
||||
'FACE 3.0 Safety Extended': 'FACE 3.0 Safety Extended',
|
||||
'FACE 3.0 General Purpose': 'FACE 3.0 General Purpose',
|
||||
'SCA 2.2.2 AEP' : 'SCA 2.2.2 AEP',
|
||||
'SCA 4.1 Ultra Lightweight AEP' : 'SCA 4.1 Ultra Lightweight AEP',
|
||||
'SCA 4.1 Lightweight AEP' : 'SCA 4.1 Lightweight AEP',
|
||||
'SCA 4.1 [Full] AEP' : 'SCA 4.1 [Full] AEP'
|
||||
}
|
||||
|
||||
col_names = {
|
||||
@ -44,15 +64,25 @@ col_names = {
|
||||
'rtems-net' : 'RTEMS w/ Networking',
|
||||
'rtems-impl' : 'RTEMS Impl Note',
|
||||
'POSIX-2008' : 'IEEE Std 1003.1-2008',
|
||||
'POSIX-2003' : 'IEEE Std 1003.1-2003',
|
||||
'PSE51' : 'PSE51',
|
||||
'PSE52' : 'PSE52',
|
||||
'PSE53' : 'PSE53',
|
||||
'PSE54' : 'PSE54',
|
||||
'C99' : 'C99',
|
||||
'C11' : 'C11',
|
||||
'FACE 2.1 Security' : 'FACE 2.1 Security',
|
||||
'FACE 2.1 Safety Base' : 'FACE 2.1 Safety Base',
|
||||
'FACE 2.1 Safety Extended' : 'FACE 2.1 Safety Extended',
|
||||
'FACE 2.1 General Purpose' : 'FACE 2.1 General Purpose'
|
||||
'FACE 2.1 General Purpose' : 'FACE 2.1 General Purpose',
|
||||
'FACE 3.0 Security' : 'FACE 3.0 Security',
|
||||
'FACE 3.0 Safety Base' : 'FACE 3.0 Safety Base',
|
||||
'FACE 3.0 Safety Extended' : 'FACE 3.0 Safety Extended',
|
||||
'FACE 3.0 General Purpose' : 'FACE 3.0 General Purpose',
|
||||
'SCA 2.2.2 AEP' : 'SCA 2.2.2 AEP',
|
||||
'SCA 4.1 Ultra Lightweight AEP' : 'SCA 4.1 Ultra Lightweight AEP',
|
||||
'SCA 4.1 Lightweight AEP' : 'SCA 4.1 Lightweight AEP',
|
||||
'SCA 4.1 [Full] AEP' : 'SCA 4.1 [Full] AEP'
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -34,6 +34,13 @@ specific implementations. Still others may be impossible to implement
|
||||
without multiple processes or can only be implemented in a restricted
|
||||
fashion.
|
||||
|
||||
Missing methods required by the C99 standard or FACE Technical
|
||||
Standard Edition 3.0 General Purpose Profile are good candidates to add.
|
||||
Proposals to add missing methods from the C11 standard should be reviewed
|
||||
by RTEMS core developers to ensure the effort is well spent. There are
|
||||
rumors that some optional methods that are not being widely implemented
|
||||
will be removed in a future versino of the C Programming Language standard.
|
||||
|
||||
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
|
||||
|
@ -22,10 +22,11 @@ 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.
|
||||
The IEEE Standard 1003.1 is the POSIX standard. Specifically, IEEE
|
||||
Standard 1003.1-2008 is the 2003 edition of the POSIX standard and IEEE
|
||||
Standard 1003.1-2008 is the 2008 edition. The 2008 is 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:
|
||||
@ -49,10 +50,16 @@ of the POSIX standard. These profiles are:
|
||||
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:
|
||||
The C11 Programming Language standard defines also defines an
|
||||
updated version of the Standard C Library. It deletes a few methods
|
||||
from the C99 version but adds many methods. A large portion of these
|
||||
methods are optional and not commonly implemented.
|
||||
|
||||
The Open Group FACE Consortium (https://www.opengroup.org/face)
|
||||
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, 2.1,
|
||||
and 2.1.1. In these editions, the profiles are as follows:
|
||||
|
||||
* Security - 163 APIs, single process, no FILE *
|
||||
|
||||
@ -62,7 +69,29 @@ Editions 1.0, 2.0, and 2.1. They are as follows:
|
||||
|
||||
* General Purpose - 812 APIs, multi-process, much more
|
||||
|
||||
FACE Technical Standard Edition 3.0 adds the requirement for an
|
||||
operating system to support ``clock_nanosleep()`` in all profiles and
|
||||
defines one additional subcommand for the ``posix_devctl()`` methods.
|
||||
|
||||
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.
|
||||
|
||||
The Software Communications Architecture (SCA) specification targets the
|
||||
requirements for software-defined radios. This specification was originally
|
||||
developed in support of the Joint Tactical Radio System (JTRS) program
|
||||
in conjunction with the Object Management Group (OMG). This standard is
|
||||
now maintained by the Wireless Innovation Forum with support from the
|
||||
U.S. Navy Joint Tactical Network Center (JTNC). Some URLs of interest:
|
||||
|
||||
* SCA at Wireless Innovation Forum - http://www.wirelessinnovation.org/sca-based-standards-library
|
||||
|
||||
* JTRS - https://en.wikipedia.org/wiki/Joint_Tactical_Radio_System
|
||||
|
||||
* JTNC - http://www.public.navy.mil/jtnc/Pages/home.aspx
|
||||
|
||||
The SCA standard is hosted at the Wireless Innovation Forum with JTNC
|
||||
hosting supplemental information.
|
||||
|
||||
RTEMS includes all methods required by the SCA POSIX profiles.
|
||||
|
@ -28,6 +28,6 @@ def gen_posix_rst(task):
|
||||
|
||||
def build(ctx):
|
||||
ctx(rule = gen_posix_rst,
|
||||
source = ['posix_rst.py', 'RTEMS-Standards-Compliance-v1.csv'],
|
||||
source = ['posix_rst.py', 'RTEMS-Standards-Compliance-v4.csv'],
|
||||
target = 'generated-posix-compliance.rst')
|
||||
doc_build(ctx, extra_source = ['generated-posix-compliance.rst'])
|
||||
|
Loading…
x
Reference in New Issue
Block a user