純Java製OS JNode

前にも紹介した、純Java製OS、JNode(http://www.jnode.org/)の新しいリリースがあったらしい。


というわけで、ひさしぶりにいろいろと調べたり、遊んだりしてみた。


で、コード見てみると、Cのコードはまったくなく、あるのは膨大なJavaのコードと少数のアセンブラだけ。
こ、これはすごい。


ここで、ちょっと知識のある人なら、「おい、それでどうやってブートするんだよ」と思うことだろうと思う。
というか、自分がそう思った。
で、コードをごにょごにょと調べてみた。


すると、どうやら

#GCJは使ってないみたいだし



となってるみたい。どちらかは、まだそんなによくコードを読んでないのでわからないけど、どっちかであると思われる。
アセンブラ(アセンブルするプログラムの方ね)らしきものがJavaで書かれてるんだけど、気合入りすぎ。


ちなみに、公開されているイメージをCDに焼いて実際に動かしてみたら、CUIまではちゃんと動いたのだが、GUIはうまく動かなかった。多分、自分のビデオカードかグラフィックボードがJNodeではまだ非対応だったのだろう。
あと、ビルドもやってみた。WindowsXP+Cygwin+Eclipse+nasm+yasm+mkisofsでCDイメージまで作れるっぽい。
#自分はmkisofsが無かったのでイメージを作る手前でビルドが不正終了したけど・・・・


これから、もうちょっとちゃんとコード読んでみる。


#追記1
ネイティブコードを吐き出すコンパイラも自前で持っている様子。

#追記2
IRとかいう中間言語を生成して、Javaバイトコードから最適化されたネイティブコードを生成したりするらし。これだけで、論文になりそうな気ガス。