今やBlackBerryの主力事業に、下克上を果たしたRTOS「QNX Neutrino」:リアルタイムOS列伝(36)(3/3 ページ)
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第36回は、1980年代からの長い歴史を持つ「QNX Neutrino」を取り上げる。
無償版はなくなったものの、30日間の評価版が利用可能
というわけで長々とQNXの歴史をご紹介してきたが、QNXの特徴は以下の通りになる。
アーキテクチャ
マイクロカーネルベースのアーキテクチャを採用している。カーネル(QNX用語ではprocnto)そのものは最小限(スケジューリング/プロセス間通信/割り込み処理/タイマー)程度の処理に留めており、デバイスドライバなどを含むその他の処理は全部別Taskという形で分離した上で、Task(というか、そのTaskの実行単位であるThread)間はMessage Passingの形で通信を行っている。
この方式だと一般にはパフォーマンスが犠牲になりやすいが、QNXではMessage Passingがスケジューラと密接に連動する形で実装されており、パフォーマンスの犠牲が最小限にとどめられている。その一方でドライバまで別Taskなので、例えば何かの理由でドライバがクラッシュしても、OS全体は影響を受けないという利点がある(もちろんそのドライバがクラッシュすることで、アプリケーションの動作に影響を及ぼす可能性はあるが、それは別の問題である)。
スケジューリング
スケジューリングはプライオリティベースのプリエンプティブであるが、APS(Adaptive Partition Scheduling)と呼ばれる技法(全てのThreadが、一定期間内に最小限のCPU時間の割り当てを受ける方式:より優先度の高いThreadが全てのCPU時間を独占することを防ぐ)や、Sporadic Scheduling(Threadの実行時間の上限を定めるスケジューリング)など、いくつかのオプションが用意される。
マルチプロセッサへの対応
マルチプロセッサに対応したAMP/SMP構成が可能だが、Processor Affinity(SMTなどの仮想的なマルチプロセッサ)に対応したBMP(Bound Multi Processor)という構成を利用することもできる。最新のQNX Neutrinoでは、ターゲットは64ビット対応のx86およびArmv8-A対応(64ビット)であるが、引き続きARMv7ベースの32ビットプロセッサのサポートもあるとしている。その他のアーキテクチャは、現状は未サポートである。
Secure BootやTPM/Trust Zoneの対応、ファイルシステムのAES256暗号化、HAM(High Availability Manager)を利用して、障害プロセスの切り離しや再起動機能の搭載など、最近のOSに求められる機能はおおむねそろっている。そもそも先に書いたように、自動車業界向けに現在も使われているわけで、そうしたターゲットに必要となる機能は当然のように用意されている。逆に言えば、自動車業界で使われていないようなアーキテクチャやデバイスのサポートなどはまだ手薄というかはっきり言えばない辺りが、汎用として利用する場合に若干ネックになるかもしれない。
無償版のQNX Neutrinoはもはや存在しないが、30日利用の評価版は同社から提供されている。まずはこれを使って試してみる、というあたりから始めてみる格好だろう。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 連載記事「リアルタイムOS列伝」バックナンバー
- Linuxでハードリアルタイムを実現するもう1つの選択肢「Xenomai」
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第35回は、第27回で取り上げた「RTAI」と同じくLinuxでハードリアルタイムを実現する選択肢となる「Xenomai」を紹介する。 - 異色の分散システム向けRTOS「Virtuoso」の30年にわたる系譜
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第34回は、分散システム向けRTOSとして約30年展開されてきた「Virtuoso」「OpenComRTOS」「VirtuosoNext」を紹介する。 - 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の座を射止めている。