FDDからブートできる「MenuetOS」とCPUキャッシュにOSが載る「KolibriOS」リアルタイムOS列伝(46)(3/3 ページ)

» 2024年05月07日 07時00分 公開
[大原雄介MONOist]
前のページへ 1|2|3       

「KolibriOS」はIntelの「Galileo」が存命なら最適だった?

 さて、このMenuetOSから2004年にフォークする形で生まれたのがKolibriOSである。2004年なのでまだ64ビット移行前であり、どうもMenuet OS Version 0.74あたりをベースにフォークした模様だ。こちらも実際に動いている環境の動画があるが、細かい違いはあるにしても基本MenuetOSとほぼ変わらない感じになっている。

「KolibriOS」の紹介映像。ロシア語なので字幕の表示を推奨[クリックで再生] 出所:Daniel Myslivets

 ではKolibriOSは、MenuetOSと何が違うのだろうか。

  • 32ビットのみのサポート。Pentium互換のCPUであれば動作するとされる。逆に言えば、今後FRED対応のCPUが出てくると、動作しなくなる可能性がある
  • サポートするハードウェアなどはMenuetOSと大きくは変わらない。ただし、例えばIntelのi915やAMDのRadeonのように、統合グラフィックス用のドライバも搭載されるなど、多少方針が変わっている
  • ライセンスは当初の32ビットのMenuetOSと同様、引き続きGPLv2の形で提供される
  • より広範なファイルシステム(FAT32の読み書きや、NTFS、exFAT、ISO9660、Ext 2/3/4の読み込み)をサポート
図2 図2 「KolibriOS」のWebサイト[クリックでWebサイトへ移動]

 以上のように、既存の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のキャッシュに収まるレベルである。

図3 図3 ターゲットはAthlonII×3(3GHz駆動)にAMDのRS780チップセット搭載マザーボードを利用したものだそうだ 出所:Kolibri-A: a lightweight 32-bit OS for AMD platforms

 ただし、ハードウェアのサポートが乏しい(Pentium互換のプラットフォームを前提としており、より高速に動かすためのドライバがない)ことと、BIOSサービスが遅いのがボトルネックになる、としていた。そこでKolibrisOSに手を入れて、PCI Express周りやグラフィックスのアクセスを高速化(図4)することで、Kernel Codeを10KB程度にまで削減しつつ、1割以上の高速化を実現した、という話になっている。

図4 図4 そもそもVBEのサポートというのは、CPUで全部描画処理を行うという意味であり、GPUのサービスを使うことで飛躍的に高速化される。またI/OアクセスもポートI/OからMMIOのサポートを追加するなどにより、高性能化が実現したというわけだ 出所:Kolibri-A: a lightweight 32-bit OS for AMD platforms

 恐らくだが、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になるのではないだろうか。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.