検索
ニュース

異色の分散システム向けRTOS「Virtuoso」の30年にわたる系譜リアルタイムOS列伝(34)(3/3 ページ)

IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第34回は、分散システム向けRTOSとして約30年展開されてきた「Virtuoso」「OpenComRTOS」「VirtuosoNext」を紹介する。

Share
Tweet
LINE
Hatena
前のページへ |       

「OpenComRTOS」の後継として「VirtuosoNext」を投入

 RTOSの構造、という形で言えば図3のようになる。アプリケーションからどう見えるかはともかく、Nodeごとにスケジューラーがあり、またHub機能にはタスク間通信を行うための機能(とMemoryPool)が存在している。つまり、同一Node内のタスクであっても、実際はHub経由で通信を行っているわけだ。

図3
図3 仮想的には、この複数のNodeでまとめて1つのRTOSで動いているように見えるわけで、ここからVSP(Virtual Single Processor)という名前が出てきた[クリックで拡大]

 ここまで見ると結構重そうな実装に見えるかもしれないが、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である。

図4
図4 PPC-e600がサンプルで出てくるのは、メインのユーザー層である航空宇宙向けでよく使われるからである[クリックで拡大]

 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.

前のページへ |       
ページトップに戻る