私はどのようにしてLinuxカーネルを学んだかゆたかさんの技術書 amazon.co.jp

職場の同僚が積読していて、153 ページしかないと聞いたので、Kindle 版を買って読んでみた。

10 年前にデバイスドライバとか書いたことがあったので(Linux ではなく VxWorks ですが)、懐かしながら読んだ。アドレス変換やったなーとか。

Linux カーネルを読むのはそこまで特別な知識は要らなくて、マクロ展開が分からない時はプリプロセッサ出力を確認したりして、超地道に読み進める必要があるそう。

P153 ページしかないので、近々で Linux カーネルを読む予定がなくても、興味がある人は読むと面白いかも。

以下は自分用メモ。

P95

周辺機器からの割り込みのことをハードウェア割り込みや外部割り込みといいますが、「/proc/interrupts」を見ることで何回割り込みが発生したかが分かります

P144

SystemTap というツールを使うと、カーネルをビルドすることなく、変数の値を表示することが出来るので便利です。

P144

どのモジュールのソースコードから読むのがいいかという話ですが、最初のうちはシンプルなモジュールからがよいです。例えば、「/dev/null」というただデータを吸い込むだけのデバイスがありますが、ソースコードの作りもシンプルです。「/dev/null」のソースファイルは「drivers/char/mem.c」です。

dmesg の出力は printk() の出力だったのか。