Template:Infobox OS

RTEMS (Real-Time Executive for Multiprocessor Systems) è un sistema operativo di tipo real-time operating system distribuito in modalità open source e progettato per sistemi embedded.

L' acronimo RTEMS deriva inizialmente dal nome del progetto, Real-Time Executive for Missile Systems, che poi fu trasformato in Real-Time Executive for Military Systems e quindi nel più pacifico Real-Time Executive for Multiprocessor Systems. Lo sviluppo dell' RTEMS inizio' verso la fine degli anni 80 del secolo scorso, mentre le prime versioni disponibili, scaricabili tramite ftp, risalgono al 1993. RTEM viene gestito dalla società OAR Corporation, in cooperazione con un comitato di coordinamento che include una rappresentanza degli utenti di questo sistema.

RTEMS è stato portato su molte architetture e CPU, tra cui:

Una particolarità di RTEMS, rispetto a altri sistemi operativi, è il supporto di molte API standard,incluso le API POSIX e le API ITRON del progetto TRON. Le API native di RTEMS sono ora denonimate "Classic RTEMS API" e furono originariamente basate sulle specifiche RTEID, acronimo di Real-Time Interface Executive Definition. RTEMS include lo stack TCP/IP derivato da FreeBSD e supporta molti filesystems, tra cui NFS e il FAT filesystem.

Il sistema RTEMS di base non prevede l' uso di funzioni MMU evolute, questo significa che utilizza uno schema di tipo mono processo, con lo spazio di memoria comune a tutto il codice. Nello schema POSIX questo tipo di implementazione è definita come sistema multithread a singolo processo. Questo si riflette sulle API RTEMS che supporta tutti i servizi POSIX tranne quelli che relativi alla mappatura di memoria, al fork dei processi e all' uso di memoria condivisa (shared memory). RTEMS supporta il profilo POSIX 52, che è definito "single process, threads, filesystem" (vedi http://www.linuxdevices.com/news/NS3992179355.html).

RTEMS viene utilizzato in molti contesti applicativi: la comunità EPICS include molte persone che sono dei membri di supporto attivi del progetto RTEMS. RTEMS è anche un progetto popolare negli ambienti aereospaziali, grazie al suo supporto multiprocessore che include CPU SPARC ERC32, LEON, MIPS Mongoose-V, Coldfire, e ai vari PowerPC, che sono utilizzati nei campo aereospaziale. RTEMS è anche utilizato su Marte come software di controllo del componente EUT Electra UHT TRansceiver (vedi Mars Reconnaissance Orbiter).

RTEMS viene distribuito con una licenza GPL modificata, che permette l' uso di oggetti RTEMS con altri file proprietari, senza richiedere che l' applicazione risultante sia completamente GPL. Questa licenza è basata sulla GNAT Modified General Public License, opportunamente modificata per non riferirsi esclusivamente al linguaggio Ada.