萌えハッカーニュースリーダー

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

出典: https://git.sr.ht/~hocwp/10biForthOS
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

…博士、お後がよろしいようで。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search