.. comment SPDX-License-Identifier: CC-BY-SA-4.0 .. COMMENT: COPYRIGHT (c) 1988-2017. .. COMMENT: On-Line Applications Research Corporation (OAR). .. COMMENT: All rights reserved. Preface ======= RTEMS supports a variety of POSIX and BSD features including some POSIX methods that are now deemed obsolete and some methods for compatibility with GNU/Linux and FreeBSD. There are multiple POSIX standard versions as well as multiple efforts to tailor (e.g. profile) POSIX for embedded environments. They range in size from less than 200 required capabilities to the full POSIX standard which has over 1200 required capabilities. This document reports on the alignment of RTEMS with various standard versions and defined profiles. RTEMS supports a number of POSIX process, user, and group oriented routines in what is referred to as a "SUSP" (Single-User, Single Process) manner. RTEMS supports a single process, multithreaded POSIX environment. In a pure world, there would be no reason to even include routines like ``getpid()`` when there can only be one process. But providing routines like ``getpid()`` and making them work in 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.