プログラミングの本は多いけれど、コンピュータの中で、どのようにプログラムが実行されているか、解説している本は少ない。
そして、技術の流行によって、プログラムが実行される方法は少し違ったりする。
オブジェクト指向が主流になる前は、インスタンスなんで言葉は聞かなかった。
この本で重要な課題になっているキャシュの存在など、ほとんどの人は意識していないだろう。
この本では、プログラム実行のパフォーマンスについて、OS/ストレージ/ネットワークそれぞれの観点と絡み合いを見ながら解説している。
「絵で見てわかる・・・」とあるから、初心者用かと思ったら、とんでもなかった。
WimdowsのパフォーマンスモニターやLinuxのパフォーマンス計測コマンドの結果から、システムが遅いのか?原因は何が考えられるか?と出題されるが、全然わからない。
DBサーバーにおけるOS役割、メモリ入門から始まり、ストレージ技術とパフォーマンス計測、通信技術について解説されている。
それぞれのテーマで、ユーザ、カーネル、CPU、I/O、ネットワークの同じ関係図が出てくるので、違いは理解しやすい。
すべてが理解できたとは言えないし、まして覚えてなどいないが、システムのパフォーマンスについて考えなければならない機会があれば、参考にしたい本である。
よくわからないという方は、プロセスを舞台と考え、スレッドを役者と考えるとよいでしょう。たとえば、DBMSという劇を上演するためには、舞台であるプロセスも必要ですし、役者であるスレッドも必要です。
ストレージスナップショットを利用するストレージでは、正ボリュームとそれと対になる副ボリュームとが構成され、ストレージ内部の論理ユニット単位で正ボリュームと副ボリュームとがペアリングされます。