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はリアルタイムの組み込みシステム向けに設計されており、以下のような各種プロセッサアーキテクチャに移植されている。

 ARM
 Atmel AVR
 Blackfin
 Freescale ColdFire
 TI C3x/C4x DSPs
 H8/300
 Intel 80386、Pentium、およびそれ以降のx86アーキテクチャ
 Lattice Mico32
 68k
 ルネサス エレクトロニクス M32C
 ルネサス エレクトロニクス M32R
 MIPS
 Nios II
 PowerPC
 ルネサス エレクトロニクス SuperH
 SPARC

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言語に限定されない。

脚注

外部リンク 
公式サイト
公式ウィキ
RTEMS Centre

リアルタイムオペレーティングシステム
組み込みオペレーティングシステム