本研究では、オペレーティングシステムをJava仮想計算機上に動作させることによって、ハードウェアのもっとも大きな差異であったCPUアーキテクチャに依存しないオペレーティングシステムを誕生させることを最終の目的としており、本研究はその中でも最下層に位置するマイクロカーネル機能をJava仮想計算機上に実現することを目的としている。 平成10年度は、Java仮想計算機を単独のソフトウェアとしてハードウェア上で直接動作するように変更を行い、従来までのBIOSにあたる部分をJava仮想計算機で置き換え、その上でのマイクロカーネルが下位のCPUアーキテクチャに依存せずに作成できる基盤部分を完成させた。 平成11年度は、このJava仮想計算機上にマイクロカーネルおよびアプリケーションを動作させるための計算モデルの設計を行い、その検討を行った。また、簡単なファイルシステムを作成し、マイクロカーネルとしての機能が十分であるかの検証を行った。 さらに、このJava仮想計算機上にTCP/IPのプロトコルスタックの実装を行い評価した。TCP/IPのプロトコルスタックとしてはmbufを使ったBSDや、X kernelによる手法などがあるが、ここではJavaに適したプロトコルスタックの実装を行った。Javaにはポインタが存在せず、そのためにデータ構造の途中を直接指し示すことができない、またデータの型を別の型に変換するキャストについても安全性の点から制限されている。そこで、Javaに適したバッファ構造を用意し、複数のスレッドがモニタにより通信する形でプロトコルスタックの実現を行った。Javaで実装すると遅くなることが心配させるが、測定したところ、予想以上に効率がよいことがわかった。
|