ふつうのLinuxプログラミング

2009-05-28読了)

Linuxプログラミングの基礎.ファイルシステム,プロセス,ストリームの3つを軸にシステムコールAPIの解説を行っている.
恥ずかしながらUNIX/Linuxプログラミングてどゆこと??と思っていた部分が少しは解消されたと思う.

必要以上に深く説明せず,また長い解説を避けているため,スラスラと読み進めることができる.ゆとり向けの構成.この手の本を初めて通読することができた.
システムコールとライブラリ関数の違いすらわかっていなかったが,挫折せずに読むことができた.Cプログラミング入門書の次に読むと,Linux (UNIX) OSの理解も深まる.
Linuxディレクトリツリー構造の説明など,意外にまとめて知ることのない情報があってためになった.

システムコール自体は普段使わないけれど,ライブラリ関数がどのシステムコールを利用しているか,ということを把握しておくことは大事.なのかなと思った.頭の表面では理解できたけれど腑に落ちていないことがたくさんあるので,復習も兼ねて次はLinuxシステムプログラミングあたりを読もう.

メモ

  • 大規模なmallocmmapを行う
  • ゾンビプロセスをつくらないためのダブルfork
  • fopen(), fread(), fxxはバッファを使う
    • 例えopenしてもカーネル側でバッファリングする可能性があるらしい
  • プロセス間をストリームでつないだのがパイプ
  • プロセス群は,たとえばパイプでつながれたコマンド群をkillする際に必要
  • getc()/fgetc(), putc()/fputc()の違いはマクロで定義されているか否か.実行速度にほとんど影響なし