/ «2004-04-06 (Tue) ^ 2004-04-10 (Sat)» ?
   西田 亙の本:GNU 開発ツール -- hello.c から a.out が誕生するまで --

Categories Books | Hard | Hardware | Linux | MCU | Misc | Publish | Radio | Repository | Thoughts | Time | UNIX | Writing | プロフィール


2004-04-07 (Wed)

[Writing][Thoughts] BSD vs Linux

Linux カーネル2.6実践編・第3回

UNIX USER 5月号、発売。Linux カーネル2.6実践編の第3回となる今回は、題して「/usr/include の謎」。意外と知られていない、/usr/include ディレクトリの全体像を本連載流に解説してみた。

簡単に言えば、/usr/include ディレクトリ内部には、大きく2種類のインクルードファイル群が存在する。ひとつは、glibc を代表とするライブラリー用のヘッダーファイル。そしてもうひとつは、/usr/include/asm, /usr/include/linux など CPU アーキテクチャや Linux カーネルに依存したヘッダーファイル達である。

前者のヘッダーファイルは GNU などのライブラリー作成者が提供するが、後者については Linux カーネルソースツリー内部に含まれる include ディレクトリの内容が、そのまま流用されている。

つまり、Maintainer が全く異なる訳だ。ここに Linux の悲劇があると言っても過言ではない。なぜ、これが「悲劇」なのか?その理由については本文をご参照ください。

この点、カーネルとライブラリーのソースツリーが一体化している BSD はさすがである。特にCライブラリーのソース構成が素晴らしい。内部のソースや man ファイルを読んでいると、BSD ハッカー達の責任感と良心がひしひしと伝わってくる。彼らにとって、ソースリストとは良質な文書なのである。

これに対して、Linux ソースツリーの中身は本当にお寒いばかりで、まるで「コードを書き散らした子供部屋」のようである。GNU 開発ツールや glibc のノウハウを学ぶためには確かに Linux が優れているが、時には美しい絵画や音楽を鑑賞するように BSD ソースツリーにも目を向けるべきだろう。何事も、心の中に良きリファレンスを持つことが大切である。

[Linux] Linode に感謝

今回の執筆作業で、先日紹介した Linode が大活躍。Linux インストール直後の「すっぴん」状態というのは、なかなか準備が難しいものだけれど、Linode ユーザーであればチョチョイのチョイ。ものの1分もあれば、新規インストールが完了し、直ちに SSH 経由でシリアルコンソール接続が可能になる。なんて便利なの〜〜!

ということで、今月も契約を延長。