なるほどUnixプロセスがやっぱり良い
「何度も読み返すシリーズ」というシリーズが私の中にはある。
何度読み返してもその度に気付きが生まれたり、他人にオススメしたいと思える本を勝手にそう読んでいる。
その中からド定番書の なるほどUnixプロセス ― Rubyで学ぶUnixの基礎について勝手に書く。
人生の中でプロセスと向き合う時間は長い。きっと
システム運用者・サーバ運用者にとって、これはおおげさな言葉ではないと思う。
昨今、AWS,GCPなどのクラウド事業者の環境においてインフラ構築を行うケースも多いと思うが、運用・トラブルシュートにおいて根本は変わらないと考えている。
それはプロセスを理解する事。
そんなプロセスについて理解したいなら間違いなくこの本だ。
Rubyを用いて説明している点が特徴だが、この本を初めて読んだ当時PHPしか書けなかった私でも大きなハードルではなかったと思う。 そして、ある程度Webエンジニアとして経験を積むと、この本がRubyで書かれている事の合理性や自然さが理解できるようになると思う、がそれはまた別の機会があれば書く。
プロセスの一生
この本は「プロセスとは何なのか」をまさに教えてくれる。
どこから生まれ、どのように活動し、どのように終わっていくのか。
自分が書いたソースコードが実行される際に、プロセスがどの様に関わるのかを理解できると思う。
プロセスで出来る事、出来ない事の理解も手伝ってくれる。
特別プログラミングについて深い知識がなくても読める本だと思っているので、研修や最初のOJTが終わったエンジニアには向いているのではないかと考えている。
prefork
この本が特徴的なのはpreforkについて触れている事だと思う。
プロセスについて一通り説明した後、preforkの章になるのは素晴らしい配慮だと思うし、この流れでpreforkについて理解していくと理解度がとても深くなると思う。
そもそも「プロセスを上手く使わないといけない」という意識を持つようになったのは、Apacheのチューニングの壁にぶつかってからだったと記憶している。
設定ファイルで変更しているこの値は何なのか、なぜ増やすのか、なぜ増やしすぎてはダメなのか。それら本質を理解したいと思っていた時にちょうど出会った本だった。
Apacheはprefork型で動かす事が多いように感じるが、そのメリット・デメリットや、マルチプロセスという言葉の意味なども雰囲気が十分に掴めると思うので、この「次」につながっていく本だと思う。
ちょっと褒め過ぎた感は否めないが、それぐらいの良書だと考えている。
この本を何度も読み返して、それでもまだプロセスについてもっと知りたいと感じたのなら、それはアナタのプロセスへの愛が生まれた証拠かもしれない。