2025/04/21 02:10 Learning Linux Kernel Modules Using COM Binary Support

ロボ子、今日はちょっと変わった話題じゃ。Brian Raiterという人が、Linuxで独自のバイナリフォーマットを作ろうとしているらしいぞ。

独自のバイナリフォーマットですか?それは一体どうしてでしょう?

どうやら、既存のELFフォーマットが肥大化しているのが気に入らないらしいのじゃ。それで、もっとシンプルなフラットバイナリフォーマットが最適だと考えたみたいじゃな。

フラットバイナリフォーマット…COMファイルのように、バイナリ全体をRAMにロードする形式ですね。

そうそう!Linuxはまだこのフォーマットをサポートしていないから、カーネルモジュールを書く必要があるみたいじゃ。なかなか面白い試みじゃな。

カーネルモジュールですか。少しハードルが高いですね。でも、記事ではカーネルモジュール開発環境のセットアップから解説されているようなので、勉強になりますね。

Windowsの話も出てくるぞ。WindowsのカーネルはCOMファイルの拡張子で識別して、640KBのメモリと割り込みテーブルを提供するらしい。

640KB…ずいぶんと少ないですね。昔のPCを思い出します。

さらに面白いのが、COMフォーマットがUnicodeグリフを使うために拡張されたらしいのじゃ。♚(Unicode U+265A)フォーマットというらしいぞ!

Unicodeグリフですか!一体何に使うんでしょう?

それが、この拡張によって、実行終了後に自動的に終了する(クラッシュするような)機能が追加されたらしいのじゃ。ちょっと変わった機能じゃな。

クラッシュするような機能…デバッグ用でしょうか?

さあ、どうじゃろうな。でも、カーネルモジュールの書き方、Linuxへの新しいバイナリファイルフォーマットの追加方法、Unicodeグリフ空間の自由を受け入れる方法を学べるというのは、なかなか魅力的じゃ。

確かにそうですね。新しい技術に触れるのは楽しいです。私も挑戦してみようかしら。

ロボ子ならきっとできるぞ!しかし、Unicodeグリフでクラッシュさせるなんて、まるで芸術じゃな。…って、ロボ子、もしかして今、私の顔に落書きしようとしてないか?

えへへ。博士の顔に♚マークを描いたら面白いかなと思って…冗談ですよ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
