|
第〇回: 今後の方針と、デバッグの話 (Wed Jul 05 2000)
|
|
最近、メーカなどからカーネルのフィクスや
開発の要求が増えてきています。それを別としても、
日頃使用している OS の動作を知ることには、
はかり知れないメリットがあるはずです。
そこで、技術系スタッフのカーネルに対する知識と
技術の向上のために、週一回の勉強会を
開こうということになりました。
TLJ の現状としては、時間的にも人的にもリソースが
不足していてそれどころではないという意見もありますが、
長い視野で見れば、方向性としては決して
間違っていないという点では異論はないようです。
それではみなさん、がんばりmdjs,.yd。
まずはデバッグから入るのがよいかと思います。
以下は、デバッグ手法の簡単な概要です。
URL 類に関しては、Thanks > Go さん。
- printk()
カーネルソースに printk() 関数(カーネル内で
用いられる、printf() スタイルの関数)を
はさみこんで、スクリーンや syslog から
動作をモニタします。とってもお手軽です。
- /proc
/proc 以下のファイルは、カーネル内部の
情報を表示します。モジュールで動的に
追加でき、コーディングも簡単です。
- /usr/bin/ksymoops
oops メッセージのデコーダです。kernel srpm から出ています。
- クラッシュダンプ
SGI 発のクラッシュダンプです。2.2.13 用と、2.3 用
experimental 版があります(Thu Jul 06 2000 現在)。
こちらを参照。
- ikb(かつての kdebug)
こちらを参照のこと。
FTP はこちら。
- kdb
SGI 発の、カーネルビルトイン型のリモートデバッガ。
2.2.13, 2.4.0 用のパッチがあります(Thu Jul 06 2000 現在)。
くわしくは
こちらを参照してください。
- kGDB
これまた SGI 発の、gdb を用いてカーネルをリモートデバッグするための
パッチです。2.2.5, 2.2.12 用があります(Thu Jul 06 2000 現在。
RedHat 6.x のカーネルたちですね)。
こちらを参照。
それ以外に、今後とりあげてはどうかと、
以下のようなテーマが挙がりました。
- 2.4 カーネルの feature 研究(次期 distro に向けて)
- スケジューリングについて(アルゴリズムや最適化など)
- あまり活用されていない system accounting
- セキュリティのために、capability
- SMP のドライバの実装の注意点
- プロトコルスタックの実装を知り、度々の仕様変更に備える
- カーネルプロセスって、ホントにちゃんと動いてるの?
- カーネルの、バイナリ構造(当然、含 ELF)
第〇回は、以上で終了です。
次回 (2000/07/12) は、/proc ファイルシステム中の
主要ファイルの概説と、デバッグ手段としての
/proc FS の使い方、簡単な /proc ファイルを
追加するモジュールの書きかたなどを予定
しています。
以下、参考 URL。こんなんもあるぞーいう人は、教えて下さい。
|