【本の感想・レビュー】Linuxのしくみ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識|Jinさん|社会人勉強コミュニティ

社会人勉強コミュニティ・サークル|東京自習会
作成日:
こんにちは!

ファシリテータのJinです。

今回は「Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識」を読みましたので、その感想とレビューを書きました。

目次


1.本の概要
2.選書理由
3.印象的な部分や学び
4.学んだことや気づき
5.感想と評価
参加申込みはこちら!

1.本の概要


本書は、ITシステムの基盤として広く利用されているLinux OSのしくみや動作原理について、実践的かつ視覚的に学べる解説書です。プロセス管理・スケジューラ・メモリ管理・ファイルシステム・記憶層・仮想化・コンテナなど、OSとハードウェアをつなぐ多角的なテーマを、実験結果や豊富な図解、グラフとともに丁寧に解説しています。

内容は「プロセスの生成と管理」「カーネルやシステムコールの仕組み」「ファイルシステムや記憶装置の階層構造」「仮想マシンとコンテナの違い」など、今どきのLinux内部構造を体系的に理解できるようまとめられており、最新のプログラミング言語(Go/Python)によるソースコード例も掲載。初学者から既存のエンジニアまで幅広く役立つ知見が詰まっています。

2.選書理由


私は普段からクラウド上のLinuxサーバを起動したり、その上でアプリケーションを動かしたりする仕事をしていますが、「なぜこう動くのか」「サーバの内部で何が起きているのか」を深く理解したいと前々から感じていました。

しかし、専門書は内容が難しく図解が少ないなどの理由で挫折したことも多かったです。本書は書店で手に取った際、図や色づかいが非常に豊富で、システムの動きが直感的に理解できそうだと感じました。また、実際の実験に基づく具体的な解説が多く「今までで一番分かりやすいかも」と思い購入しました。

加えて、GoやPythonで実際に動くサンプルコードが多数載っていることから、自分でもすぐに手を動かしてLinuxの動きを体験できることも選んだ理由の一つです。

3.印象的な部分や学び


本書で最も印象的だったのは、「普段見えないコンピュータの内部動作」が具体例や実験結果を交えながら丁寧に紐解かれている点です。

たとえば、私たちがよく使う“ファイル保存”の裏側では、実際には“メモリ”という速い領域(具体的には「ページキャッシュ」と呼ばれる場所)にいったんデータが蓄えられます。その後、まとめてストレージ(ハードディスクやSSD)に書き込まれることで、全体のパフォーマンスが高まるしくみになっているそうです。このページキャッシュにのみ記録され、まだストレージへ反映されていない状態のデータは「ダーティページ」といい、一定時間(デフォルト5秒ごと)でカーネルが自動的に「ライトバック」処理をしてストレージに同期します。

さらに、「プロセス」と呼ばれるパソコン内の仕事単位(たとえば一つのアプリやコマンド)が、どうやって作られ・消滅していくのかも非常に丁寧に解説されています。なかでも「ゾンビプロセス」は一度仕事を終えて消えたはずなのに、システムの台帳に(番号と終了情報だけが)残り続けるというおもしろい現象を知ることができました。このゾンビプロセスが大量に発生すると新しい仕事ができなくなり、システムが不安定になる場合もあるそうです。また、シグナル(プロセス間の通知仕組み)やジョブ管理(バックグラウンド実行)がどのように行われるかといった、普段のコマンド操作の裏にある細かな技術も、実際のコマンド実行例(ps, jobs, kill など)やPythonの短いスクリプトで実験しながら学ぶことができるのも印象的でした。

4.学んだことや気づき


この本を読んで一番驚いたのは、普段使うwebサービスが便利に使える背景に「仮想化」や「コンテナ」といった技術がある点でした。

たとえば、仮想マシンという仕組みでは、一台のパソコンの中で複数の“仮想のマシン”を動かすことができますが、立ち上げには10秒以上かかることもあります。一方、最近広がっている「コンテナ」技術では、必要な部分だけを分けて一瞬(1秒未満)で動かせるので、より快適なwebサービス提供につながっています。

普段は単に「便利」や「速い」と感じていたwebサービスですが、実はその裏のLinux技術進化と合理的な構造が直接、私たち一般利用者の体験を大きく左右していることが実感できる、とても貴重な気づきでした。

また著者の「ソフトウェアの抽象化が進み、カーネルやハードウェアの知識を持つ人が少なくなっている」という指摘には、自分自身も無意識のうちにブラックボックスとして扱っていたことを反省し、もっと仕組みを意識して活用しようと感じました。

5.感想と評価


本書は、LinuxやITに詳しくない方にも安心しておすすめできる一冊です。専門的な話題も、身近な例やたとえ話・図解でわかりやすく説明されているので、最後まで読みやすかったです。技術用語も例を交えてユーモアに書かれていて、面白く読み進めることができます。さらに「仮想マシンは約14秒、コンテナは約0.7秒で起動」といった具体的な数字もあり、違いが直感的にイメージできます。

この本を読むことで、普段何気なく使っていたLinuxやwebサービスの仕組みがクリアに見えてくるようになりました。仕事だけでなく日々の生活にも役立つ知識が増え、学習や業務効率にも良い影響がありそうです。

参加申込みはこちら!


参加をご希望の方は下記のリンク先から参加方法をご確認の上、お申込み下さい。

開催予定のイベントを確認されたい方は、下記のリンク先からご確認下さい。

ご質問やご相談も公式ラインで受け付けていますので、お気軽にお問合せ下さい。(24時間以内にご返信致します。)

あなたのご参加お待ちしています(*'▽')