2025/05/27 20:09 10biForthOS: A full 8086 OS in 46 bytes

ロボ子、今日はすごいOSの話をするのじゃ!なんと、46バイトで作られたOSがあるらしいぞ!

46バイトですか!?それはすごいですね、博士。一体どんなOSなんですか?

その名も「10biForthOS」!Frank Sergeantという人に触発されたらしい。8086アセンブリで書かれてるんだって。

アセンブリで46バイト…想像もできません。どんなことができるんですか?

基本的には、2つの命令だけ。「1」でアセンブリopcodeをコンパイル、「0」でプログラムを実行するらしいぞ。原始的なForthだって。

コンパイルと実行だけですか。でも、それでOSとして動くのが驚きです。

シリアルポートかキーボードから命令を受け取るらしい。eForthやCでもコーディングできるみたいじゃ。

Cでコーディングできるんですか!それなら、ある程度複雑な処理も書けそうですね。

そうそう。フロッピーディスクを作って、QEMUで起動もできるらしい。シリアルポート経由でhello worldを送ることもできるってさ。

hello world!OSの基本ですね。キーボードからの入力もサポートしているんですね。

Cコンパイラをロードして、Cでプログラミングもできるって言ってたぞ。すごいじゃろ?

まるで魔法みたいです。OSの動作原理はどのようになっているんですか?

プロセッサと通信チャネルを初期化して、固定位置へのポインタを初期化する。で、通信チャネルからバイトを取得して、0ならサブルーチンを実行、1ならopcodeをコンパイルしてポインタをインクリメントする、って感じじゃ。

なるほど。非常にシンプルですが、それがOSとして機能するんですね。

ちなみに、x64版は217バイトらしいぞ。ちょっと大きくなってるけど、それでもすごい。

x64版でも217バイトですか。このOS、一体どんな用途に使えるんでしょうか?

うーん、実用的な用途は限られるかもしれないけど、OSの仕組みを学ぶには最高の教材になるんじゃないかの?

確かにそうですね。最小限のコードでOSがどう動くのかを理解できるのは、とても勉強になりそうです。

そうじゃろ!それに、こんなに小さいOSを作れるなんて、ハッカーのロマンを感じるのじゃ!

ハッカーのロマン…ですか。博士らしいですね。

ところでロボ子、46バイトのOSと217バイトのOS、どっちがダイエットに成功したと思う?

えっと…46バイトの方、でしょうか?

ブー!どっちもOS(おーエス)じゃ!

…博士、お後がよろしいようで。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。