技術日誌

DB,Java,セキュリティ,機械学習など。興味のあることを雑多に学ぶ

「Linuxの仕組み」を読んだ

推測するな計測せよ!な一冊。

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

技術評論社epubを買った。結構定期的にアップデートされている様子。 売るつもりがないなら電子書籍の方がお得です。

gihyo.jp

「はじめての486」読了後、読む電子書籍がなくなったので読みました。*1

OS自作本を読んだ後は、 低レイヤーの歩き方を参考にするに、xv6の本かな~と思いきや

razokulover.hateblo.jp

こんな感想が目に留まったのでこちらを先に買いました。

ちなみに私のLinux力をお伝えしておくと、 趣味と大学時代にちょろっと触ったことがある程度で、 特にそこに対して時間をかけて勉強・研究したり 実務で使ったことはありません。

  • 速度や負荷計測のコマンドがかなり使われている
  • マルチタスクやキャッシュなどの速度検証

ファイルシステムはこちらにまとめました。

yuyubu.hatenablog.com

仮想ファイルシステムディバイスアクセスをラップしており、 コンソールやHDDをまるでファイルアクセスのように利用できる点が以外でした。(常識?)

とにかく図がわかりやすい!

あまりOSについて書かれた本は読めていませんが、 ハードウェアの構成図などはもちろん プロセスがタスクスイッチで処理される様子など かなりわかりやすく書かれています。

計測パートについて

  • 読書時間が電車の中だったり、
  • 手元のMacのVirtual Boxの中のubuntuのキーボードがUS配列に対応していなかったり
    • まぁそんなもんぐらいググって設定しろってはなしですが。
  • 代わりに使ったKali Linuxにコマンドがあまり入っていない

などの理由によりあまり実測できていません。

また著者はVMWareやVirtual Boxなどの仮想環境より、 実機で検証することを推奨しています。LinuxがブートできるPCを現在保持していません。

あまり手を動かして読めていませんが、ここに書かれている計測方法で utuntu以外のOSもベンチできたら楽しいんじゃないでしょうか。

図などはかなりわかりやすいですが、初心者はプログラムを 自分でコメントを付けながら精読した方がいいと思います。

個人的にディスクIOやページング、ファイルシステムを実装するときに 参考にする1冊になるだろうと考えています。

*1:電車の中では必ず電子書籍を読むことにしている