Monaは、新しいオペレーティングシステムです。
このプロジェクトでは、OSを1から設計・作成し近い将来多くの人に使われるようになる事を目指します。
新しい技術に基づいてマイクロカーネルのOSを作成していきます。
Mona 0.3.0alpha6をリリースしました。
大きな変更点は以下の通りです。
(1)ソースツリーが分割されMonaNew/contrib_0.3に分割されました
ソースツリーが分割され以下のような役割・方針で今後進む予定です。
MonaNew・・・カーネル・コアライブラリなどMonaにおいて、ほぼ必須なモジュールのソースツリー。基本的にひげぽんが主担当となりメンテナンスを行う。
contrib_0.3・・・他の開発者の方々から提供いただいたアプリ・ライブラリ・サーバなどはこちらでソースを管理します。
Monaのリリースにおいては基本的にMonaNewを使用した最低限のリリースをひげぽんが行います。
ディストリビュータは、MonaNew + contrib_0.3から取捨選択し、ISOイメージのリリースを行う形となります。
(今回のα6リリースは、ひげぽんがディストリビュータをかねています。)
(2)グラフィックスライブラリMesaが移植されました
polさんとななしさんにより、Mesaが移植されました。
関連ファイルは以下の通りです。
contrib_0.3/Graphics/Mesa
contrib_0.3/Graphics/Mesa-gears
contrib_0.3/Devel/tmpmonalibc
ISOイメージを起動して gears と入力することで実行の確認ができます。
(3)ネットワーク対応(ICMP、UDP)
Yamamiさんが mones としてMonaのネットワーク対応を継続して行ってくださっていますが、その成果物を参考にして mones2 の実装を進めました。
関連ファイルは contrib_0.3/Net/mones2に収録されています。
その結果、以下のことがQEMU上で実現されています。
- ping への応答(※1)
- UDPによるメッセージの受信(※1)
ISOイメージを起動して
mones2 192.168.100.2 255.255.255.0 192.168.100.1
のように、IPアドレス、サブネットアドレス、デフォルトゲートウェイを引数に mones2 を起動します。
その後、Windows側などから ping や UDP 送信を行うと QEMU上のMonaが反応します。(※2)
※1 どちらもYamamiさんの mones ですでに実装されています。
※2 QEMUのネットワーク設定はhttp://f38.aaa.livedoor.jp/~yamami/pukiwiki/pukiwiki.php?%5B%5BMona%C0%BD%BA%EE%BD%EA%2F%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF%C2%D0%B1%FE%2FMones%C0%DF%C4%EA%CA%FD%CB%A1%5D%5Dをご参照ください。
ダウンロードはこちらから
http://sourceforge.jp/projects/mona/files/?release_id=17933#17933
mona-0.3.0alpha6-iso-bootable.zip・・・Monaのブート可能CD ISOイメージです。
mona-0.3.0alpha6-qemu-20050121-tap-windows.zip・・・MonaのCDブートをQEMUで簡単に実行できるパックです。TAP対応版ですので設定をすればネットワーク機能も使用可能です。
mona-0.3.0alpha6.tar.gz・・・MonaNew/contrib_0.3が収録されています。
なお本リリースでは、polさん、ななしさん、Yamamiさんの成果物が取り込まれています。
また数多くの方々にアドバイスをいただきました。
この場を借りてお礼を申し上げます