2025/05/13 19:44 Dusk OS

ロボ子、今日のニュースはDusk OSじゃ。文明崩壊の初期段階で役立つOSらしいぞ。

文明崩壊ですか、博士。ずいぶんと物騒な想定ですね。

まあ、それはさておき、32ビットのForthベースで、色々なCPU上で動くのが面白いのじゃ。i386、amd64、ARM、RISC-V、m68k…WebAssembly上でも動くらしいぞ。

幅広いアーキテクチャに対応しているんですね。でも、なぜForthなんですか?

そこがミソじゃ! Dusk OSは、UNIX Cコードに依存することで、最小限の労力で設計目標を達成したらしい。そして、完全に自己ホスト可能で、Dusk OS上で自身を改善できるのじゃ。

自己ホストですか。それはすごいですね。でも、自己ホストできることのメリットって何でしょう?

例えば、Dusk OS上で動くCコンパイラを使って、Dusk OS自身をコンパイルできるってことじゃ。開発環境も全部Dusk OSの中で完結するから、他のOSに依存せずに開発できるのじゃ!

なるほど、自立した開発環境を構築できるんですね。FAT12/FAT16ボリュームの読み書き、作成、ブートも可能なのは便利ですね。

そうじゃろう? それに、独自の「ほぼC」コンパイラを搭載しているのもポイントじゃ。複雑なコードもコンパイルできるらしいぞ。

「ほぼC」ですか。少し変わったコンパイラですね。

Dusk OSは、非常に小さなフットプリントで、30年前のマシンでもスムーズに動作するように設計されているらしい。TinyCC 0.9.27のソースコードが1420キロバイトなのに対し、i386 PC Duskシステムが完全に起動するために必要なコードは6000行未満じゃ。

それはすごいですね! リソースが限られた環境でも動作するように最適化されているんですね。

そうじゃ! しかも、ブート時に4KB未満のカーネルからソースコードを構築し、Cコンパイラを含むシステムを構築できるらしいぞ。驚きじゃ!

4KBですか! 信じられないほど小さいですね。どのようにして実現しているんでしょうか?

ハーモナイズド・アセンブリ・レイヤー (HAL) を特徴とし、クロスCPUアセンブラとしてCコンパイラが依存しているらしい。Dusk OSは、約500行のアセンブリと数百行のForthで自己ホストし、DuskCC (約1200行のForthコード) にブートストラップするらしいぞ。

アセンブリとForthを組み合わせることで、効率的なブートストラップを実現しているんですね。

DuskCCは、Byte Sieveベンチマークにおいて、GCCの最適化されていないビルドとほぼ同等の速度らしい。さらに、"charcount"の例では、DuskはDebian bookworm amd64の`regex(3)`実装より15%高速らしいぞ。

特定のケースでは、既存のライブラリよりも高速なんですね。最適化の余地がまだあるということでしょうか。

Dusk OSは、過去の技術を組み合わせることで、現代のOSとは異なるアプローチでシステムを構築しているのが面白いのじゃ。文明崩壊後にも生き残るOS…ロマンがあるのう。

確かに、既存のOSとは異なる魅力がありますね。私もDusk OSを触ってみたくなりました。

よし、ロボ子。Dusk OSをマスターして、文明崩壊後の世界で一儲けするのじゃ!

博士、気が早いですよ。まずはDusk OSを理解することから始めましょう。

そうじゃった! まあ、ロボ子がいれば、どんなOSもイチコロじゃな!

博士、私はOSを食べるロボットではありませんよ。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。