RTEMS
RTEMS (Real-Time Executive for Multiprocessor Systems) はフリーでオープンソースのリアルタイムオペレーティングシステム (RTOS) であり、組み込みシステム向けの設計となっている。
元々は "Real-Time Executive for Missile Systems" の略とされていたが、後に "Real-Time Executive for Military Systems" の略とされ、さらに現在の頭字語となった。RTEMSの開発は1980年代末ごろに始まり、1993年ごろにはFTPでダウンロード可能になっていた。OAR Corporationはユーザーの代表者などを含む運営委員会と協力してRTEMSプロジェクトを運営している。
RTEMSはリアルタイムの組み込みシステム向けに設計されており、以下のような各種プロセッサアーキテクチャに移植されている。
RTEMS はPOSIXやμITRONといった各種オープンAPI標準をサポートするよう設計されている。もともとのAPIは Classic RTEMS API と呼ばれており、Real-Time Executive Interface Definition (RTEID) 仕様に基づいている。またFreeBSDのTCP/IPスタックや、NFSやFATといった各種ファイルシステムをサポートしている。
RTEMSではメモリ管理やプロセス管理を行わない。POSIXの用語で言えば、シングルプロセス・マルチスレッド環境を実装している。そのため、POSIXサービスのうち、メモリマッピング、プロセス生成、共有メモリといった関連の部分は提供していない。RTEMS は POSIX Profile 52 すなわち "single process, threads, filesystem" にほぼ相当する。
RTEMSは様々な分野で利用されている。EPICSコミュニティでもRTEMSサブミッタとして活動している人が複数存在する。宇宙開発においても、SPARC、ERC32、LEON、MIPS Mongoose-V、Coldfire、PowerPCといったマイクロプロセッサが使われているため、RTEMSが活躍している。マーズ・リコネッサンス・オービターでは Electra ソフトウェアラジオにRTEMSが使われている。
RTEMSは修正版GPLライセンスで配布されており、RTEMSオブジェクトと他のファイルをリンクしたとき、実行ファイル全体をGPLとすることを要求しない。これは GNAT Modified General Public License に準じているがAda言語に限定されない。