Nimで実装された趣味OS Fusion
(github.com/khaledh)Fusion OS
Fusionは、Nimで実装されたx86-64向けの趣味OS。開発過程は https://0xc0ffee.netlify.app で文書化されている。
スクリーンショット
- UEFIブートローダー
- GUI ( 注: このスクリーンショットは、まだ作業中の
graphicsブランチから取得されたもの。) - Fusionカーネルのブート
機能
現在実装されている機能:
- UEFIブートローダー
- 物理メモリマネージャー
- 仮想メモリマネージャー
- 単一アドレス空間
- ユーザーモード
- プリエンプティブマルチタスキング
- システムコール
- ELFローダー
- タイマー割り込み
計画されている機能:
- デマンドページング
- プロセス間通信
- ディスクI/O
- ファイルシステム
- キーボード/マウス入力
- シェル
- GUI
- ネットワーキング
ビルド
Fusionをビルドするには、以下の依存関係をインストールする必要がある:
- Nim
- LLVM (clang と lld)
- Just
次のコマンドでFusionをビルド:
just build
実行
Fusionは現在QEMU上で動作するため、まずQEMUをインストールする必要がある。次のコマンドでFusionを実行:
just run
ライセンス
MIT
GN⁺のまとめ
Fusion OSは、Nimで実装されたx86-64向けの趣味OSで、OS開発の過程を学びたい人に有用。現在はUEFIブートローダー、物理および仮想メモリマネージャー、ユーザーモードなどの基本機能が実装されている。今後はデマンドページング、プロセス間通信、ファイルシステムなど、さまざまな機能が追加される予定。QEMUで簡単にテストできるため、開発や学習に適している。類似プロジェクトとしては xv6 や OSDev などがある。
1件のコメント
Hacker Newsの意見