IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第25回は、NXP/FreesclaeのMCUやMPUであればロイヤルティーフリーで利用できるRTOS「MQX」を紹介する。
「MQX」という名前を耳にしたことがある読者は多いだろう。旧Freescale Semiconductor、現NXP Semiconductorsが自社製品向けリアルタイムOS(RTOS)として提供してきたからだ。ただし、MQXそのものはFreescaleが開発したものではなく、FreescaleがMQXのライセンスを受けて、自社製品向けに無償で提供していたにすぎない。
MQXの基になったのは「Harmony RTOS」(当時は単にHarmonyという名前だったが、区別のためにRTOSを付けている)である。ちなみにこれはHuawei(ファーウェイ)が開発している「Harmony OS」とは何の関係もない。
Harmony RTOSが世に出たのは1985年のこと。開発したのはオタワにあるカナダ国立研究機構(National Research Council Canada)である。これはウォータールー大学で開発された「Thoth」というOS(というかこれもRTOSっぽい)の後継に当たるもので、第2世代のメッセージパッシング方式のOSであり、ロボットセンシングやGUIを持つワークステーションなど幾つかの研究プロジェクトに利用されている。Harmony RTOSはマルチタスク、マルチプロセッサ対応(ただしシングルユーザー)であり、当初はそうと意識されていなかったが、後にマイクロカーネルベースのOSとして分類されている。ちなみにHarmony RTOSそのもののターゲットは「MC68000」搭載のMultibus/VME Busベースのシステムや、Atari 520/1040 ST、VAXなどであるが、これらは要するにHarmony RTOSを利用した研究プロジェクトが利用していたハードウェアそのものである。
さて、このHarmony RTOSを利用して商用OSを作ろうとした企業があった。それは同じくオタワにあったDy4 Systemsである(ちなみに同社は2004年にCURTISS-WRIGHTに買収された)。Dy4 Systemsは軍需向けの組み込みシステムを手掛けているメーカーだったが、自社のシングルボードコンピュータにこのHarmony RTOSを組み込もうとした。この移植作業は同社にとっていろいろ知見を得る機会だったようで、最終的にこの移植に携わっていたチームは1989年に独立してPrecise Software Technologiesを設立しており、ここでHarmony RTOSを起源とする商用RTOSの開発を開始する。1991年の段階では、シングルプロセッサ向けのMQXと、マルチプロセッサ対応の「MQX-m」が存在しており。同社はロイヤルティーフリーという独特のビジネスモデルを掲げたことで多くのユーザーがMQXを利用することになる。
Precise Software Technologiesは2000年3月にARC Internationalに買収されるが、引き続きMQXの開発は続けられる。そのARC Internationalは2009年にVirage Logicに買収され、そのVirage Logicは2010年にSynopsysに買収されることになった。ただし、これに先立つ2004年、ARC InternationalはARCプロセッサ以外についての配布やサポートをEmbedded Accessに引き継いでいる(図1)。もっともこの時点での主要な顧客はFreescaleであり、このためEmbedded Accessが提供するMQXのサポートプロセッサのリストを見るとCortex-Mベースの「Kinetis」やCortex-M/Aベースの「i.MX」「i.MX RT」も並んでいるが、それ以外に「ColdFire」「Power」「PowerQUICC」といった、古いFreescale(というかMotorolaというべきか)のプロセッサがずらずら並んでいるのはある種壮観ではある。
これとは別に、ARCプロセッサ向けのMQXは引き続きSynopsysから提供されているし、もう少し新しめのNXPの製品はNXPからサポートが提供されている。先日公開された次世代のMCUである「MCXシリーズ」をサポートするかどうかは現時点では表明されていない(個人的にはちょっと怪しい気がする)ものの、比較的最新の製品でもまだ対応されているあたり、MQXは「まだ大丈夫」といった感じではある。
Copyright © ITmedia, Inc. All Rights Reserved.