ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

[試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】

[試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】を読みました。

www.amazon.co.jp

内容はLinux kernel+ハードウェアの低レイヤーよりの技術紹介です。全体的に図がわかりやすいのと効果を測定するためのコードが載っているが特徴です。実際にコードを書いて動作させ、パフォーマンスをプロットすることで、理解を深められるようになります。Linuxを正しく理解して、高速、安定動作させたい人にお勧めです。

ソースコードと一部グラフはここで公開されています。

github.com

用語の説明や動きの解説がわかりやすいのと実際に手を動かして確認することで、次の一歩もしっかり調べられるようになっています。Unixのこの手の本って、パフォーマンス測定が数字だけだったり、本のグラフが小さくてよく分からないイメージがありますが、この本はグラフも大きく見やすいです。

内容はfork, execからプロセスを説明する正統派な教科書ですが、後ろの方は流行の仮想化技術まで紹介されておりパラパラ見てみて面白そうなところがあれば買いだと思います。ファイルシステムの説明も、ファイルシステムの細かい違いよりは速度の話、整合性の話などに絞ってあって、少ないページながらも面白かったです。

そういえば最近ゾンビプロセスって見ないなとか、古い技術のマルチコア前提の動作とか、ページングの単位ってずっと4Kなのとか、古い知識のままだった所がアップデートできて良かったです。Meltdown脆弱性がLinuxカーネルに与えた影響を知りたい人などは是非読んでみてください。