0.2 LinuxカーネルのソースコードLinuxカーネルは、Linus氏を頂点とした開発コミュニティが開発した、オリジナルのカーネルです。Linuxカーネルのコードは次のサイトから入手してください。 ftp://ftp.jp.kernel.org/pub/linux/kernel/v2.6/ Linuxカーネルのコードは、500万行以上にも及ぶ非常に大きなものです。Linuxカーネルが改版されるたびに、信じられない速度でコードが大きくなっています。このLinuxカーネルコードは、機能ごとに大まかにディレクトリ単位で分類されています。これからLinuxカーネルを読まれる方の手助けになるよう、表0-1に各ディレクトリの説明をしておきます。Linuxカーネルのコードのうち、約半分がdrivers以下のデバイスドライバ用コードですが、Linuxカーネルの動きを理解するためには、代表的な一部のドライバの動きを理解するだけで大丈夫です。 このLinuxカーネルコードは、目的に対して直接的な実装を採用しており、あまり複雑な構造にはなっていません。一方、ソースコードのコーディングポリシーには一貫性がなく、慣れるまではコードを読み解くときに非常に混乱すると思われます。バザール方式による開発スタイルが、その原因の1つです。その一方で、Linuxカーネルコードの新しいCPUアーキテクチャへの移植性は非常に高く、比較的容易に対応できます。 表0-1 Linuxカーネルのソースツリー
|