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 | |
---|
8 | Standards |
---|
9 | ========= |
---|
10 | |
---|
11 | This chapter describes each of the standards which RTEMS tracks |
---|
12 | API alignment with. As a general rules, these standards are related |
---|
13 | to the POSIX or C programming language standards. Many are the result |
---|
14 | of domain specific efforts to define subsets or profiles or the full |
---|
15 | POSIX standard which are suitable for a specific domain. Each |
---|
16 | API set is considered a "profile" against which the full capability |
---|
17 | set of RTEMS is evaluated. |
---|
18 | |
---|
19 | The RTEMS Complete Profile is the complete set of POSIX, BSD, and |
---|
20 | C programming language methods supported by RTEMS. This profile is |
---|
21 | independent of any standard and represents a union of multiple |
---|
22 | standards. For example, RTEMS supports BSD derived methods that |
---|
23 | are not in POSIX. |
---|
24 | |
---|
25 | The IEEE Std 1003.1-2008 API is the 2008 edition of the POSIX standard. |
---|
26 | It is an update from the 2003 edition. Each edition of the POSIX standard |
---|
27 | tends to add some methods, deprecate some methods, and obsolete |
---|
28 | (e.g. remove) other methods. |
---|
29 | |
---|
30 | PSE51 through PSE54 are Open Group defined profiles of the 2003 edition |
---|
31 | of the POSIX standard. These profiles are: |
---|
32 | |
---|
33 | * Profile 54 - Multipurpose |
---|
34 | |
---|
35 | * 1003.1-2003 Base Multi-process, Threads and File System |
---|
36 | |
---|
37 | * Profile 53 - Dedicated |
---|
38 | |
---|
39 | * Multi-process, Threads and File System |
---|
40 | |
---|
41 | * Profile 52 - Controller |
---|
42 | |
---|
43 | * Single Process, Threads, and File System |
---|
44 | |
---|
45 | * Profile 51 - Minimal |
---|
46 | |
---|
47 | * Single Process, Threads, with No File System |
---|
48 | |
---|
49 | The C99 Programming Language standard defines the Standard C Library. This |
---|
50 | library is largely included by reference in the POSIX standard. |
---|
51 | |
---|
52 | The Open Group FACE Consortium has defined four POSIX profiles targetting |
---|
53 | the avionics application domain. The FACE Technical Standard has been |
---|
54 | through multiple revisions and the POSIX API profiles are identical in |
---|
55 | Editions 1.0, 2.0, and 2.1. They are as follows: |
---|
56 | |
---|
57 | * Security - 163 APIs, single process, no FILE * |
---|
58 | |
---|
59 | * Safety Basic - 246 APIs, single process, some FILE * |
---|
60 | |
---|
61 | * Safety Extended - 335 APIs, multi-process, more FILE * |
---|
62 | |
---|
63 | * General Purpose - 812 APIs, multi-process, much more |
---|
64 | |
---|
65 | RTEMS provides all of the methods required by the FACE Safety BASE profile |
---|
66 | and all of the methods in the Safety Extended profile which do not require |
---|
67 | multiple processes. Similarly, RTEMS provides most of the methods in the |
---|
68 | General Purpose profile which do not require multiple processes. |
---|