プロジェクトマップ/Mona


Top / プロジェクトマップ / Mona

このページ

概要

ディレクトリ構成

core、include、share、tool の4つのディレクトリで構成されます。

core

カーネル・ドライバ・ライブラリなどプログラムソースの本体。

mona.png
elf_serverサーバー。ELF形式(Linuxなどで一般的)のバイナリを起動し実行する。
file_serverサーバー。ファイルの読み出しや書き出しを担当する。
firstbootブートプログラム1。ブートセクタに位置しPCが起動されると最初に実行されるプログラム。
ブートセクタに使えるプログラムは非常に小さいのでとりあえずこれで起動だけしておきsecondbootを呼び出したらそちらに制御を渡す。
IL2Asm16補助ツール。secondbootは処理が複雑でアセンブラで記述すると苦しいためC#で書かれています。そのC#で書かれビルドされたプログラム(の中間言語)をアセンブラに直す処理を行っています。
secondboot.cs
kernelカーネル本体。
sysリスト、ハッシュ、動的配列など一般的なデータ構造の定義と実装。それとカーネルで使われる型。
keyboard_serverサーバー。キーボードの信号の読みとり、配信を担当する。
monalibcライブラリ。strcpyなどの一般型ANSI/C++ライブラリ。フルANSI/C++が実装されているわけではなく使用頻度の高い物だけが作られている。
Manual/monalibc
monapiライブラリ。MonaOSの機能にアクセスするためのAPI。
MonAPI
monapi2ライブラリ。ANSI/C++スタイルに固執せず新しく書き下ろしたライブラリセット。
Basicリスト、ハッシュ、動的配列、数学、時間、探索、文字列、文字コード変換などの様々な汎用なデータ型を扱うためのライブラリセットから、ファイルやディレクトリ操作などのOSアクセス機能も含む広い範囲をカバーしている。
Multimediaビットマップ操作、色操作、点、四辺形、サイズなどグラフィックや空間を扱う為のライブラリセット。
OS.ini形式の設定ファイルの読み込みなどアプリケーションレベルでのライブラリセット。
monitor_serverサーバー。他のサーバーが正常に動いているか、死んでいないかなどを見張る役目。(CRTや液晶とかの意味のモニターではない・・)
mouse_serverサーバー。マウスの信号の読みとり、配信を担当する。
pe_serverサーバー。PE形式(Windowsで一般的)のバイナリを起動し実行する。
PEAnalyzerLib補助ツール。IL2Asm16がC#プログラムをアセンブラに変換する途中で使われている。
secondboot.cs
process_serverサーバー。動いている全プロセスの管理を担当。
secondbootブートプログラム2。firstbootによって呼び出される。これがカーネルイメージやドライバなどを読み込みMonaのカーネルがスタートする。
secondboot.cs
shell_serverプロンプト。ユーザーが最初に制御を渡されるコマンドラインユーザーインターフェース。

include

ヘッダファイルなど

share

ソースをコンパイルする為の環境設定

configs実際のコンパイル設定ファイルが詰まっている。

tool

coreをビルドしてできたバイナリデータなどを加工し最終.isoイメージなどを作るためのツール。

bim2binOSASK標準のファイル圧縮形式を作成するためのツール。
fat_writeフロッピーブートイメージを作り出すためのツール。
mkimgCDブートイメージmona.imgを作るためのスクリプト。
t5lzmaLZMAという圧縮形式をtek5に対応させたもの

その他

configureファイルコンパイルの前にコンパイラーの種類やユーザー環境に合わせコンパイラを設定するための自動スクリプト。
COPYRIGHTファイル著作権・ライセンス・使用条件表示
Makefilegccなどのコンパイラーで使うプロジェクトのコンパイル方法を記述する設定ファイル。

MENU

now: 2

リンク


最新の20件
2018-09-03 2018-05-09 2017-09-29 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-06-05 2016-05-29 2016-04-15 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 8534, today: 6, yesterday: 1

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-03-28 (金) 15:48:02 (3829d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.033 sec.