From 746fe4aa8c521d8db323e767817d765bf4ef8101 Mon Sep 17 00:00:00 2001 From: syui Date: Sat, 5 Jul 2025 15:02:15 +0900 Subject: [PATCH] rm docs --- docs/ARCHITECTURE.md | 136 --------------------------------------- docs/QUICKSTART.md | 68 -------------------- docs/README.md | 147 ------------------------------------------- 3 files changed, 351 deletions(-) delete mode 100644 docs/ARCHITECTURE.md delete mode 100644 docs/QUICKSTART.md delete mode 100644 docs/README.md diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md deleted file mode 100644 index a9ab2c3..0000000 --- a/docs/ARCHITECTURE.md +++ /dev/null @@ -1,136 +0,0 @@ -# AIOS アーキテクチャ - -## 概要 - -AIOSは、Rustで実装されたマイクロカーネルアーキテクチャを採用しています。最終的にClaude Codeを実行可能にするため、モジュラー設計を重視しています。 - -## システム構成 - -``` -┌─────────────────────────────────────────┐ -│ ユーザーランド │ -│ ┌─────────────┐ ┌─────────────────────┐│ -│ │ Claude Code │ │ システムツール ││ -│ │ │ │ (ls, cat, etc.) ││ -│ └─────────────┘ └─────────────────────┘│ -├─────────────────────────────────────────┤ -│ システムコール │ -├─────────────────────────────────────────┤ -│ カーネル空間 │ -│ ┌─────────┐ ┌─────────┐ ┌─────────────┐│ -│ │ プロセス │ │ メモリ │ │ ファイル ││ -│ │ 管理 │ │ 管理 │ │ システム ││ -│ └─────────┘ └─────────┘ └─────────────┘│ -│ ┌─────────────────────────────────────┐│ -│ │ ハードウェア抽象化 ││ -│ │ VGA・シリアル・キーボード・etc ││ -│ └─────────────────────────────────────┘│ -├─────────────────────────────────────────┤ -│ ハードウェア │ -│ CPU・メモリ・ストレージ │ -└─────────────────────────────────────────┘ -``` - -## 主要コンポーネント - -### 1. カーネルコア (`src/main.rs`) -- システムの起動とメインループ -- パニックハンドラー -- テストフレームワーク統合 - -### 2. VGAドライバー (`src/vga_buffer.rs`) -- テキストモード画面制御 -- 色指定とフォーマット -- スクロール機能 - -### 3. シリアル通信 (`src/serial.rs`) -- UART 16550制御 -- デバッグ出力 -- QEMU連携 - -### 4. メモリ管理 (予定) -- 仮想メモリ管理 -- ヒープアロケーター -- ページテーブル管理 - -### 5. ファイルシステム (予定) -- VFS (Virtual File System) -- 基本的なファイル操作 -- ディレクトリ構造 - -### 6. プロセス管理 (予定) -- タスクスケジューリング -- プロセス作成・終了 -- IPC (Inter-Process Communication) - -## メモリレイアウト - -``` -仮想アドレス空間: -0x0000_0000_0000_0000 - ユーザー空間開始 -0x0000_7fff_ffff_ffff - ユーザー空間終了 -0x8000_0000_0000_0000 - カーネル空間開始 -0xffff_ffff_ffff_ffff - カーネル空間終了 - -物理メモリ: -0x0000_0000 - 0x0009_ffff : 実モード互換領域 -0x0010_0000 - 0x7fff_ffff : 利用可能RAM -0x8000_0000 - 0xffff_ffff : デバイスメモリ -``` - -## ブートプロセス - -1. **BIOS/UEFI** → ブートローダー読み込み -2. **ブートローダー** → カーネルロード -3. **カーネル初期化** → ハードウェア検出 -4. **ドライバー初期化** → VGA・シリアル・etc -5. **メモリ管理開始** → ヒープ・ページング -6. **ファイルシステム** → ルートマウント -7. **プロセス管理** → initプロセス開始 -8. **ユーザーランド** → Claude Code実行 - -## 設計原則 - -### 1. 安全性 -- Rustの所有権システム活用 -- バッファオーバーフローの防止 -- 型安全性の保証 - -### 2. パフォーマンス -- ゼロコスト抽象化 -- コンパイル時最適化 -- 最小限のランタイムオーバーヘッド - -### 3. 拡張性 -- モジュラー設計 -- プラグアーキテクチャ -- 標準インターフェース - -### 4. 移植性 -- ハードウェア抽象化レイヤー -- 設定可能なターゲット -- 条件付きコンパイル - -## 今後の拡張計画 - -### フェーズ1: 基盤システム -- [ ] 動的メモリ管理 -- [ ] 基本的なファイルシステム -- [ ] シンプルなプロセス管理 - -### フェーズ2: 高度な機能 -- [ ] ネットワークスタック -- [ ] デバイスドライバーフレームワーク -- [ ] システムコール拡張 - -### フェーズ3: Claude Code統合 -- [ ] Node.js/Rustランタイム -- [ ] パッケージマネージャー統合 -- [ ] 開発ツール群 - -## 参考アーキテクチャ - -- **xv6**: 教育用Unix系OS -- **Redox**: Rust製マイクロカーネルOS -- **seL4**: 形式検証されたマイクロカーネル -- **Plan 9**: 分散システム指向OS \ No newline at end of file diff --git a/docs/QUICKSTART.md b/docs/QUICKSTART.md deleted file mode 100644 index 31e1687..0000000 --- a/docs/QUICKSTART.md +++ /dev/null @@ -1,68 +0,0 @@ -# AIOS クイックスタート - -## 最短で試す方法 - -### 1. 必要なツールのインストール - -**Mac:** -```bash -brew install qemu -cargo install bootimage -``` - -**Arch Linux:** -```bash -pacman -S qemu-full -cargo install bootimage -``` - -### 2. プロジェクトのセットアップ - -```bash -# リポジトリのクローン -git clone -cd aios - -# 一発でビルド&実行 -cargo bootimage && qemu-system-x86_64 -drive format=raw,file=target/x86_64-unknown-none/debug/bootimage-kernel.bin -serial stdio -``` - -### 3. 動作確認 - -正常に動作している場合、以下のような出力が表示されます: - -``` -Hello World! -Welcome to AIOS - A simple OS written in Rust -``` - -QEMUを終了するには `Ctrl+A` を押してから `X` を押してください。 - -## 開発ワークフロー - -### コードの変更 -```bash -# コード変更後 -cargo build - -# 新しいブートイメージの作成 -cargo bootimage - -# 実行 -qemu-system-x86_64 -drive format=raw,file=target/x86_64-unknown-none/debug/bootimage-kernel.bin -serial stdio -``` - -### デバッグ -```bash -# シリアル出力のみ表示 -qemu-system-x86_64 -drive format=raw,file=target/x86_64-unknown-none/debug/bootimage-kernel.bin -serial stdio -nographic - -# メモリ使用量を制限 -qemu-system-x86_64 -drive format=raw,file=target/x86_64-unknown-none/debug/bootimage-kernel.bin -serial stdio -m 128M -``` - -## 次のステップ - -1. `src/main.rs`の`println!`文を変更して、独自のメッセージを表示 -2. `src/vga_buffer.rs`で色を変更 -3. 新しいモジュールを追加して機能を拡張 \ No newline at end of file diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index fc0b7ef..0000000 --- a/docs/README.md +++ /dev/null @@ -1,147 +0,0 @@ -# AIOS - A Rust-based Operating System - -AIOSは、Rustで一から作られたUnix系オペレーティングシステムです。最終的にClaude Codeを実行可能にすることを目標としています。 - -## 特徴 - -- **Pure Rust**: カーネルからユーザーランドまで、全てRustで実装 -- **ベアメタル**: 標準ライブラリを使用せず、ハードウェアを直接制御 -- **VGAテキストモード**: コンソール出力をサポート -- **シリアル通信**: デバッグとQEMU連携用 -- **モジュラー設計**: 拡張可能なアーキテクチャ - -## 必要な環境 - -### Mac (開発環境) -```bash -# Rust nightlyツールチェイン -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -rustup toolchain install nightly -rustup default nightly -rustup component add rust-src llvm-tools-preview -rustup target add x86_64-unknown-none - -# QEMUエミュレーター -brew install qemu - -# bootimageツール -cargo install bootimage -``` - -### Arch Linux (本格運用環境) -```bash -# 基本パッケージ -pacman -Syuu --noconfirm base-devel archiso docker git nodejs bc - -# Rustツールチェイン -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -rustup toolchain install nightly -rustup component add rust-src llvm-tools-preview -rustup target add x86_64-unknown-none - -# QEMUとbootimageツール -pacman -S qemu-full -cargo install bootimage -``` - -## ビルドと実行 - -### 1. プロジェクトのクローン -```bash -git clone -cd aios -``` - -### 2. ビルド -```bash -cargo build -``` - -### 3. ブートイメージの作成 -```bash -cargo bootimage -``` - -### 4. QEMUでの実行 -```bash -qemu-system-x86_64 -drive format=raw,file=target/x86_64-unknown-none/debug/bootimage-kernel.bin -serial stdio -``` - -## プロジェクト構造 - -``` -aios/ -├── src/ -│ ├── main.rs # カーネルエントリーポイント -│ ├── vga_buffer.rs # VGAテキストモードドライバー -│ └── serial.rs # シリアルポート通信 -├── .cargo/ -│ └── config.toml # Cargo設定 -├── Cargo.toml # プロジェクト設定 -├── rust-toolchain.toml # Rustツールチェイン設定 -└── docs/ - └── README.md # このドキュメント -``` - -## 開発状況 - -### 完了済み -- [x] プロジェクト構造の設計と初期化 -- [x] ベアメタル環境でのRustセットアップ -- [x] ブートローダーの実装 -- [x] VGAテキストモードドライバーの実装 -- [x] Hello World出力の実装 -- [x] QEMUでの動作確認 - -### 進行中 -- [ ] メモリ管理システムの実装 -- [ ] ファイルシステムの実装 -- [ ] プロセス管理システムの実装 -- [ ] Claude Code実行環境の構築 - -## 目標 - -1. **Claude Codeを実行できるようにすること** - - Node.js/Rustランタイムの統合 - - ファイルシステムとプロセス管理 - - ネットワーク通信機能 - -2. **Package managerにpacmanを採用すること** - - Arch Linuxとの互換性 - - パッケージビルドとサーバーの運用負荷軽減 - -## 参考資料 - -- [o8vm/octox](https://github.com/o8vm/octox) - xv6-riscvにインスパイアされたRust OS -- [The Rust Programming Language](https://doc.rust-lang.org/book/) -- [Writing an OS in Rust](https://os.phil-opp.com/) - -## トラブルシューティング - -### ビルドエラー -```bash -# 依存関係の更新 -cargo update - -# クリーンビルド -cargo clean -cargo build -``` - -### QEMUでの問題 -```bash -# シリアル出力の確認 -qemu-system-x86_64 -drive format=raw,file=target/x86_64-unknown-none/debug/bootimage-kernel.bin -serial stdio -nographic -``` - -## 貢献 - -このプロジェクトは教育目的で作成されていますが、貢献は歓迎します。Pull Requestを送る前に、以下を確認してください: - -1. コードがRustのベストプラクティスに従っている -2. 適切なテストが含まれている -3. ドキュメントが更新されている - -## ライセンス - -このプロジェクトは MIT License の下で公開されています。 \ No newline at end of file