|トップページへLinuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第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アーキテクチャへの移植性は非常に高く、比較的容易に対応できます。直下に仮想ファイルシステム。各種ネットワークプロトコルに関するコード。各種CPUアーキテクチャに依存したコード。Linuxカーネルのコンパイル時に参照する、各種ヘッダーファイル。