「Linuxのしくみ」のサンプルコードの改善

拙著「Linuxのしくみ」の一部のサンプルコードを改善したものを公式githubリポジトリに置きました。一部についてはグラフ描画もしてくれるように変更しました。

amzn.to

Ubuntu20.04において動作する、本書において書かれたCプログラムをGoやPythonに移植して、かつ、コメントを日本語にしたものを各章のmiscディレクトリに入れています。必要なパッケージは以下の通りです。

binutils, build-essential, golang, python3-matplotlib, python3-pil, fonts-takao

2章

3章

4章

  • sched: sched.cに対応するPythonプログラム。結果をグラフ化にして"sched-<並列度>.jpg"に保存。

以下、1CPU上でschedプログラムを動かした結果を示すグラフです。上から順番に1並列、2並列、3並列のものです。

5章

6章

  • cache.go: cache.cに対応するGoプログラム。go build cache.goでビルドできる。

以下、cacheプログラムを1CPUコアあたりのL1d,L2,L3キャッシュ容量がそれぞれ32KB,512KB,4MBのCPU上で動かした結果を示すグラフです。