RTEMS

Da Wikipedia, l'enciclopedia libera.
RTEMS
Logo
Sviluppatore OAR Corporation
Famiglia SO Non Applicabile
Modello del sorgente Open source
Release corrente 4.7 (Sett. 2006)
Tipo di kernel Real time monolitico
Piattaforme supportate {{{piattaforme_supportate}}}
Licenza Modified GPL
Stadio di sviluppo {{{stadio_sviluppo}}}
Sito web RTEMS Site

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ù neutro Real-Time Executive for Multiprocessor Systems. Lo sviluppo dell'RTEMS iniziò verso la fine degli anni 80 del secolo scorso, mentre le prime versioni disponibili, scaricabili tramite ftp, risalgono al 1993. RTEMS, nascendo in ambiente militare, ha molto utilizzato il linguaggio Ada, che costituisce una peculiarità del sistema rispetto ad altri.

RTEM viene gestito dalla società OAR Corporation, con la quale coopera 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 denominate "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, il file system utilizzato dallo storico DOS (FAT16) fino al sistema Microsoft Windows98 (FAT32).

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"[1].

RTEMS viene utilizzato in molti contesti applicativi: la comunità EPICS include molte persone che sono dei membri di supporto attivi del progetto.

RTEMS è anche un progetto popolare negli ambienti aereospaziali, grazie al suo supporto multiprocessore che include CPU SPARC, ERC32, LEON, MIPS Mongoose-V, Coldfire, e i vari PowerPC, che sono molto utilizzati nei campo aerospaziale.

RTEMS è anche utilizzato come software di controllo del componente EUT Electra UHT TRansceiver inviato su Marte (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.

Note[modifica | modifica sorgente]

  1. ^ Open Group pilots embedded real-time POSIX conformance testing - News - Linux for Devices. (archiviato dall'url originale il 3 gennaio 2013).

Collegamenti esterni[modifica | modifica sorgente]