異色の分散システム向けRTOS「Virtuoso」の30年にわたる系譜:リアルタイムOS列伝(34)(3/3 ページ)
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第34回は、分散システム向けRTOSとして約30年展開されてきた「Virtuoso」「OpenComRTOS」「VirtuosoNext」を紹介する。
「OpenComRTOS」の後継として「VirtuosoNext」を投入
RTOSの構造、という形で言えば図3のようになる。アプリケーションからどう見えるかはともかく、Nodeごとにスケジューラーがあり、またHub機能にはタスク間通信を行うための機能(とMemoryPool)が存在している。つまり、同一Node内のタスクであっても、実際はHub経由で通信を行っているわけだ。
ここまで見ると結構重そうな実装に見えるかもしれないが、OpenComRTOSのメモリフットプリントの一例として、MLX16とXilinxのMicroBlazeを利用した場合の数字があり、以下の表1のようになっている。
Service | MLX16 | MicroBlaze |
---|---|---|
L1 Hub shared | 400 | 668 |
L1 Port | 4 | 8 |
L1 Event | 70 | 88 |
L1 Semaphore | 54 | 92 |
L1 Resource | 104 | 96 |
L1 FIFO | 232 | 356 |
Total L1 services | 1048 | 1308 |
Grand Total | 2104 | 5500 |
表1 OpenComRTOSのメモリフットプリントの例(単位:バイト) |
プロセッサアーキテクチャにもよるが(MicroBlazeは一応32ビット)、カーネル(L1 servicesで1KB前後、その他もろもろ合わせても2K〜5KBというのはそう大きなものではない。ちなみにMicroBlazeを利用して、「XMK(Xilinx MicroBlaze Kernel)」とOpenComRTOSとのメモリフットプリントを比較したのが表2になるが、かなり省フットプリントと考えていいと思う。
XMK | OpenComRTOS | |
---|---|---|
.text | 12496 | 6016 |
.data | 348 | 1008 |
.bss | 7304 | 6320 |
total | 20148 | 13344 |
表2 XMKとOpenComRTOSとのメモリフットプリント比較(単位:バイト) |
さて、2015年頃まではこのOpenComRTOSを販売していたAltreonicであるが、2016年頃にその後継として「VirtuosoNext」なる製品を投入している。APIそのものはOpenComRTOSと互換性があるが、よりコンパクトにまとまり、性能も向上したとしている。同社のブローシャによるコードサイズとパフォーマンスの数字が図4である。
OpenComRTOSのMLX16やMicroBlazeメモリフットプリントと比べるとコードサイズはそれなりに増えているが、SRAM 64KB/フラッシュ 256KB程度のMCUであれば十分収まる範囲だし、PowerPC(PPC)-e600やArmのCortex-A9ベースならこの程度苦にもならない数字だ。パフォーマンスも、例えばCortex-M3が50MHz駆動ならCycle timeは20nsで、Semaphore loopはおおむね60μs、IRQ→ISRが1μs、Taskまでが15μ〜17μsと考えると、十分ハードリアルタイムに耐えるとしていいかと思う。
ということでかなり面白いRTOSなわけだが、止めを刺すのがライセンス形態だ。Altreonicは、VirtuosoNextをOpen Technology Licenseとして提供している。Altreonicはライセンスフィーおよび若干のロイヤルティー(これはテクニカルサポートの原資のためだそうだ)と引き換えに、全てのソフトウェアのソースコードと形式モデル、デザインドキュメント、ビルドシステム、ユーザーマニュアル、サンプル、シミュレーター、ビジュアルエディター、デバッグツールなどを全て提供する。そしてこれらは顧客が自由に利用したり改変したり、何なら改変したものを別ブランドで提供することも可能となっている(顧客が勝手にバイナリーライセンスを提供する事も可能)。いろいろと異色なRTOSで、手軽に試すという感じではないのだが、分散システム向けRTOSという他に見当たらない特徴を必要とするユーザーに現在も利用されている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 連載記事「リアルタイムOS列伝」バックナンバー
- 150年間使い続けられるRTOS「RODOS」はドイツの人工衛星に欠かせない
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第33回は、ドイツの人工衛星に欠かせないRTOS「RODOS」を紹介する。 - アマゾン買収から2年半、「Amazon FreeRTOS」は最も手頃なRTOSに
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第2回は、アマゾンの買収によってRTOSのメインストリームに躍り出た「Amazon FreeRTOS」について紹介する。 - かつて米軍に重用されたRTOS「RTEMS」、今や航空宇宙分野で揺るぎない地位に
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第11回は、かつて米国の軍需向けで重用されてきたRTOS「RTEMS」を紹介する。現在は軍需ではなく、航空宇宙分野向けフリーRTOSの座を射止めている。 - 「ThreadX/Azure RTOS」の悔恨から生まれた「PX5 RTOS」はできたてほやほや
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第32回は、2023年1月にリリースされたばかりのRTOS「PX5 RTOS」を紹介する。 - AVRマイコンで動作する軽量RTOS「FunkOS/Mark3」は勉強や遊びに最適!?
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第31回は、ほぼ独力で開発された軽量RTOS「FunkOS/Mark3」を紹介する。