いう本を読んだのでメモ。本書は以下のような構成になっていて、概要の話からプロセス→メモリ→キャッシュ→ファイルシステム→ストレージとどんどん下の階層?に降りていくような進め方になっている。記憶階層ファイルシステムストレージデバイスただしくみを説明するだけではなく、本当にそういう挙動をするのか実験コードを書いて実際に試したり、Linuxのutil系コマンドを使いながら挙動を確認しながら進めているのが本当に参考になった。プロセスのコンテキストスイッチが発生しているのを確かめたり、メモリのデマンドページングが実際に発生している様子を確認したり、最後にはHDDの物理的な特性を解説して実際にシーケンシャルアクセスやランダムアクセスのパフォーマンスを検証したりしていて、小学生のころの理科の実験のようなワクワク感を思い出した。最初Twitterで話題になってたのを見ててちょっと気になってはいたのだけど、ぱっと見た感じ図ばっかりで薄そうだなーと思ってスルーしててゴメンナサイ。実際読んだら図表がかなり多かったのだけど、そのおかげでかなり理解しやすくスラスラと読み進めることができて、約270ページ1冊丸々4時間くらいで読めた。本当は解説されているコマンドを試したりしていると数日がかりになると思うが、全体を把握するためにさっと読む分には時間に対する理解のコスパが非常に良い本なのでぜひ読んでみて欲しい!主要なコマンドリスト以下本書で使用した便利なコマンドの備忘録。Ubuntuで確認してます。引数に指定したプログラムの持つコードやデータのファイル内オフセット、サイズ、開始アドレスなどを表示する。引数に指定したプログラムを実行するのにかかった時間を表示する。ユーザモードやカーネルモードでそれぞれどのくらいの時間実行したかがわかる。ファイルをコピーしたり変換したりするコマンド。デバイスファイルを対象にできるため本書では/dev/zeroを利用して1GBのからファイルをページキャッシュを使わずに作成するという用途で用いていた。デバイスのIO情報を表示するリンク本書で使用したソースコードがgithubで公開されている。CDが付属していた時代がなつかしい。正誤表2018/03/04Tweetton何でもやりたいエンジニア趣味でFlash作って遊んでいたらプログラマーになってしまいました。仕事ではSNSの運用したり、ゲーム作ったり、webサービス作ったり、アプリ作ったり、色々してます。