翔泳社の公式通販SEshopは全国送料無料!
ヘルプ 法人のお客様へ 新規会員登録 ログイン
SEshop

詳解UNIXプログラミング[第3版]【PDF版】

W. Richard Stevens(著) , 大木 敦雄(監修) , 大木 敦雄(翻訳) , 大木 敦雄(原著) , Stephen A.Rago(著)

商品番号
135020
販売状態
発売中
納品形態
会員メニューよりダウンロード
発売日
2017年05月16日
ISBN
9784798135021
データサイズ
約19.0MB
制限事項
印刷可・テキストのコピー可
キーワード
プログラミング  UNIX  電子書籍【PDF版】

9,130円(税込)(本体8,300円+税10%)
送料無料

830pt (10%)
ポイントの使い方はこちら

在庫あり

初回購入から使えるポイント500円分プレゼント

紙の書籍はこちら

※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。

  • ポスト
  • 本製品は電子書籍【PDF版】です。
  • ご購入いただいたPDFには、購入者のメールアドレス、および翔泳社独自の著作権情報が埋め込まれます。
    PDFに埋め込まれるメールアドレスは、ご注文時にログインいただいたアドレスとなります。
    Amazon Payでのお支払いの場合はAmazonアカウントのメールアドレスが埋め込まれます。
  • 本製品を無断で複製、転載、譲渡、共有および販売を行った場合、法律により罰せられる可能性がございます。
  • ご購入の前に必ずPDF利用案内をお読みください。

UNIXと真剣に関わる人のための重要な1冊

UNIXシステムの標準Cライブラリが提供するシステムコールをはじめ、膨大な関数について詳細に解説し、「UNIXでプログラミングを行う者すべてが読むべき1冊。読んでないヤツはモグリだ」とまで言わしめたUNIXプログラマ必読の書籍です。

もちろん非プログラマにとっても、UNIXという環境や仕組みを、その“考え方”のレベルから説き起こし豊富な演習問題で理解させてくれる、名実ともに剛毅な大著です。これまで日本語で読めたのは1992年に刊行された原書初版でしたが、本書は最新版(第3版)を翻訳したものです。訳者はその初版から携わっていた大木敦雄先生です。

【注意:本書第1刷は原書のエラータサイト(http://www.apuebook.com/errata3e.html)のうち、第17項までを取り込んでいます。】

PDF版のご利用方法

  1. ご購入後、SEshopにログインし、会員メニューに進みます。
  2. ご購入電子書籍およびデータ > [ご購入電子書籍およびダウンロードデータ一覧]をクリックします。
  3. 購入済みの電子書籍のタイトルが表示されますので、リンクをクリックしてダウンロードしてください。
  4. PDF形式のファイルを、お好きな場所に保存してください。
  5. 端末の種類を問わず、ご利用いただけます。

1 UNIX システムの概要

 1.1 はじめに
 1.2 UNIX のアーキテクチャ
 1.3 ログイン
 1.4 ファイルとディレクトリ
 1.5 入出力
 1.6 プログラムとプロセス
 1.7 エラー処理
 1.8 ユーザの識別
 1.9 シグナル
 1.10 時間
 1.11 システムコールとライブラリ関数群
 1.12 まとめ

2 UNIX の規格と実装

 2.1 はじめに
 2.2 UNIX の規格
 2.2.1 ISO C
 2.2.2 IEEE POSIX
 2.2.3 Single UNIX Specification
 2.2.4 FIPS
 2.3 UNIX システムの実装
 2.3.1 UNIX System V Release 4
 2.3.2 4.4BSD
 2.3.3 FreeBSD
 2.3.4 Linux
 2.3.5 Mac OS X
 2.3.6 Solaris
 2.3.7 その他のUNIX システム
 2.4 規格と実装の関係
 2.5 制限事項
 2.5.1 ISO C の制限事項
 2.5.2 POSIX の制限事項
 2.5.3 XSI の制限事項
 2.5.4 関数sysconf、pathconf、fpathconf
 2.5.5 不定な実行時の制限事項
 2.6 オプション
 2.7 機能テストマクロ
 2.8 基本システムデータ型
 2.9 規格間の違い
 2.10 まとめ

3 ファイル入出力

 3.1 はじめに
 3.2 ファイル記述子
 3.3 関数open とopenat
 3.4 関数creat
 3.5 関数close
 3.6 関数lseek
 3.7 関数read
 3.8 関数write
 3.9 入出力の効率
 3.10 ファイル共有
 3.11 不可分(アトミック) 操作
 3.12 関数dup とdup2
 3.13 関数sync、fsync、fdatasync
 3.14 関数fcntl
 3.15 関数ioctl
 3.16 /dev/fd
 3.17 まとめ

4 ファイルとディレクトリ

 4.1 はじめに
 4.2 関数stat、fstat、fstatat、lstat
 4.3 ファイルの種類
 4.4 セットユーザID とセットグループID
 4.5 ファイルアクセス許可
 4.6 新規ファイルとディレクトリの所有権
 4.7 関数access とfaccessat
 4.8 関数umask
 4.9 関数chmod、fchmod、fchmodat
 4.10 スティッキビット
 4.11 関数chown、fchown、fchownat、lchown
 4.12 ファイルサイズ
 4.13 ファイルの切り詰め
 4.14 ファイルシステム
 4.15 関数link、linkat、unlink、unlinkat、remove
 4.16 関数rename、renameat
 4.17 シンボリックリンク
 4.18 シンボリックリンクの作成と読み取り
 4.19 ファイルの時刻
 4.20 関数futimens、utimensat、utimes
 4.21 関数mkdir、mkdirat、rmdir
 4.22 ディレクトリの読み取り
 4.23 関数chdir、fchdir、getcwd
 4.24 装置特殊ファイル
 4.25 ファイルアクセス許可ビットのまとめ
 4.26 まとめ

5 標準入出力ライブラリ

 5.1 はじめに
 5.2 ストリームとFILE オブジェクト
 5.3 標準入力、標準出力、標準エラー
 5.4 バッファリング
 5.5 ストリームのオープン
 5.6 ストリームの読み書き
 5.7 行単位入出力
 5.8 標準入出力の効率
 5.9 バイナリ入出力
 5.10 ストリームの位置決め
 5.11 書式付き入出力
 5.12 実装の詳細
 5.13 一時ファイル
 5.14 メモリストリーム
 5.15 標準入出力の代替
 5.16 まとめ

6 システムデータファイルと情報

 6.1 はじめに
 6.2 パスワードファイル
 6.3 シャドーパスワードファイル
 6.4 グループファイル
 6.5 補助グループID
 6.6 実装の差異
 6.7 その他のデータファイル
 6.8 ログイン記録
 6.9 システムの識別
 6.10 時間と日付のルーティン
 6.11 まとめ

7 プロセスの環境

 7.1 はじめに
 7.2 関数main
 7.3 プロセスの終了
 7.4 コマンド行引数
 7.5 環境リスト
 7.6 C プログラムのメモリ配置
 7.7 共有ライブラリ
 7.8 メモリ割り付け
 7.9 環境変数
 7.10 関数setjmp とlongjmp
 7.11 関数getrlimit とsetrlimit
 7.12 まとめ

8 プロセスの制御

 8.1 はじめに
 8.2 プロセス識別子
 8.3 関数fork
 8.4 関数vfork
 8.5 exit 関数群
 8.6 関数wait とwaitpid
 8.7 関数waitid
 8.8 関数wait3 とwait4
 8.9 レースコンディション
 8.10 exec 関数群
 8.11 ユーザID とグループID の変更
 8.12 解釈実行ファイル
 8.13 関数system
 8.14 プロセスの実行記録
 8.15 ユーザの識別
 8.16 プロセススケジューリング
 8.17 プロセス時間
 8.18 まとめ

9 プロセスの関係

 9.1 はじめに
 9.2 端末ログイン
 9.3 ネットワークログイン
 9.4 プロセスグループ
 9.5 セッション
 9.6 制御端末
 9.7 関数tcgetpgrp、tcsetpgrp、tcgetsid
 9.8 ジョブ制御
 9.9 シェルのプログラム実行
 9.10 親のないプロセスグループ
 9.11 FreeBSD の実装
 9.12 まとめ

10 シグナル

 10.1 はじめに
 10.2 シグナルの概念
 10.3 関数signal
 10.4 信頼できないシグナル
 10.5 割り込まれたシステムコール
 10.6 再入可能関数
 10.7 SIGCLD の意味
 10.8 信頼できるシグナルの用語と意味
 10.9 関数kill とraise
 10.10 関数alarm とpause
 10.11 シグナルセット
 10.12 関数sigprocmask
 10.13 関数sigpending
 10.14 関数sigaction
 10.15 関数sigsetjmp とsiglongjmp
 10.16 関数sigsuspend
 10.17 関数abort
 10.18 関数system
 10.19 関数sleep、nanosleep、clock nanosleep
 10.20 関数sigqueue
 10.21 ジョブ制御シグナル
 10.22 シグナル名と番号
 10.23 まとめ

11 スレッド

 11.1 はじめに
 11.2 スレッドの概念
 11.3 スレッド識別子
 11.4 スレッドの作成
 11.5 スレッドの終了
 11.6 スレッドの同期
 11.6.1 ミューテックス(mutexes)
 11.6.2 デッドロックの回避
 11.6.3 関数pthread mutex timedlock
 11.6.4 リーダ-ライタロック
 11.6.5 時間切れリーダ-ライタロック
 11.6.6 条件変数
 11.6.7 スピンロック
 11.6.8 バリア
 11.7 まとめ

12 スレッドの制御

 12.1 はじめに
 12.2 スレッドの制限事項
 12.3 スレッドの属性
 12.4 同期の属性
 12.4.1 ミューテックス属性
 12.4.2 リーダ-ライタロック属性
 12.4.3 条件変数属性
 12.4.4 バリア属性
 12.5 再入可能性
 12.6 スレッド固有のデータ
 12.7 キャンセル操作
 12.8 スレッドとシグナル
 12.9 スレッドとfork
 12.10 スレッドと入出力
 12.11 まとめ

13 デーモン

 13.1 はじめに
 13.2 デーモンの特性
 13.3 コーディング規則
 13.4 エラーログ
 13.5 単一インスタンスデーモン
 13.6 デーモンの慣習
 13.7 クライアント-サーバモデル
 13.8 まとめ

14 高度な入出力

 14.1 はじめに
 14.2 非ブロック入出力
 14.3 レコードロック
 14.4 入出力マルチプレクス
 14.4.1 関数select とpselect
 14.4.2 関数poll
 14.5 非同期入出力
 14.5.1 System V の非同期入出力
 14.5.2 BSD の非同期入出力
 14.5.3 POSIX の非同期入出力
 14.6 関数readv とwritev
 14.7 関数readn とwriten
 14.8 メモリマップト入出力
 14.9 まとめ

15 プロセス間通信

 15.1 はじめに
 15.2 パイプ
 15.3 関数popen とpclose
 15.4 コプロセス
 15.5 FIFO
 15.6 XSI IPC
 15.6.1 識別子とキー
 15.6.2 アクセス許可構造
 15.6.3 構成制限
 15.6.4 利点と欠点
 15.7 メッセージキュー
 15.8 セマフォ
 15.9 共有メモリ
 15.10 POSIX セマフォ
 15.11 クライアント-サーバ特性
 15.12 まとめ

16 ネットワークIPC: ソケット

 16.1 はじめに
 16.2 ソケット記述子
 16.3 アドレシング
 16.3.1 バイト順序
 16.3.2 アドレス形式
 16.3.3 アドレス検索
 16.3.4 ソケットへのアドレス付け
 16.4 接続の確立
 16.5 データ転送
 16.6 ソケットオプション
 16.7 優先配送データ
 16.8 非ブロック/非同期入出力
 16.9 まとめ

17 高度なプロセス間通信

 17.1 はじめに
 17.2 UNIX ドメインソケット
 17.2.1 UNIX ドメインソケットの名前付け
 17.3 一意な接続
 17.4 ファイル記述子の渡し方
 17.5 オープンサーバ、バージョン1
 17.6 オープンサーバ、バージョン2
 17.7 まとめ

18 端末入出力

 18.1 はじめに
 18.2 概要
 18.3 特殊入力文字
 18.4 端末属性の取得と設定
 18.5 端末オプションフラグ
 18.6 コマンドstty
 18.7 ボーレート関数群
 18.8 ライン制御関数群
 18.9 端末識別
 18.10 カノニカルモード
 18.11 非カノニカルモード
 18.12 端末ウィンドウサイズ
 18.13 termcap、terminfo、curses
 18.14 まとめ

19 擬似端末

 19.1 はじめに
 19.2 概要
 19.3 擬似端末装置のオープン
 19.4 関数pty fork
 19.5 プログラムpty
 19.6 プログラムpty の使用
 19.7 高度な機能
 19.8 まとめ

20 データベースライブラリ

 20.1 はじめに
 20.2 歴史
 20.3 ライブラリ
 20.4 実装の概要
 20.5 集中か非集中?
 20.6 並行性
 20.7 ライブラリの構築
 20.8 ソースコード
 20.9 実行効率
 20.10 まとめ

21 ネットワークプリンタとの通信

 21.1 はじめに
 21.2 インターネットプリンティングプロトコル
 21.3 ハイパーテキストトランスファープロトコル
 21.4 プリンタスプーリング
 21.5 ソースコード
 21.6 まとめ

付録A 関数プロトタイプ

付録B その他のソースコード

 B.1 自前のヘッダファイル
 B.2 標準エラールーティン群

付録C 一部演習の解答

各種問い合わせは以下のリンクからご連絡ください

感想・レビュー

なめたけ さん

2018-03-07

読み終わって初めて記録が残せるのか

関連商品

おすすめ特集

プログラミング入門書大特集

翔泳社のプログラミング書籍の中から、入門・初級者向けの書籍をピックアップ!

Linuxおすすめ本特集

【Linux本特集】入門~達人レベルまで!クラウド時代の必須知識Linuxを学ぶおすすめの本

ライティングおすすめ本

ライティングのスキルアップにおすすめの本。Webライティングやコピーライティングなど

マネー本特集

お金と経済の基礎知識から、資産形成・投資術、お金教育や介護まで。暮らしに役立つマネー本

インテリア本特集

おしゃれな部屋作りのヒントやインテリアの基礎知識、色使い、うつわや洋食器の知識まで、幅広い書籍をご紹介

事務職におすすめの本

Excel、日商簿記、業務の自動化を実現するRPAやPythonの技術など、事務職としてステップアップしたい人に!

特集をもっと見る