ミノタウロス
プロジェクトの紹介
Minotaurosは、Rust言語で書かれたRISC-Vアーキテクチャに基づくオペレーティングシステムです。目標は、プロセススケジューリング、ファイルシステム、ネットワーク、その他の機能をサポートするLinux互換のマルチコアオペレーティングシステムを実装することです。
環境建設
- 錆:ナイトリー-2024-02-03
- QEMU:7.0.0-9.0.0
- RISC-Vツールチェーン:RISCV64-UNKNOUNT-LINUX-GNU
- ディスクファイル
disk.imgとブートローダーファイルrustsbi-qemu.bin prebuiltsディレクトリに配置
コンパイルして実行します
- 環境の準備:
make env - ユーザーステートバイナリをコンパイル:
make user - カーネル状態バイナリをコンパイル:
make kernel - すべてコンパイル:
make all - エミュレータを実行:
cargo task run - ドキュメントを編集する:
typst compile docs/main.typ
ディレクトリスキーマ
- カーネル/SRC:カーネルコード
- アーチ:アーキテクチャ関連コード
- Builtin:ユーザープログラムを統合します
- デバッグ:デバッグおよびログモジュール
- ドライバー:デバイスドライバー
- FS:ファイルシステム
- MM:メモリ管理
- ネット:ネットワークモジュール
- プロセス:プロセス管理
- プロセッサ:マルチコア管理
- スケジュール:スケジューリングとクロックモジュール
- 信号:信号処理モジュール
- 同期:ロックおよび同期メカニズム
- syscall:システムコール処理機能
- トラップ:割り込みと例外処理
- Main.RS:メインプログラム
- ユーザー:ユーザープログラム
- 事前に構成されています:事前コンパイルされたファイル
- タスク:タスクをコンパイルします
- ドキュメント:プロジェクトのドキュメント