「ThreadX/Azure RTOS」の悔恨から生まれた「PX5 RTOS」はできたてほやほや:リアルタイムOS列伝(32)(3/3 ページ)
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第32回は、2023年1月にリリースされたばかりのRTOS「PX5 RTOS」を紹介する。
早いタイミングでの機能安全を含む産業向けの安全性サポートをうたう
もう1つ面白いのは、pthread+ extensionsである。PX5によれば“POSIXのpthread APIは通常のLinuxやEmbedded Linuxには十分であるが、Hard embeddedには機能とパフォーマンスの両面で十分ではない場合がある。そうした用途に向けた拡張がpthread+として提供される"としている。
具体的には、Event FlagやFast Queue、メモリ管理などで、他にもTick timerやError Handlingに向けた拡張などがある。ユーザーマニュアルによれば、PX5 RTOSは173個のAPIを提供するが、この半分以上の98個がpthread+ APIとなっている。ただし、pthread APIはそのまま使えるので、既存のpthread APIベースのアプリケーションをまず移植して、次いでパフォーマンスの遅いところをpthread+ APIで書き換えるといった策も可能である。
個人的には、既存のpthread APIベースでthread同期などを行う仕組みを、そのままEvent FlagなりMutexなりで置き換えるのは割とムダが多いというか、非効率な気がする。ただこれを効率的にやろうとすると、結局アプリケーションの構造そのものに手を入れないといけない場合も少なくないので、その意味でも既存のpthread APIベースのアプリケーションを移植というケースがどこまで多いのかちょっと判断できない(既存のアプリケーションを「参考」に、新しく作り直す方が多いように思う)。
PX5 RTOSの特徴でもう1つ挙げられるのは、早いタイミングで機能安全を含む産業向けの安全性サポートをうたっていることだ(図8)。
図8 ただこれらの機能安全規格への対応は、猛烈な量のドキュメント生成が伴うので、とにかくマンパワー(それもこうした機能安全のことを熟知したエンジニア)が必要になる。それぞれの規格にいつ対応できるかは、どれだけのエンジニアを今後集められるか次第だろう[クリックで拡大]
車載ソフトウェアの品質ガイドラインであるMISRについてAは「ほとんどのモジュールで対応しているが、ほんの一握りの例外がある。完全なリストについては問い合わせてほしい」としている。また、セキュリティ周りではPVD(Pointer/Data Verification)が提供される。これはポインタやデータ、固有のランタイムIDなどを利用して重要なデータに対してFingerprintを最初に生成しておき、その重要データにアクセスする際には、破損あるいは汚染されていないかをFingerprintを使って事前に確認するというものだ。
同様にRun-Time Stack Check&Verification機能もあり、スタックを利用して戻る「前に」スタックが破壊あるいはオーバーフローを起こしているかどうかを検証できる。もちろんこうした機能はメモリフットプリントやパフォーマンスインパクトがあるが、その一方ではハードウェア的にそうした保護機能を搭載していないMCUでも利用できるメリットがある。あとは構成次第というわけだ。
PX5 RTOSは商用RTOSであり、残念ながら無償ライセンスは存在しない。特徴はロイヤルティーフリーであり、ライセンスコストだけである。ライセンスは以下の3種類が存在する。
- Subscription Licensing
- Device/Product Licensing
- Enterprise, SoC, Semiconductor, and Custom Licensing
価格は“contact sales”となっているだけで明示されていない。対応ハードウェアは今のところCortex-MおよびCortex-Rが対象とされている。対応する半導体パートナーとしてはInfineon、Microchip、Nordic Semiconductor、NXP Semiconductors、ルネサス、Silicon Labs、STMicroelectronicsの7社が挙がっているが、ハードウェアのサポートを考えるとこの7社の全製品ということではないのは当然である。ただ具体的な製品リストは要問い合わせになる。
無償ライセンスがないと書いたが、それもあって無償のお試し版も少なくとも現時点では提供されていない。まぁうかつに無償版をリリースして、山のような「動作しない報告」とか「サポートしてほしいデバイスリスト」が寄せられても対応しきれないから、というあたりが正直なところであろう。とはいえ、評価のためにはまずライセンスを買えというのもむちゃな話であって、今後このあたりどうなってゆくかはしばらく見守る必要があるが、なかなか意欲的な船出なだけに今後の展開に期待したいところである。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 連載記事「リアルタイムOS列伝」バックナンバー
- AVRマイコンで動作する軽量RTOS「FunkOS/Mark3」は勉強や遊びに最適!?
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第31回は、ほぼ独力で開発された軽量RTOS「FunkOS/Mark3」を紹介する。 - F-35戦闘機も採用する「LynxOS」はRTOSを超えたRTOSを目指す
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第30回は、軍用や航空宇宙向けを中心に一定のシェアを確保しているRTOS「LynxOS」を紹介する。 - DSP向けが源流の「TI-RTOS」はこのままフェードアウトしてしまうのか
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第29回は、TIが提供するRTOSである「TI-RTOS」を紹介する。 - μITRON/POSIX互換のRTOS「eCos」はカーネルもオプション!?
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第28回は、μITRON/POSIX互換のRTOS「eCos」を紹介する。 - Linux環境でのハードリアルタイムを実現する「RTAI」
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第27回は、Linux上でRTOS環境を提供する「RTAI」紹介する。