Linuxについてマスターしようとすると、避けて通れないのがLinuxカーネルへの理解であると言えます。Linuxカーネルは普通にLinuxに触れた程度では見えてくることのない「縁の下の力持ち」であるわけですが、プログラムである以上は当然ソースコードが存在します。そんなLinuxカーネルのソースコードをわかりやすく表示し、Linuxカーネルの仕組みについて学びを深めてくれるツールが「Linuxカーネルエクスプローラー」です。

Linux Kernel Explorer | reverser.dev

https://reverser.dev/linux-kernel-explorer

Linux Kernel Explorer | Hacker News

https://news.ycombinator.com/item?id=46066280

Linuxカーネルエクスプローラーにブラウザでアクセスした初期状態は以下の通り。



左側のペインは、上で「Files」が選択されている場合、Linuxカーネルのソースコード名がディレクトリ構造で表示されています。



ファイル名を選択すると、ファイルの内容が中央のペインに表示されます。



左のペインの上部で「Data Structures」を選択すると、Linuxカーネルのソースコードで使用されている構造体の一覧が表示され、任意の1つを選択すると定義箇所のファイル名が表示され、それを選択すると定義箇所のコードが中央のペインに表示されます。



画面下部にはGitHub上のLinuxカーネルのリポジトリのURLが表示されており、これ自体は一切操作できないものの、「master」となっている箇所はクリックするとタグのリストが表示され、任意のタグを選択することで過去のソースを見ることができるようになっています。ただし、記事作成時点ではリストの表示が白地に白文字となっており、見辛いので修正してほしいところ。



最後は左側のペインですが、ここの上部には「BASED ON "THE KERNEL IN THE MIND" BY MOON HEE LEE」と書かれています。つまり、Linuxカーネルの学び方について書かれた、以下のサイトの内容に準拠しているということです。

The Kernel in the Mind

https://www.linkedin.com/pulse/kernel-mind-moon-hee-lee-miwze

上記サイトは9つの章立てで構成されており、Linuxカーネルエクスプローラーでも各章の内容が表示されています、また章ごとに「Study Files」とクイズ形式の「Knowledge Check」が用意されています。「Study Files」は章の内容に沿ったファイル名が列挙されており、ファイル名の右にある「Open」ボタンをクリックすると中央のペインにファイルの内容が表示されるようになっています。



「Knowledge Check」は章の内容を復習するための4択の設問が複数用意されています。クイズは正解と思しき選択肢をクリックしていき、最後に「Submit Answers」をクリックします。



各問ごとに正誤が表示されるとともに、正解についての説明が表示されます。全問正解できなかった場合は「Try Again」ボタンをクリックするともう一度クイズに挑戦できます。