FuzzyOS
1.0.0
32ビットX86コンソールまたはグラフィカルなユーザーアプリケーションを実行できるマルチプロセッシングOS。
https://github.com/scopeinfinity/fuzzyos/releasesですべてのリリースをご覧ください
ブートイメージは、対応するリリースのAssetsの下にあります。
スクリーンショットは、アクション/CIで完了した実行中のArtifactsとして配置できます。
| ブートローダー | カーネルターンアップ |
|---|---|
![]() | ![]() |
| シンプルなシェル | 猫 |
|---|---|
![]() | ![]() |
| フォーク() | Tictactoeゲーム |
|---|---|
![]() | ![]() |
| ピンポンゲーム | ロゴプログラミング |
|---|---|
![]() | ![]() |
| デスクトップ |
|---|
![]() |
make imagesを使用して画像を直接構築します。 FuzzyOS.vdiをストレージとしてVMを作成します。 FuzzyOS.vmdkをストレージとしてVMを作成します。 ddまたはscripts/burn.shを使用して、画像をディスクに燃やします(潜在的に破壊的)。bash scripts/burn.sh build/FuzzyOS.raw /path/to/devicefile| 特徴 | 存在します |
|---|---|
| ブート:レガシーBIOS | ✔✔️ |
| ブート:uefi | |
| ディスク分割スタイル:MBR | ✔✔️ |
| ディスク分割スタイル:GPT | |
| エクスポートされたディスク画像:VMDK | ✔✔️ |
| エクスポートされたディスク画像:VDI | ✔✔️ |
| エクスポートされたディスク画像:RAW | ✔✔️ |
| kernel <->アプリとアプリ<->アプリの分離 | ✔✔️ |
| Opearating-Mode:REAL MODE(Boot-Roader + RealMode-Library) | ✔✔️ |
| Opearating-Mode:保護モード(カーネル +ユーザーアプリケーション) | ✔✔️ |
| ドライバー:ディスクIO | ✔✔️ |
| ドライバー:写真 | ✔✔️ |
| ドライバー:ピット | ✔✔️ |
| ドライバー:キーボード | ✔✔️ |
| ファイルシステム:FFS(社内)(読み取り専用) | ✔✔️ |
| 割り込みハンドラー | ✔✔️ |
| syscall:テキストコンソールio | ✔✔️ |
| syscall:グラフィックス | ✔✔️ |
| syscall:キーボード | ✔✔️ |
| syscall:ファイルハンドラー | ✔✔️ |
| Process-scheduler:ラウンドロビン | ✔✔️ |
| ファイルシステム:FFS(カスタム)(読み取り専用) | ✔✔️ |
| 表示:テキストモード | ✔✔️ |
| ディスプレイ:Graphics-VGA 320x200 256色 | ✔✔️ |
| 並行性:マルチプロセッシング | ✔✔️ |
| 並行性:マルチスレッド | |
| 並列性 | |
| 範囲内のセキュリティ | |
| ネットワーキング | |
| アプリビルド:サポートc | ✔✔️ |
| App-Build:C ++をサポートします | ✔✔️ |
| App-Build:C/C ++標準ライブラリ(必要に応じて) | ✔✔️ |
| App-Runtime:ヒープメモリの割り当て | ✔✔️ |
| アプリケーション:計算機 | ✔✔️ |
| アプリケーション:猫 | ✔✔️ |
| アプリケーション:デスクトップ | ✔✔️ |
| アプリケーション:エコー | ✔✔️ |
| アプリケーション:Forkbomb | ✔✔️ |
| アプリケーション:ロゴ | ✔✔️ |
| アプリケーション:LS | ✔✔️ |
| アプリケーション:Ping-Pong | ✔✔️ |
| アプリケーション:sh(ターミナル) | ✔✔️ |
| アプリケーション:simplecpp(例) | ✔✔️ |
| アプリケーション:詳細 | ✔✔️ |
| アプリケーション:マルチプロセッシング(例) | ✔✔️ |
| アプリケーション:Tictactoe | ✔✔️ |
アプリケーション: Your's? Yes, raise a PR | ✔✔️ |
bash before_install.sh
make clean
make qemu
Makeを使用して、バイナリと画像ファイルを構築します。
make
現時点では、テストは、関心のある時点での実行を停止するソースコードに事前定義されたASMを注入することにより動作します。その後、テストはQEMUモニターを使用して、予想される状態で現在の状態を検証できます。
make test
デバッグモードでQEMUを実行し、GDBサーバーをセットアップします。
make qemu_debug
次に、GDBサーバーに接続します。
make qemu_debug_connect
貢献。md