目次
イントロダクション
1 基礎
1.1
Sys
モジュールと
Unix
モジュール
1.2 プログラムを呼ぶためのインターフェース
1.3 エラー処理
1.4 ライブラリ関数
2 ファイル
2.1 ファイルシステム
2.2 ファイル名とファイルディスクリプタ
2.3 ファイルのメタ属性、種類、権限
2.4 ディレクトリに対する操作
2.5 完全な例: ファイル階層の検索
2.6 ファイルのオープン
2.7 読み込みと書き込み
2.8 ディスクリプタのクローズ
2.9 完全な例: ファイルのコピー
2.10 システムコールのコストとバッファ
2.11 完全な例: 簡単な入出力ライブラリ
2.12 入出力の位置
2.13 ファイルの種類に特有の操作
2.14 ファイルのロック
2.15 完全な例: 再帰的なファイルのコピー
2.16 完全な例: TAR
3 プロセス
3.1 プロセスの作成
3.2 完全な例:
leave
コマンド
3.3 プロセスの終了を待つ
3.4 プログラムの起動
3.5 完全な例: ミニシェル
4 シグナル
4.1 デフォルトの動作
4.2 シグナルの利用
4.3 シグナルに対する動作の変更
4.4 シグナルのマスク
4.5 シグナルとシステムコール
4.6 時間の経過
4.7 シグナルの問題点
5 古典的なプロセス間通信: パイプ
5.1 パイプ
5.2 完全な例: 並列エラトステネスのふるい
5.3 名前付きパイプ
5.4 ディスクリプタのリダイレクト
5.5 完全な例:
N
個のコマンドの合成
5.6 入出力の多重化
5.7 その他:
write
6 モダンなプロセス間通信: ソケット
6.1 ソケット
6.2 ソケットの作成
6.3 アドレス
6.4 サーバへの接続
6.5 ソケットの切断
6.6 完全な例: ユニバーサルクライアント
6.7 サービスの確立
6.8 ソケットの設定
6.9 完全な例: ユニバーサルなサーバ
6.10 コネクションレス型通信
6.11 低レベル入出力
6.12 高レベルプリミティブ
6.13 プロトコルの例
6.14 完全な例:
http
リクエスト
7 スレッド
7.1 イントロダクション
7.2 スレッドの作成と終了
7.3 スレッドの終了待ち
7.4 スレッドの同期: ロック
7.5 完全な例:
http
リレー
7.6 条件変数
7.7 イベントベースの同期通信
7.8 実装の詳細
さらに先へ
References
索引