home Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)

日記/2010/10/28/「Unix/Linuxプログラミング理論と実践」読み終わった

作成日: 2010-10-28 23:48:16   /   last updated at: 2010-10-29 00:11:09
カテゴリ: Linux UNIX 読書 

2007年7月頃に購入していて、ず~っと本棚に眠っていたのを、ようやく読み終えることが出来ました。

Unix/Linuxプログラミング理論と実践 | Bruce Molay, 長尾 高弘 |本 | 通販 | Amazon

実際に読んだのは、粋がって買ってしまった洋書版の方ですが。

Amazon | Understanding UNIX/LINUX Programming: A Guide to Theory and Practice | Molay, Bruce | Unix

2010.10.28時点では日本語訳の方が安価です。amazonレビューにも特に日本語訳についてのつっこみはないので、素直に日本語訳の方を購入しても問題ないと思います。

では簡単な感想を。

タイトルに偽り無く「理論と実践」を徹底的に示してくれています。
UNIXの理論あるいはコンセプトとは、一言に凝縮してしまえば「ユーザープロセスと外部リソース(カーネル・ファイルI/O・ソケットなど)のデータ入出力を『ファイル記述子』という概念で抽象化したこと」にあると思います。
この書籍では、プロセスが外部リソースの入出力をどう扱うのか、という観点を大切にしています。

  • プロセスと端末 : tty, termios, curses系
  • プロセスとディスクI/O : open(2)系
  • プロセスとプロセス・カーネル : fork, exec, thread, signal, timer, pipe, SysV IPC
  • マシンを隔てたプロセス間 : socket

そしてUNIXの理論が、実際に日常的に使われているプログラムでどのように実践されているのかを、自分で同じプログラムを作ってみることで理解できるよう導いてくれます。

Cプログラミングも初めての全くの初心者向きではありませんが、C言語を一通り使いこなせて、Linux/UNIXでの日常的なファイル操作やコンパイルをこなせるレベルであれば問題なく読みこなせる難易度です。

最後に若干気になった点として、socketとTCP/IP周りが少し駆け足気味に思えました。ホスト名解決やサーバ側でのaccept(2)後の処理のバリエーションがもうちょっと欲しかったところです。とはいえ、この一冊を読みこなした後であれば、個別の分野でのより発展的な話題についても自力で調べることができるようになっている筈ですので、特に問題にはならないでしょう。

Linux/UNIX環境でのプログラミングを学びたい人全てに、「最初の一冊」として自信をもってオススメできる良著です。まずはここから初めてみてはいかがでしょうか。

original url: https://www.glamenv-septzen.net/view/818