こんにちは。
ここでは LinuxOSをよく扱っていますが、インターネットで Linuxの情報を洗っているうちに「Linuxのカーネルに Rustが使われるようになるんだって!」なんてものに出くわしていると思います。
LinuxOSを利用しているだけであれば Linuxのカーネルソースに触れる必要は特に感じませんが、「フフッ、俺はカーネルソースを見ちゃったりしてる、ちょっと意識の高いエンジニアなんだぜ!」とかドヤりたくなる気持ちも分かります。
「見てみりゃいいじゃね〜の」というだけの話ではあるんですが、職場のハッタリでドヤってしまった後で「どこにあるか分かんね〜(今更聞けない)」という方のために、ここに書いておきますね。
ズバリここにありますよ、と。
The Linux Kernel Archives
こんな絵。
2024年2月20日時点での最新カーネルは 6.7.5でまだ Ubuntuとかには来てません。
[6.7.5] のところの [tarball] ってリンクをクリックしてダウンロードできます。
ダウンロードが済むと [Linux-6.7.5.tar.xz] という [XZ]形式の圧縮ファイルができました。
tarコマンドで解凍・展開できます。
subro@Lubuntu2204:~/ダウンロード$ tar -xJvf linux-6.7.5.tar.xz
linux-6.7.5/
〜〜〜 中略 〜〜〜
linux-6.7.5/virt/lib/irqbypass.c
展開できました。
あとは例えば VSCodeなんかで開いて頂ければ、ソースコードも読みやすいかと思います。
Linuxのドキュメントはこちら。
The Linux Kernel
このドキュメントを頼りに C言語のソースを読んでいく、ということになります。
これだけで嫌にならなきゃイイが…。
と思いつつ、ここではこれだけです。
「なンだよ、ビルドしね〜のか?」という御仁もいらっしゃいましょうが、長くなるのでまた別な機会に。
いきなりソースを読むより、ここまで準備したら書籍にあたるのが良いと思いますね〜。