HN公開: DOOMを実行する自作OSカーネルの開発
(github.com/UnmappedStack)- TacOSはCとアセンブリ言語で書かれた独自カーネルを持つUNIXライクなオペレーティングシステム
- DOOMを含むさまざまなユーザー空間プログラムを実行できる機能を備える
- VFS、スケジューラ、TempFS、デバイス、コンテキストスイッチ、仮想メモリ管理、物理ページフレーム割り当てなどの機能を含む
- 実機ハードウェアとQemuエミュレータで実行可能
- 趣味で開発されたオペレーティングシステムであり、実用には適していない
TacOSの紹介
- TacOSはUNIXライクカーネルで、Cとアセンブリ言語で書かれている
- DOOMを含む複数の小さなユーザー空間プログラムを実行できる
- VFS、スケジューラ、TempFS、デバイス、コンテキストスイッチ、仮想メモリ管理、物理ページフレーム割り当てなどの機能を提供する
- 実機ハードウェアとQemuエミュレータで実行可能
- 趣味で開発されたオペレーティングシステムであり、完全に使用できる状態ではない
クイックスタート
- TacOSをビルドして実行するには、次のコマンドを使用する
git clone https://github.com/UnmappedStack/TacOScd TacOSgit clone https://github.com/limine-bootloader/liminecd liminegit checkout v9.x-binarycd ..make- Qemu、NASM、Clangがインストールされている必要があり、Qemuエミュレータ上で自動的に実行される
ライセンス
- TacOSはMozilla Public License 2.0に従う
- 詳細は
LICENSEファイルを参照
1件のコメント
Hacker Newsのコメント
こんにちは、おめでとうございます! 誇らしい気持ちでしょうね。DOOMを選んだのは良い概念実証です
いいですね、でもあなたのタコスはDOOMを実行できますか??
とてもクールですが、今の時代にはメモリ安全な低レベル言語があるのに、なぜ安全でない言語を選んだのですか? セキュリティバグの大半がメモリ関連だということは、すでに分かっています
少し脱線しますが、これに近いことについて気になっていました。現代のPCハードウェア上で直接ブートするゲームを作ろうとした試みはありますか? 完全なOSをロードせず、そのままゲームに入る形です。昔のゲーム機に近いものです。シンプルに保つなら、wifi、bt、GPUのようなものは現代的なドライバなしでは扱いにくいかもしれませんが、キーボードとマウスには基本的なBIOSアクセスがあるようなので可能そうに思えます(たぶん用語は正確ではないかもしれませんが、言いたいことは伝わるといいです)
こんにちは unmapped(私はGitHubとDiscordではThatOSDeveloperという名前を使っています)。DOOMを動かしたのは知りませんでしたが、かなりすごいですね。いくつか質問があります。これはオリジナルのDOOMですか? ディスク上にありますか、それともinitramfs内ですか? 使用しているエンジンと一緒に、フリーまたはシェアウェアのDOOM WADを使っていますか?
素晴らしい仕事です。こういうことができる技術が自分にもあればと思いますが、これを達成するには大量の仕様書を読まなければならなかった気がします。そこが自分の弱いところです
クラブへようこそ! 私もほとんど同じことをやりましたが、製品にはならないものに取り組む平穏さを本当に楽しみました
とてもクールなプロジェクトです! TacOSではプロセス分離とスケジューリングをどのように処理していますか?
TacOSについてもっと知りたいです。複数のプログラムを同時に安全に実行することを、どのように管理していますか?