The acronym RTEMS initially stood for Real-Time Executive for Missile Systems, then became Real-Time Executive for Military Systems before changing to its current meaning. RTEMS development began in the late 1980s with early versions of RTEMS available via ftp as early as 1993. OAR Corporation is currently managing the RTEMS project in cooperation with a Steering Committee which includes user representatives.
RTEMS is designed for real-time, embedded systems and has been ported to various target processor architectures:
RTEMS is designed to support various open API standards including POSIX and uITRON. The API now known as the Classic RTEMS API was originally based upon the Real-Time Executive Interface Definition (RTEID) specification. RTEMS includes a port of the FreeBSD TCP/IP stack as well as support for various filesystems including Network file system and the FAT filesystem.
RTEMS does not provide any form of memory management or processes. In POSIX terminology, it implements a single process, multithreaded environment. This is reflected in the fact that RTEMS provides nearly all POSIX services other than those which are related to memory mapping, process forking, or shared memory. RTEMS closely correponds to POSIX Profile 52 which is "single process, threads, filesystem".
RTEMS is used in many application domains. The EPICS community includes multiple persons who are active RTEMS submitters. RTEMS is also popular for space uses since it supports multiple microprocessors developed for use in space including SPARC, ERC32 and LEON, MIPS Mongoose-V, Coldfire, and PowerPC architectures, which are available in space hardened models. RTEMS is currently orbiting Mars as part of the Electra software radio (see Mars Reconnaissance Orbiter).
RTEMS is distributed under a modified GPL licence, allowing linking RTEMS objects with other files without requiring the full executable to be covered by the GPL. This license is based on the GNAT Modified General Public License with the language modified to not be specific to the Ada programming language.