Monaは、新しいオペレーティングシステムです。
このプロジェクトでは、OSを1から設計・作成し近い将来多くの人に使われるようになる事を目指します。
新しい技術に基づいてマイクロカーネルのOSを作成していきます。
・FAT12ブート
ブートストラップがFAT12ファイルシステムよりKERNEL.IMGを
読み込んでカーネルがスタートします。
・FAT12のファイル読み書き
ファイルシステムとしてFAT12を試験的に採用しました。
ファイルの作成・読み書きが可能です。
※今回の配布されているカーネルイメージにはFAT12のデモは採用されていません。
・カーネルスレッドの廃止
以前使用していたカーネルスレッドの廃止をしました。
・プロセスの導入
プロセスという概念を導入しました。
プロセスはクラスProcessとして実装されています。
プロセスの管理はクラスProcessMangerが行います。
pid, スタックの割り当てなど。
ProcessManagerはスケジュール機能をクラスSchedulerに委譲します。
・カーネルモード・ユーザーモードのプロセスの導入
DPL 0/3 の両モードのプロセスの動作を行えるようになりました。
・メモリ周り
システムトータルメモリの取得・現在の使用量取得API
・ロギング
info関数を追加 log4jのようにレベルに応じたメッセージ出力が可能になり。
カーネルのデバッグ効率が上がりました。