大学生まれのフル機能RTOS「RIOT-OS」は良くも悪くもビジネスと直結しない:リアルタイムOS列伝(17)(3/3 ページ)
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第17回は、欧州の大学の共同研究に出自を持つフル機能のRTOS「RIOT-OS」を紹介する。
LGPL v2.1ライセンスで提供も商用版は存在せず
先にもちょっと書いたが、RIOT-OSは無駄にリソースを消費しないために、いわゆるHAL(Hardware Abstraction Layer)に当たるものは存在しない。このため、基本移植はソースの書き換えになるが、そうした移植は非常に容易としている(図13)。もう少し正確に言えば、高レベルの概念でHALに近いものは存在する。
RIOT-OSの場合、以下の3つのコンポーネントが用意されている。
- CPU:Startup Code/Netlib Syscalls/Likerscript(以上が必須)/Interrupt Handling/Task Switching & Stack Handling(以上は必須だが、同じアーキテクチャを持つ他のMCUのものを流用可)/Power Management(オプション)
- Board:Pin Configuration/Board Initialization/Clock Initialization(全て必須)
- Driver:Timer/GPIO/UART(全て必須)
差異は、これら3つのコンポーネントで吸収する形になっており、基本的にはアプリケーションがハードウェアを意識せずにプログラミングを行える環境が提供されることになっている。これらは全てsysの下にまとまっているが、ここには他にも移植に必要なライブラリ類が用意されている、という話であった(図14)。
図14 実はArduinoのSkectchを「RIOT-OS」下で動かすことも可能。他にも「mbed」のアプリケーションや「Contiki」自体をRIOT-OSの下のスレッドで動かすこともできるそうだ[クリックで拡大]
アップデートも随時行われている。原稿執筆時点での最新のリリースは2021.10となっており、不具合修正や新機能、新ハードウェアの対応などが活発に行われている。
もっとも、先に挙げた図4で言及されている通り、ビジネスモデルと直結していないというのがRIOT-OSの良い点であり、要するにビジネスの動向に影響を受けたりせずに開発を進められることはメリットになる。しかし、多分にこれと絡む話で、RIOT-OSのほとんどはLGPL v2.1のライセンスで提供されているが、これは非常にビジネス用途では使いにくい。
通常のRTOSがGPLやLGPLなどのライセンス形態で提供される場合、これとは別にビジネス向けに非GPL/LGPLのライセンスで提供される商用版を用意することは珍しくないが、RIOT-OSに関してはそれに当たるものが見つからない。このため、研究やパーソナルユースにはもってこいのOSなのだが、これを利用して商用システムを構築する場合は、GPL/LGPLへの対応をきちんと行う必要がある。このあたりは、大学の研究プロジェクトから生まれたOSならでは、という感じになっているが、まぁ致し方ないことなのだろう。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 連載記事「リアルタイムOS列伝」バックナンバー
- センサーノード向けに振り切りまくったRTOS「Contiki」が「Contiki-NG」へ進化
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第16回は、センサーノード向けにいろいろと振り切りまくったRTOS「Contiki」とその進化版「Contiki-NG」を紹介する。 - MCUに慣れていなくても使いやすい、サブシステム向けRTOS「Apache Mynewt」
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第15回は、ASF(ソフトウェア財団)のインキュベーションを受けて、Linuxを用いるような大規模システムのサブシステム向けに開発されたRTOS「Apache Mynewt」を紹介する。 - Android対抗の「Tizen」から派生した「TizenRT」はRTOSらしくないRTOS
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第14回は、Android対抗モバイルOSとして開発された「Tizen」から派生した「TizenRT」を紹介する。 - 良好なコンテキストスイッチでいろいろ遊べる、イタリア発のRTOS「ChibiOS/RT」
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第13回は、生い立ちがちょっと面白い、イタリア生まれのRTOS「ChibiOS/RT」を取り上げる。 - スマートメーターに特化したポーランド発RTOS「Phoenix-RTOS」の潔さ
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第12回は、ポーランド発のRTOS「Phoenix-RTOS」を取り上げる。スマートメーターに特化した、ある意味で潔さが光るものになっている。