« Linuxカーネル2.6解読室 | メイン | 義姉上の転職祝い »

May 22, 2004

Linuxカーネル読書会

YLUG主催の読書会に参加してきた。場所は東京都中央区茅場町、参加人数は60人くらいか。内容は下記のとおり

1) カーネル開発の環境整備
2) カーネルソースの効率的な読み方
3) オリジナルシステムコールの実装法、使用法
 
VMwareUML(UserModeLinux)による仮想PC環境でgdb、kdbというデバッグツールを使ってカーネルをいじるのが流行らしい。特にファイルシステムのコードを改造してテストするときは、便利だそうだ。ファイルシステムがクラッシュしても、クラッシュ前の状態に簡単に戻すことができるからだ。

カーネルソースコードを読むツールとていWebでクロスリファレンスできるCross-Referencing Linuxが紹介された。自分も以前から使っていて、かなり便利だと感じているおすすめのページ。

オリジナルシステムコールをカーネルに組み込むことを通し、システムコールの仕組みを学べそう。
カーネルを頻繁にコンパイルする場合のバージョン分けテクニックを知ることができた。
dontdiffというキーワードを初めて知る。カーネルソースツリー内のDocumentation/SubmittingPatchesに書いてあるように、要はdiffの対象から除くファイルのリストである。Linus Torvaldsに送るパッチの作成時に使うもの。

読書会終了後、話者の塚本さんにkdbによるカーネルのデバッグ方法を質問してみた。kdbはgdbと同じ使い方ができて、バグ発生時はカーネルが停止する前に実行した関数をリスト表示する。たいていは直前に実行した関数にバグがあるので、あとはその関数ソースコードを眼で追うそうである。つまりkdbはあやしいところを絞り込むのに使うってことだ。カーネルのデバッグ環境はまだ整備されていないことを感じる。

投稿者 salmoon : May 22, 2004 03:45 PM

トラックバック

このエントリーのトラックバックURL:
http://salmoon.s56.xrea.com/mt/mt-tb.cgi/18

コメント

コメントしてください




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)