C/C++いっさいなし、Javaだけで開発されたOS - JNode

JNode.orgは1日(ドイツ時間)、JNodeの最新版となるJNode 0.2.3を公開した。JNode 0.2.3はJavaで開発されたOS。C言語をまったく使っておらず、ほとんどがJavaで実装されている。ごく少数のアセンブラだけが含まれている。

JNode 起動

JNode CUI 動作例

JNode 0.2.3はGNU LESSER GENERAL PUBLIC LICENSE Version 2.1のもとで公開されているオープンソースソフトウェア。公開されている成果物は次のとおり。

  • gzip圧縮されたLiveCDイメージファイル
  • すべてのソースコード

JNode 0.2.3では、特にGUIに関する改善がおこなわれており、フォントレンダリングなどは特に優れた改善が施されている。GUIが動作する環境であればGUI環境まで起動し、ゲームなどを実行することもできる。

JNodeはもともとJavaでOSの開発ができることを示すシステムとして開発が始められたもの。すべてプラグインとして動作する仕組みになっており、初期構想は1995年には取り組まれている。現在ではFAT、Ext2、NTFS、FTPFS、ISO9600FSなど複数のファイルシステムのサポート、代表的なPCデバイスのサポート、GUIシステムのサポートといったところまで実装が進められている。デバイスはドライバを通じて操作され、ドライバもまたJavaのクラスとして実装されている。

JNodeのアーキテクチャは、ハードウェアに対してごく少量のアセンブラによって作成されたナノカーネルがあり、その上でJava仮想マシンが動作し、その上にOSサブシステムが展開されるというもの。Java仮想マシン自体もJavaで開発されている。

GUIシェルはUNIXライクな作りになっており、よく似た操作で使うことができる。Javaをベースにして作成されているため、プロセスの代わりにスレッドが用いられていること、コマンドはクラスへのエイリアスになっていること、エラー出力の代わりに例外が出力されるなど、Javaの特徴をそのまま活かした仕組みになっている。

すべてJavaを使ってメモリシステム、ファイルシステム、デバイスドライバ、GUIシステムが構成された点は興味深い。OSの学習をするには、C/C++言語が必須という状況だが、JNodeを活用すればJavaが読めればOSの学習の手助けにもなる。プログラミング言語としてJavaを学ぶことが増えている現在、JNodeは興味深いOSの資料になっているともいえるだろう。



人気記事

一覧

イチオシ記事

新着記事