Linuxのブートプロセスを見る

Linuxのブートプロセスをみる (UNIXMAGAZINE COLLECTION)
白崎 博生
アスキー (2004/04/16)
売り上げランキング: 15796

Linuxの解説本は多々あるが、パソコンの電源を入れてからLinuxが/sbin/initを実行するまでの処理だけを詳解した本。ブートプロセスはハードのこと、カーネルのことなど、それなりに分かっていないと理解できないものだし、少々トリッキーなところもあり、ソースを眺めるだけでは分かりにくい(著者自身、かつて自力不足だったときそうだったといっているし)。

そもそも、電源を入れてハードが自身を初期化し終えた後に、最初に読み込まれ、実行されるプログラムは何なのか、下位互換性のために存在するリアルモードとプロテクトモードの切替え方だとか、CPUだけでなく割込みコントローラー等のチップの初期化など、これまで「○○ありき」でやってきた背景を読み解く手がかりになりそう。

また、プロセスの生成(clone)やプロセスの実行(execve)についても詳しい。特に、初期化に関わるケースだけを説明しているので、さまざまなプロセス生成のパターンを一度に説明されるよりも分かりやすかった。

もともとUNIX Magazineの特集・連載記事を書籍化したもの。書籍化に際して特に編集せずに1冊にまとまるあたりが、この記事やUNIX Magazineのクォリティの高さを表しているといえるだろう。バージョン2.4のソース解説で、2.6では古くなっている箇所もあることはある(ブートセクタは2.6ではサポートされない)。だが、バージョンによって大きく変わることもない箇所なので、理解の妨げにはならないだろう。むしろ、この本と2.6のソースを照らし合わせて、差異を補完する作業を練習だと思ってやってみると、理解がより深まるだろう。