IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第6回は、ミッションクリティカルな用途でも広く用いられている「Micrium μC/OS」を取り上げる。
「Micrium μC/OS」の話は、直近で言うとこちらの記事でご紹介させていただいた。簡単に振り返ると、もともとはJean J. Labrosse(ジーン・ラブロス)氏が1991年に独自に作り上げたリアルタイムOS(RTOS)である。当初の名前は「μC/OS」だったが、このμC/OSのソースコードを自身の著作である“μC/OS the Real-Time Kernel”の中で公開するという形で広く普及した。
そのμC/OSをベースに、いろいろな特徴を加えた商用向け製品として1998年に発表された「μC/OS-II」で、その販売とサポートのためにラブロス氏が立ち上げた会社がMicrium(ミクリウム)である。2009年には、より機能や対応プラットフォームを増やした「μC/OS-III」も発表されている(図1)。
このμC/OSシリーズは、ミッションクリティカルな用途向けに採用されたこともあり、2010年代前半にはそれなりに市場シェアを獲得している。ただし、Micriumは2016年10月にSilicon Labsに買収される。以後は、Silicon Labsの下で引き続き提供されていくことになった。
このあたりの経緯は、「FreeRTOS」をAmazonが買収して「Amazon FreeRTOS」になったことに非常に似ている。ただし大きく異なるのは、Amazon FreeRTOSは、クラウドであるAWSへのコネクティビティーを提供するために買収したと世間では受け止められており、そして事実そういう形で使われている。このため、AWSへのコネクティビティー開発キットを提供したいと思っているMCUや無線通信デバイスのベンダーは、相次いでFreeRTOSを自社の開発キットでサポートしたり、FreeRTOSで動作するためのドライバを提供したりすることになり、結果としてFreeRTOSのエコシステムは急速に拡大することとなった。
一方で、Silicon Labsは、まさにMCUと無線通信デバイスを提供するベンダーであり、従ってMicriumの買収は、今後同社のMCUを使う場合はMicrium μC/OSが提供される、という風に受け取られても仕方がなかった。少なくとも、Amazon FreeRTOSのような相乗効果を得ることはできなかった。
もっとも、これは時系列を無視した話ではある。Silicon LabsがMicriumを買収した1年後に、AmazonがFreeRTOSの買収を行ったのであって、その意味ではSilicon Labsの買収は1998年にTexas InstrumentsがDialogic CorporationからSpectron Microsystemsという子会社を買収し、同社の持っていたRTOSを「TI-RTOS」として提供したという形とほぼ同じ枠組みだったと考えられる。
これは高性能のMCUを販売していくに当たり、ベアメタルの環境だけではプログラミングの難易度が上がるので、RTOSを組み合わせてこれを緩和しようという発想であり、他にもルネサス エレクトロニクスが同社初のArmベースMCU製品となる「Renesas Synergy」の販売展開において、当初は旧ExpressLogicの「ThreadX」をパッケージングして販売するなど、割とポピュラーな手法であった。
想定外だったのは、クラウドへのコネクティビティーがこの後急速に重要視されるようになり、そしてμC/OSがこれにちょっと出遅れたことだろう。基本的なネットワークスタックその他は用意されているのだが、これではAWSやAzureといったメジャーなクラウドにつなげるためにはMQTTを自分でインプリメントする必要があった。
2018年10月のSilicon Labsの開発者向けフォーラムに、「AMW007-E04(Wi-Fi Xpress Starter Kit)」を、AWSに接続するためにどうしたら良いか? という質問があるが、その回答が「ZentriOSのライブラリを使え」というのではμC/OSの立つ瀬がない。こちらの記事でも触れたが、2017〜2019年に急速にμC/OSがシェアを落とした一因は、このあたりにもある気がする(ちなみに現在は、MQTTは提供されている)。
Copyright © ITmedia, Inc. All Rights Reserved.