大学生まれのフル機能RTOS「RIOT-OS」は良くも悪くもビジネスと直結しないリアルタイムOS列伝(17)(3/3 ページ)

» 2021年11月29日 10時00分 公開
[大原雄介MONOist]
前のページへ 1|2|3       

LGPL v2.1ライセンスで提供も商用版は存在せず

 先にもちょっと書いたが、RIOT-OSは無駄にリソースを消費しないために、いわゆるHAL(Hardware Abstraction Layer)に当たるものは存在しない。このため、基本移植はソースの書き換えになるが、そうした移植は非常に容易としている(図13)。もう少し正確に言えば、高レベルの概念でHALに近いものは存在する。

図13 図13 「移植は数時間〜数日で可能」。まぁ一般論としてはそうだろう[クリックで拡大]

 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 図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ならでは、という感じになっているが、まぁ致し方ないことなのだろう。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.