Categories Books | Hard | Hardware | Linux | MCU | Misc | Publish | Radio | Repository | Thoughts | Time | UNIX | Writing | プロフィール
サーバー移転も一段落したことであるし、"Goodbye, Linux" の続きを仕上げなければならないが、その前に小咄をひとつ。皆さんは Rusty Russell 氏が立ち上げた Linux Kernel Graphing Project をご存じだろうか?
これは文字通り、Linux kernel の構造をグラフ化し、人間の視覚を通してその全体像を捉えようという、何とも奇抜なプロジェクトである。その着眼点の素晴らしさと、頭の中のアイデアを直ちにコードで実現してしまう、Russell 氏の類い希なる行動力には、素直に感服してしまう。
氏のツールを介してポスター上に出力された Linux kernel の姿は、例えるならば、まさに「曼荼羅」だ。この曼荼羅は、4つのリングから構成されており、拡大していくとひとつひとつのソースファイルに含まれる関数達が現れる。思わず、「虫眼鏡を片手に、Linux 曼荼羅の世界を覗き込みたい」と考えた私は病気?
この Linux Kernel Graphing Project は、多忙な Russell 氏に代わって、現在 Christian Reiniger, Michael Marineau の両氏が Free Code Graphing Project としてサポートを続けており、今年の8月下旬、待望のカーネル 2.6 対応版 が Sourceforge 上で公開されたばかりである。
「とりあえず、Linux 曼荼羅をこの目で確かめてみたい」という方は同サイト上に用意されている Linux 2.4.9 の PS ファイル(7.9MB) をチェックされると良いだろう。
自分で曼荼羅を作ってみたいという猛者は、lgp-2.6.0a をダウンロードされたい。ビルドの詳細は README に書かれているが、ポイントは以下の通り。
じっくり曼荼羅を眺めてみると、その美しさとは裏腹に、得られる情報は意外に少ないことに気付く。それもそのはず、この曼荼羅は「関数」のみに注目し、肝心な「データ構造」が欠落しているからである。「関数とデータ構造」の依存関係をグラフ化するツールがあれば、Kernel hacking は一段、いや十段と楽しいものになるのではないだろうか?
ちなみにこのポスター、Linux 2.4 版が Linuxcare で販売されている模様。プロッター出力が利用できる方は、2.6.0 曼荼羅を壁に張り出しておけば、友人に自慢出来ること間違いなし、である。
私のような物足りなさを感じたのかどうか、フランスの Pascal Brisset 氏は、なんと Linux kernel source tree の3次元表示を実現してしまった。
3次元表示された Linux-2.4.5 の美しい姿 (9MB MPEG)は、思わず溜め息が漏れるほどだが、圧巻は Linux-1.2.0 から Linux-2.4.1 への成長の軌跡 (12MB MPEG)である。バージョンの進行途中で、新たに追加されたソースファイルは、赤色でフラッシング表示されるのだが、その姿はまるで広大な銀河の中で新星が誕生しているかのようだ。
こうしてみると、カーネルソースツリーというのは、まさしく人類が生み出した「小宇宙」という気がしてくる。贅沢を言わせてもらえば、同じ環境上で NetBSD と Linux の小宇宙を比較しながら、存分に俯瞰してみたいものである。