- Amazon.co.jp ・本 (1024ページ)
- / ISBN・EAN: 9784873113135
作品紹介・あらすじ
本書はLinuxのソースコードの恩恵を最大限に活かすための羅針盤です。複雑で難解なLinuxカーネルの仕組みを、基礎からていねいに説明。Linuxカーネルの基本機能を網羅し、ハードウェア依存部分についても踏み込んだ解説がなされています。第3版では、Linux2.6を対象として改訂を行い、特にメモリとプロセススケジューリングについて大幅な変更と加筆がなされています。Linuxのソースコードを理解するためのガイドブックとして、オペレーティングシステムの本格的な解説書として最適の1冊です。
感想・レビュー・書評
-
新卒の時に読んだけど、流石にあんまり活かされることはなかったかなぁ。
知っていて損がないのは間違いないんだけれども。詳細をみるコメント0件をすべて表示 -
会社で読んだオライリーLinuxカーネル本。
会社ではUNIX本に続いて読んだため、内容も結構重複していた印象。しかしこちらの方が読者が多く、ネット上に情報が溢れていた。
おかげ様で、カーネルを操れるエンジニアとして飯が食えていると感じている。 -
ソースコードを読む際のお供として重宝しています (辞書的に使う)。内容は v2.6 ベースと古いもののソースコードレベルの解説は大変分かりやすいです。また、今とロジックがほとんど変わっていない部分も見受けられるため、まだまだ活躍する場面はあると思います。
反面、解説が細かく、ページ数も膨大なため初学者にはオススメできません。ソースコードを読み、何かの挙動を探るなどの場面 (くらいのレベル感) で辞書として使うのが良いかとかと思います。 -
通読。1000ページ弱のボリュームはかなりヘビー(物理的にも)。第2版はかなり以前に読んでいたが、ページテーブルの操作など、追補が多いので改めて読む価値はあった。実際の関数コールを追っている部分も多いので、必要に応じてソースコードと付きあわせて理解を進める必要がある。Linux上で開発をする人は読んだ方が良い書籍。デバッガの動作とか、プロセス間通信の設計とか、動作原理がわかっているとトラブルシュートが楽になる。ただ、UNIX系OSの設計思想については各論にとどまるので、別書籍で補完する必要がある。
-
読み切れる分厚さじゃない
-
なかなか全部は読めてないけど、ネットで調べるより詳しい情報が手に入ります。
-
この本に書いてあるのは、各機能ごとの概要説明とその実装の詳細な解説。この概要説明でさえもかなりのOSに関する前提知識が必要。
機能の概要の説明だけであれば Linuxカーネル2.6解読室 の方がわかりやすかった。(Linuxカーネル2.6解読室は一部Webで公開されているものを読んだだけですが...。)
ある程度Linuxプログラミングを書いて外からみたカーネルの動作を把握した上で、具体的に何らかの理由があってここの実装が知りたい、というときにソースと一緒に辞書的に必要な箇所だけ読む本。
もしLinuxプログラミングを学びたいのであれば、カーネルAPIだけでなくLinuxの基礎的な解説もある、"ふつうのLinuxプログラミング"、"詳解UNIXプログラミング" などの本を読みつつコードを書いていくのがよさそう。
(追記)
ある程度OSの知識をつけてから改めてこの本を読みつつLinuxのコードをよんでみた。コードにもコメントはついているがそれでも難解な部分もあるため、コードリーディングする際にはこの本は必須だった。 -
LINUX内部を読み解くための羅針盤。OSからハードウェアまでのシステムの構造がよく分かるようになりました。
-
Linuxに関して、深く知る必要があったので読みました。
メモリやドライバ、プロセス、ファイルについて詳細に書かれていると思います。
特にメモリに関しては、物理的なメモリと論理的なメモリ、プロセスへ割り当て方等、細かく説明が書かれています。また、ブロック型のドライバのメモリの使用方法についても書かれています。
KernelのSource Codeと読み比べた訳ではないですが、説明はSource Codeを元に書かれていると思います。Source Codeで確認する前に本書で解説を読むことでより簡単にSource Codeを理解することができると思います。
LinuxのOSに機能を追加する方や、ファイルシステムの開発担当の方にお勧めします。
ただ、本書は、大変分厚く電車で読むのは苦労しました。