今は亡きセンサーネットワーク向けRTOS「Nano-RK」はカーネルを持たない:リアルタイムOS列伝(37)(3/3 ページ)
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第37回は、現在は入手がほぼ不可能になってしまった「Nano-RK」を取り上げる。
電池寿命を確保する仕組み
もう1つ特徴を挙げるとすれば、Reservation機能であろう(図6)。これは要するにCPU/ネットワーク/センサーに対して、利用できるエネルギー量(要するに電池寿命から逆算した実行可能時間)を割り当てる形で電池寿命を確保するという仕組みだ。
図6 送信がめちゃくちゃ多いNode Bの電池寿命はわずか3.5日だが、それにつながるdとかeは受信頻度をReservationに基づいて制限することで、電池寿命を延ばすことができる[クリックで拡大] 出所:CMU
もちろんそのバーターというか、制限はいろいろとある(図7)。いわゆるカーネルに相当するものはなく、Abstractionsで提供されるSchedulerで制御しているので、安全性は非常に低いというか、お行儀のよいアプリケーションしか動かせないし、MMUすらない(何しろAVR8だ)から、うっかりメモリを使い切って暴走などの危険性もある(その場合はソフトウェアベースのWatchdogのおかげで自動リセットで元に戻るから、ある意味安全ではあるが)。
図7 先に「マルチタスク対応Abstractions」と書いたのは、そもそもカーネルに当たるものが存在しないからだ。強いて言えば、Nano-RK全体がカーネルというべきだろうか[クリックで拡大] 出所:CMU
シングルタスクのRTOSよりオーバーヘッドが大きいのは当然で、その代わりネットワーク処理などを別タスクに分離しやすいので、それだけプログラミングが容易になることを考えれば許容範囲だと思う。しかし、保護機能が一切ないのは商用向けとしては致命的で、あくまで研究プロジェクト用のRTOSだから許容されている面はあると思う。
Nano-RKはオープンソースとしてソースコードがDual Licensing Modelで提供されており(このDual License、Trolltechが提供していた「Qt」のライセンスにならった、というあたりがいろいろ突っ込みを入れたいところではあるが)、2011年位までは活発に活動があった。FireFlyプロジェクトの論文ページは2007年までで終わっているが、2008〜2011年にもNano-RKそのものやNano-RKを利用した論文が出ているし、2020年には“Applications of Nano-RK in Internet of Things (IoT)”という論文が上がっている。
ただし、FireFlyプロジェクトそのものが2007年あたりで一段落したようで(FireFlyプロジェクトそのものを、先述したxLabが現在メンテナンスしているもよう)、そうなるとNano-RKも必然的にフェーズアウトしてゆく運命にあるのは致し方ない。こんなWebサイトが存在する程度にはNano-RKの知名度が高かったことを考えるとちょっと残念ではあるのだが。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 連載記事「リアルタイムOS列伝」バックナンバー
- 今やBlackBerryの主力事業に、下克上を果たしたRTOS「QNX Neutrino」
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第36回は、1980年代からの長い歴史を持つ「QNX Neutrino」を取り上げる。 - 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」を紹介する。 - 「ThreadX/Azure RTOS」の悔恨から生まれた「PX5 RTOS」はできたてほやほや
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第32回は、2023年1月にリリースされたばかりのRTOS「PX5 RTOS」を紹介する。