なるほどUnixプロセス―Rubyで学ぶUnixの基礎


達人出版会


著者:Jesse Storimer
訳者:島田浩二、角谷信太郎


日本語版刊行によせて
日本の読者の皆さんへ
謝辞
ライセンスについて

第1章 はじめに

第2章 本書の手引き
2.1 なぜUnixなのか?
2.2 力をつかいこなせ!
2.3 本書の構成
2.4 システムコール
2.5 用語の体系,nanzokore(2)
2.6 プロセス: Unixの原子

第3章 プロセスにはIDがある
3.1 相互参照
3.2 実用例
3.3 この章で扱ったシステムコール

第4章 プロセスには親がいる
4.1 相互参照
4.2 実用例
4.3 この章で扱ったシステムコール

第5章 プロセスにはファイルディスクリプタがある
5.1 すべてはファイル
5.2 ディスクリプタはリソースを表す
5.3 標準ストリーム
5.4 実用例
5.5 この章で扱ったシステムコール

第6章 プロセスにはリソースの制限がある
6.1 制限を見つける
6.2 ソフトリミットとハードリミット
6.3 ソフトリミットを引き上げる
6.4 制限を超えたとき
6.5 その他のリソース
6.6 実用例
6.7 この章で扱ったシステムコール

第7章 プロセスには環境がある
7.1 これってハッシュなんだよね?
7.2 実用例
7.3 この章で扱ったシステムコール

第8章 プロセスには引数がある
8.1 引数は配列!
8.2 実用例

第9章 プロセスには名前がある
9.1 プロセスを名づける
9.2 実用例

第10章 プロセスには終了コードがある
10.1 プロセスの終了の仕方
10.1.1 exit
10.1.2 exit!
10.1.3 abort
10.1.4 raise

第11章 プロセスは子プロセスを作れる
11.1 fork(2)を使え、ルーク
11.2 これはマルチコアプログラミングなの?
11.3 ブロックを使う
11.4 実用例
11.5 この章で扱ったシステムコール

第12章 孤児プロセス
12.1 制御不能
12.2 見捨てられた子供たち
12.3 孤児を管理する

第13章 プロセスは優しい
13.1 CoW フレンドリになる

第14章 プロセスは待てる
14.1 子守り
14.2 Process.waitとその一族
14.3 Process.wait2を使ってやりとりする
14.4 特定の子プロセスを待つ
14.5 競合状態
14.6 実用例
14.7 この章で扱ったシステムコール

第15章 ゾンビプロセス
15.1 果報は寝て待て
15.2 ゾンビはどんな風に見えるのか?
15.3 実用例
15.4 この章で扱ったシステムコール

第16章 プロセスはシグナルを受信できる
16.1 SIGCHLDを捕捉する
16.2 SIGCHLDと並列性
16.3 シグナルの手引き
16.4 シグナルはどこから飛んでくるの?
16.5 全体像
16.6 シグナルを再定義する
16.7 シグナルを無視する
16.8 シグナルハンドラはグローバルである
16.9 シグナルの再定義は紳士的に
16.10 シグナルを受信できなかったらどうなるの?
16.11 実用例
16.12 この章で扱ったシステムコール

第17章 プロセスは通信できる
17.1 はじめてのパイプ
17.2 パイプは一方通行
17.3 パイプを共有する
17.4 ストリームとメッセージ
17.5 リモートでIPCするには?
17.6 実用例
17.7 この章で扱ったシステムコール

第18章 デーモンプロセス
18.1 最初のプロセス
18.2 はじめてのデーモンプロセス
18.3 Rackに飛び込む
18.4 プロセスのデーモン化:ステップバイステップ
18.5 プロセスグループとセッショングループ
18.6 実用例
18.7 この章で扱ったシステムコール

第19章 端末プロセスを作る
19.1 fork+exec
19.2 ファイルディスクリプタとexec
19.3 execの引数
19.3.1 Kernel#system
19.3.2 Kernel#‘
19.3.3 Process.spawn
19.3.4 IO.popen
19.3.5 open3
19.4 実用例
19.5 この章で扱ったシステムコール

第20章 おわりに
20.1 抽象化
20.2 情報伝達
20.3 別れの言葉、でもさよならじゃない

付録 1 Resque のプロセス管理
アーキテクチャ
メモリ管理のためのフォーク
どうしてこんな手間を?
GCが掃除をしてくるんじゃなかったっけ?

付録 2 Unicorn のワーカープロセスの管理
何を管理してるのか?
結論

付録 3 prefork サーバ
効率的なメモリ利用
たくさんのMongrel
たくさんのUnicorn
効率的な負荷分散
効率的なシステム管理
preforkサーバの簡単な例

付録 4 Spyglass
Spyglassのアーキテクチャ
Spyglassを起動する
リクエストが届く前にやること
クライアントから接続されたら
平穏が訪れたら
ここからが本当の始まりだ

訳者あとがき
本書を超えて
謝辞
 訳者 2人からの謝辞
 島田からの謝辞
 角谷からの謝辞

書籍目次

Posted by shi-n