さて、このMenuetOSから2004年にフォークする形で生まれたのがKolibriOSである。2004年なのでまだ64ビット移行前であり、どうもMenuet OS Version 0.74あたりをベースにフォークした模様だ。こちらも実際に動いている環境の動画があるが、細かい違いはあるにしても基本MenuetOSとほぼ変わらない感じになっている。
ではKolibriOSは、MenuetOSと何が違うのだろうか。
以上のように、既存のWindows/Linuxとの共存が容易になっている点がMenuetOSとの違いと言えるだろう。ただし、OSの構造そのものは32ビットのMenuetOSと同じである。やはりAPI呼び出しはSystem Callを利用しての形になるし、Monolithic Kernel、Pre-emptive Kernelで、Multi-Taskをサポートする構造だ。またFASMで記述されているのも変わらない。
このKolibrisOSに関しては、2011年に“Kolibri-A: a lightweight 32-bit OS for AMD platforms”という論文が出ているのだが、これはKolibriOSをAMDプラットフォーム向けにカスタマイズしたというものだ。もともとはx86ベースのマシンにCMOSイメージセンサーを接続し、これで取り込んだ映像をリアルタイムで表示しながら分析するという処理を行おうとしたが、従来のOSのままだと遅すぎて間に合わないということでKolibrisOSを使った、という話である。
そこで、画像表示の速度をWindows XPと比較した結果が図3である。ちなみにOSのサイズは73KBに収まったそうで、OSが丸ごとCPUのキャッシュに収まるレベルである。
ただし、ハードウェアのサポートが乏しい(Pentium互換のプラットフォームを前提としており、より高速に動かすためのドライバがない)ことと、BIOSサービスが遅いのがボトルネックになる、としていた。そこでKolibrisOSに手を入れて、PCI Express周りやグラフィックスのアクセスを高速化(図4)することで、Kernel Codeを10KB程度にまで削減しつつ、1割以上の高速化を実現した、という話になっている。
恐らくだが、Intelがかつて展開していた「Galileo」「Edison」や、「Curie」をベースにしたArduino 101をさっさと放り投げずにちゃんと販売を続けていれば、KolibrisOSは最適なOSだった気がしてならない。メモリフットプリントも小さいし、組み込みに最適だっただろう。FASMでプログラムを記述するのはちょっと障害だったかもしれないが、別にC/C++でもSystem CallベースでAPIを呼ぶだけだから、IDE側が少し頑張れば何とかなる範囲だったと思う。
この連載で取り上げるOSとしては珍しく、MenuetOSとKolibriOSはともにアクティブにアップデートされている。原稿執筆時点での最新リリースはMenuetOSが2024年3月、KolibriOSは2024年4月である。組み込みというにはちょっと変な扱いではある(特にKolibriOSの方はGPLv2なので商用製品には使いにくい感はある。MenuetOSはCommercial Licenseが用意されている)が、レスポンスの良いHMIを安価に構成しようと思った場合は、案外に使えるかもしれない。
また、最近で言えば、IntelのN100を搭載するシングルボードコンピュータとして話題になっているLattePanda MuをベースにHMIを構築するのであれば、MenuetOS/KolibriOSはなかなかに手ごろなOSになるのではないだろうか。
Copyright © ITmedia, Inc. All Rights Reserved.