[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識
- 技術評論社 (2018年2月23日発売)
- Amazon.co.jp ・本 (288ページ)
- / ISBN・EAN: 9784774196077
作品紹介・あらすじ
スマートフォンからクラウドまで、幅広く利用されているLinux。この、社会を支えているOSは、どのように動いているのか。プロセススケジューラ、メモリ管理、ファイルシステムなどを分かりやすく解説。
感想・レビュー・書評
-
# 書評☆3 [試して理解]Linuxのしくみ | 図解をふんだんに用いたLinux機能の解説
## 概要
OSであるLInuxがどういう仕組みで動いているのかを解説している。この本の特徴は図解をふんだんに用いているところだ。文章も比較的平易で,わかりやすくするような配慮を感じた。
著者の竹内 覚はTwitter上のIT界隈でけっこう有名な人らしく,そこに興味を持って読んでみた。富士通でLinuxカーネルの開発に10年ほど従事し,現在はサイボーズ社の技術顧問についている。仕事でやっているのだから,どうりでLinuxに詳しいわけだと思った。
OSの仕組みを一つ一つトレースしながら解説している。例えば,サンプルプログラムを実行して,CPUの使用率がどうなっているか,メモリーの使用率がどうなっているかを確認している。けっこう細かいところを見ている。
流れとしては,以下がひたすら続いている印象だった。
1. Linuxにこういう機能があります。
2. こういう仕組みになっています (図解)。
3. では実験プログラムで確認しましょう。
4. そうなったでしょ?
わかりやすくしようと図解を入れているのはいいが,別にそれでわかりやすいとは限らない。
仕組みありきになっていて,あまりよくなかった。なぜこういう機能が存在するのか,何が便利なのか。そういった解説が足りない感じがした。特に,この仕組みが現実世界・実務上どういうときに役に立つのか,大事なのかという視点がもっとほしかった。学校で学ぶなら,別に理論だけしっていてもいいのだが,やはり何に役に立つのかが見えないと面白くない。
また,書籍の構成が上記の流れになっている都合,その場その場で必要なコマンドがとりとめもなく登場していた。例えば,CPU消費量の確認でsarコマンドがいきなりでてきたり,psコマンドでプロセスの使用時間を確認したりなど。
これらのコマンドの紹介も最小限になっていて,リファレンスとしても使いにくい。これらのLinuxのシステムレポート把握のためのコマンドの使い方に1章割いてきちんと解説してくれたほうがよかった。
後半もけっこう細かい話が書いてある。例えば,ファイルシステム。Linuxで使えるファイルシステムはけっこうある。それらを簡単に紹介しているが,結局どれがいいのかというのは曖昧なまま。
全体的に中途半端に感じた。図解をいれてわかりやすくしようとしているのはわかるが,文章のわかりやすさ,筋道の立て方,そして中身の詳しさが合っていないと感じた。せめて,本文中で解説している章はLinuxカーネル公式文書のどこを参照すればいいかを引用してくれたら,不十分なところを辿れるが,それすらない。
また,Linuxの仕組みと言っても起動のブートシーケンスなどはなく,メモリーや,CPU,ファイルシステムなどある程度テーマを絞っていて,網羅しているわけでもない。
結局,なんとなく知るためだけの読み物で終わってしまった感がある。一番良かったのは,あとがきで引用されている書籍だった。本書だけでは,不十分であり,最初からあとがきに書かれている書籍をあたったほうがよかったのではないかと思った。
## 参考
> p. v: はじめに
>
> 実験プログラムのソースコードはすべて掲載し、GitHubで公開しています (https://github.com/satoru-takeuchi/linux-in-practice/)。
後で振り返るときに役に立つ。
> p. 268: あとがき
>
> 最後に、さらなるステップアップを目指すための書籍をいくつか紹介しておきたいと思います。
>
> * コンピュータの構成と設計 第5版 上・下
> * What Every Programmer Should Know About Memory (https://www.akkadia.org/drepper/cpumemory.pdf)
> * ふつうのLinuxプログラミング 第2版
> * 詳解システム・パフォーマンス
> * Linux Kernel Development
Linuxのしくみについてさらに知るための文献だった。
## 結論
Linxuの仕組みを豊富な図解とともに解説した本だった。図解を作るのは労力がかかるので,そこは良いと思ったが,内容がいまいちだった。
読み物として,Linuxの仕組みを知るには良かった。ただ,これだけだと不十分なので,詳しくなりたければ,結局あとがきで参照された書籍をあたるしかないだろう。
パーマリンク: <https://senooken.jp/blog/2018/07/10/>詳細をみるコメント0件をすべて表示 -
すごくわかりやすく、読みやすい!
Linuxの中身に興味を持ちはじめた初学者におすすめ。
Linuxの機能ごとに、概要を単純化した図で解説→ユーザ空間のアプリケーションでその動作を実験・確認という流れで書かれている。
カーネルのソースコードが出てこないのでハードルが低く、単純化された図で頭に入ってきやすい。
人に説明するときにこんな説明の仕方ができるようになりたい。 -
そういうものだから仕方ないけど、白黒でずっと文字とグラフのページが続くのと扱ってる内容が難しいので読んでるだけだと眠くなってくる。タイトルの通り、動作実験しないと読破は難しいかも。
基本情報技術者で扱う内容が多く、あれってほんとなのかな?と疑問を持つ人がこれを読むといいかも。
あとは実務で使うことはそうそうない内容で、オタク向けのようにも感じられた。
自分にはまだ早かったので、流し読みして終わった。 -
今まではなんとなくサーバと戯れてたけど、概要がわかった気がする。基本情報や応用情報で暗記してたことを理解できた。
-
普段 Linux を使っていても、よく理解しないまま使っている機能・コマンドがあったりするので、そのあたりをフォローするにも適した内容
。非常に平易に書かれている。
掘り下げればもっとディープな話もあるだろうけど、とりあえずこれだけ知ってれば、熟練者との会話もできるくらいにはなるでしょう。
Linux/Unix 初心者は、コマンド一覧とかとにらめっこするだけではなく、中身を理解するほうが重要かもしれません。 -
ハードウェアの中まで意識できる本で、Linuxの本じゃない
-
Linuxのカーネルについて実際に手を動かしながらざっくり理解できる本です。OSのコトはさっぱわからんと言いながらプログラマーをしている人にこそ本書をおすすめします。
-
C で簡単なシステムコールを使ったことがあるなら、最後まで読めると思う。
でも、これをすらすらと読める人は少ないと思うな。
新人の頃に読みたかった。 -
非常にわかりやすい本でした。
基礎部分はすぐに役に立つというわけではないですが、ずっと役に立つ知識だなと痛感しました。