source: rtems-docs/posix-compliance/preface.rst @ f7384cc

5
Last change on this file since f7384cc was e52906b, checked in by Sebastian Huber <sebastian.huber@…>, on 01/09/19 at 15:14:06

Simplify SPDX-License-Identifier comment

  • Property mode set to 100644
File size: 2.5 KB
Line 
1.. SPDX-License-Identifier: CC-BY-SA-4.0
2
3.. Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR)
4
5Preface
6=======
7
8RTEMS supports a variety of POSIX and BSD features including some POSIX
9methods that are now deemed obsolete and some methods for compatibility
10with GNU/Linux and FreeBSD. There are multiple POSIX standard versions
11as well as multiple efforts to tailor (e.g. profile) POSIX for embedded
12environments. They range in size from less than 200 required capabilities
13to the full POSIX standard which has over 1200 required capabilities. This
14document reports on the alignment of RTEMS with various standard versions
15and defined profiles.
16
17RTEMS supports a number of POSIX process, user, and group oriented
18routines in what is referred to as a "SUSP" (Single-User, Single
19Process) manner.  RTEMS supports a single process, multithreaded
20POSIX environment.  In a pure world, there would be no reason to even
21include routines like ``getpid()`` when there can only be one process.
22But providing routines like ``getpid()`` and making them work in
23a sensible fashion for an embedded environment while not returning
24``ENOSYS`` (for not implemented) makes it significantly easier to port
25code from a UNIX environment without modifying it.
26
27In general, adding missing methods is always an open project for a
28volunteer. If considering addressing missing methods, please discuss
29this on mailing list. Some are properly implemented in the Newlib
30C Standard Library used by RTEMS. Others may require target architecture
31specific implementations. Still others may be impossible to implement
32without multiple processes or can only be implemented in a restricted
33fashion.
34
35Missing methods required by the C99 standard or FACE Technical
36Standard Edition 3.0 General Purpose Profile are good candidates to add.
37Proposals to add missing methods from the C11 standard should be reviewed
38by RTEMS core developers to ensure the effort is well spent. There are
39rumors that some optional methods that are not being widely implemented
40will be removed in a future versino of the C Programming Language standard.
41
42The next chapter in this document describes each of the standards
43with which the RTEMS alignment is tracked.  Each subsequent chapter in
44this document presents the alignment of RTEMS with a specific standard
45version or defined profile.  Each section with a chapter details the
46alignment of a specific header file relative to the chapter's standard
47or profile.  The implementation status of the items required by the
48standard are listed.
Note: See TracBrowser for help on using the repository browser.