エッジコンピューティングの逆襲 特集

かつて米軍に重用されたRTOS「RTEMS」、今や航空宇宙分野で揺るぎない地位にリアルタイムOS列伝(11)(3/3 ページ)

» 2021年06月03日 10時00分 公開
[大原雄介MONOist]
前のページへ 1|2|3       

航空機向けソフトウェア標準のFACEにも積極対応

 というわけで前置きが長くなったRTEMSであるが、RTOSとしての特徴は以下の通りである。

  • マルチスレッド対応。ただしスレッド全体で1つのメモリ空間を共有。カーネル/ユーザー空間の違いもなし。MMUによるメモリ保護機能は搭載
  • Classic API(RTEMS API)の他、POSIX(pthread付き)やC11/C++11、Newlib/GCCなどに対応する。かつてはμITRONの互換APIも搭載されていたのだが、Version 4.11で廃止された
  • プログラミング言語としてC/C++/ラダー/Erlang/Fortran/Python&MicroPythonに対応。またEMB/Google Go/OpenMPなどのパラレル言語環境にも対応する
  • スレッド間同期/通信メカニズムとしてMutex(ロック有り無し両対応)、カウンタ付きSemaphore、Binary Semaphore、Event、Message Queue、Barrier、OpenMPで利用するFutex(Fast User-Space Locking)、libbsdで提供されるEpoch Based Reclamationなどをサポートする
  • スケジューラーは固定時間/ジョブレベルのプライオリティベース/固定プライオリティベースなどが標準提供され、また新たなスケジューラーを組み込むためのフレームワークも用意される
  • システム構成はリンク時に決定され、グローバル変数などもやはりリンク時に設定される
  • メモリ管理はFirst-fitベースのものの他、libbsdで提供されるUMA(Universal Memory Allocator)のものも用意される
  • ファイルシステムとしてIMFS/FAT/RFS/NFSv2/JFFS2(NORフラッシュ用)/YAFFS2(NANDフラッシュ用)が提供される
  • 標準的なドライバとしてはTermios(シリアル経由のコンソール接続)、I2C/SPI/Network Stack(TCP/IPのほかlwIPなども提供)、USB stack、SD/MMCカードstack、フレームバッファー(Qtなどによる画面描画用)などが用意される

 libbsdが提供されるので、FreeBSD風の書き方をすることでアプリケーションが簡単に記述できるのも特徴の一つといえるだろう。

 最新のRTEMSはVersion 5.1となるが、サポートするアーキテクチャは、以下のように新旧取り混ぜている格好だ。

  • Arm(ARMv4T/Armv5/Armv6/Armv7-M/Armv7-A/Armv7-R)
  • Atmel AVR
  • ADI Blackfin
  • Adaptiva Epiphany(Version 5.1でサポート終了であり、Version 6.1でサポート廃止予定)
  • Intel/AMD x86(32ビットのみ:64ビット対応に関してはプロセッササポートも含めて現在作業中)
  • Lattice Mico32
  • Renesas M32C(Version 5.1でサポート廃止)
  • Motorola/Freescale MC68xxx&Coldfire
  • Xilinx MicroBlaze(SMP未サポート)
  • MIPS(旧IDTで移植作業を行ったようで、今のところIDT Orionシリーズのみが対象)
  • Altera Nios II(SMP未サポート)
  • OpenRISC 1000
  • PowerPC(主に旧Freescaleのものだが、旧IBMのPowerPC 403もまだサポート対象として残っている)
  • RISC-V(RV32/RV64ともに対応)
  • Renesas SuperH(SH1〜SH4まで)
  • SPARC(SPARC Version 7/8)
  • SPARC-64(UltraSPARC I〜IVまで)

 PowerPCやSPARCに関しては、特に航空宇宙向けで現在広く利用されている(SPARCについては、ESA/Cobhamの「LEON」の記事を以前にTechFactoryで公開しているのでご参照いただきたい。PowerPCはTeledyne e2vが航空宇宙向けに現在積極的に投入している)ので、実際にターゲットとして利用される頻度が多いためだろう。これに限らず、何しろもともとが軍用あるいは航空宇宙向けということもあって、現在もこうした分野での利用が非常に多いのがRTEMSの特徴でもある。

 最近だと、航空宇宙関連に関しては、航空機向けソフトウェアの標準化を進めるべく2010年に設立されたコンソーシアムのFACE(Future Airborne Capability Environment)への対応をどうするかという話がしばしば出てくるが、RTEMSはこのFACE対応に関しても積極的に対応している。これはRTEMSが、というよりはむしろOAR Corporationが積極的に対応し、その結果をRTEMSにフィードバックしているという格好だ。

 そんなわけで、連載第9回で紹介したERIKA Enterpriseが自動車メーカー向けのフリーなRTOSの座を揺るぎないものにしているのと同様に、RTEMSは航空宇宙分野におけるフリーなRTOSの座をきっちり射止めた格好である。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.