本文へスキップします。

【参】モーダルJS:読み込み
書籍DB:詳細

C言語による UNIXシステムプログラミング入門

C言語による UNIXシステムプログラミング入門

  • 著者河野 清尊
  • 定価3,024円 (本体2,800円+税)
  • 判型B5変
  • 480頁
  • ISBN978-4-274-06499-9
  • 発売日2003/02/25
  • 発行元オーム社

C言語によるUNIXシステムプログラミングの入門書!

本書は、UNIX初心者を対象に、ファイル、プロセスおよびネットワークを使ったプロセス間通信の概念と仕組み、そして、それらの機能を利用できるようにするために、UNIXがプログラムインタフェースとして提供しているシステムコールの使い方について解説します。UNIXの機能全般を網羅的に扱うことにより、初心者にとって一通りUNIXに触れることができるようにするとともに、難易度の高い内容も豊富で有用なサンプルプログラムを使って平易に説明します。
■第Ⅰ部 UNIXでプログラムを作ってみよう
1章 UNIXにおけるプログラミング環境
1.1 GUIとCLI
1.1.1 GUIとは
1.1.2 CLIとは
1.1.3 GUIとCLIを比較すると
1.2 C言語プログラミング
1.2.1 コンパイラとインタプリタ
1.2.2 Cコンパイラの使い方
1.2.3 Cコンパイラの処理の流れ
1.3 シェルとスクリプト言語
1.3.1 シェルの種類と機能
1.3.2 シェルの環境設定
1.3.3 スクリプト言語
1.4 UNIXの基本的なコマンド
1.4.1 ソフトウェア開発用コマンド
1.4.2 UNIX初心者が知っておくべき基本的なコマンド
この章のポイント

2章 コマンド作成方法
2.1 コマンド行パラメータの処理
2.2 環境変数の処理
2.2.1 環境変数の獲得と設定
2.2.2 代表的な環境変数
2.3 オプションの処理
2.3.1 オプションの指定方法
2.3.2 オプションの処理方法
2.4 Usageメッセージ
2.4.1 Usageメッセージの出力方法
2.4.2 Usageメッセージの出力を行う場面
2.4.3 Usageメッセージ作成のルール
この章のポイント

■第Ⅱ部 UNIXの内部を覗いてみよう
3章 システムコールの仕組みと働き
3.1 システムコールの働き
3.1.1 printf()は何を呼ぶ? -ライブラリ関数の行き着くところ
3.1.2 write()は何を呼ぶ? -カーネルとのホットライン
3.2 システムコールの仕組み
3.3 システムコールの種類と機能
3.4 システムコールのエラーメッセージ
この章のポイント

4章 ファイル
4.1 ファイルの種類と木構造
4.1.1 ファイル名とパス名
4.1.2 ファイルの保護
4.2 ファイルシステムの構造
4.2.1 ディスクパーティション
4.2.2 ファイルシステム
4.2.3 ディレクトリファイル
4.2.4 デバイスファイル
4.2.5 マウントとアンマウント
4.3 デバイススイッチ
4.3.1 デバイス番号
4.3.2 デバイスドライバ
4.3.3 デバイススイッチ機構
4.4 標準入出力
4.4.1 標準入出力の切り替え
4.4.2 フィルタ
4.5 ファイル記述子とファイルポインタ
4.5.1 利用者ファイル記述子表
4.5.2 ファイル記述子
4.5.3 ファイルポインタ
4.6 端末制御
この章のポイント

5章 プロセス
5.1 プログラムとプロセス
5.1.1 プログラム
5.1.2 プロセス
5.2 プロセスの木構造
5.3 プロセスの状態
5.4 プロセスの管理
5.4.1 プロセスIDとプロセスグループID
5.4.2 プロセス優先度
5.4.3 ユーザID
5.4.4 グループID
5.5 シグナル
この章のポイント

6章 プロセス間通信
6.1 パイプを使ったプロセス間通信
6.1.1 単方向パイプ
6.1.2 双方向パイプ
6.2 ソケットを使ったプロセス間通信
6.2.1 ソケットとバインド
6.2.2 ドメイン
6.2.3 バーチャルサーキットとデータグラム
6.2.4 クライアントサーバシステム
6.2.5 ソケットの基本的な使用方法
この章のポイント

■第Ⅲ部 システムコールを使ってみよう
7章 ファイルの入出力
7.1 ファイル入出力
7.2 ファイルに対する操作
この章のポイント

8章 端末入出力
8.1 属性情報の獲得
8.2 属性情報の設定
この章のポイント

9章 プロセスの生成と実行
9.1 プロセスの実行
9.2 プロセスの生成
9.3 プロセス管理情報の獲得と設定
9.3.1 プロセス管理情報の獲得
9.3.2 プロセス管理情報の設定
9.3.3 プロセスの制御
この章のポイント

10章 シグナル処理
10.1 シグナル捕獲時の処理
10.2 タイマー処理
10.3 プロセス間でのシグナル送受信
この章のポイント

11章 パイプを使ったプロセス間通信
11.1 単方向パイプ
11.2 双方向パイプ
11.3 標準入出力とパイプ
この章のポイント

12章 ソケットを使ったプロセス間通信
12.1 ソケット関連のシステムコール
12.1.1 ソケットの作成と名前づけ
12.1.2 接続要求の発信
12.1.3 INETドメインにおけるソケットアドレス情報の与え方
12.1.4 接続要求の受け入れ準備を許可
12.1.5 ストリームソケットを用いた場合のデータ送受信
12.1.6 データグラムソケットを用いた場合のデータ送受信
12.2 ネットワークライブラリ
12.2.1 バイトオーダ変換にかかわるライブラリ関数
12.2.2 IPアドレス操作にかかわるライブラリ関数
12.2.3 バイト列操作にかかわるライブラリ関数
12.2.4 ネットワーク設定ファイルを参照するライブラリ関数
12.3 ストリームソケットを用いたプロセス間通信
12.3.1 UNIXドメイン
12.3.2 INETドメイン
12.3.3 反復サーバ
12.3.4 並行サーバ
12.3.5 非同期通信
12.4 データグラムソケットを用いたプロセス間通信
12.4.1 INETドメインにおける同期通信
12.4.2 ブロードキャスト
この章のポイント

13章 まとめ
13.1 その他のシステムコール
13.2 有用なライブラリ関数
13.3 続・海と山と空と雲と

付録

コラム目次
1章 UNIXにおけるプログラミングの心得
2章 環境変数とシェル変数
6章 ネットワークプロトコル
7章 ぬる、ヌル、NULL!?
9章 産めよ増やせで地に満てた
10章 亡霊プロセスの大往生
11章 バイトオーダ(big-endianとlittle-endian)
12章 UNIXとインターネット
13章 80-20法則

 ここでは、本書の中で取り上げたサンプルプログラムのアーカイブを提供しています。UNIX 用(tar.gz形式)を用意していますので、ダウンロードしてご使用ください。

  • 本ファイルは、本書をよくお読みの上ご利用ください。また、本ファイルの著作権は、本書の著作者である、河野清尊氏に帰属します。
  • 本ファイルを利用したことによる直接あるいは間接的な損害に関して、著作者およびオーム社はいっさいの責任を負いかねます。利用は利用者個人の責任において行ってください。また、ソフトウェアの動作・実行環境、操作についての質問には一切お答えすることはできません。

c_unix_systemprog.tar.gz は、UNIX用のアーカイブです(約24Kバイト)。tarでアーカイブしたものをgzipにより圧縮しています。コマンドラインから以下のように入力して解凍してください($はプロンプト記号です)。

$ cat c_unix_systemprog.tar.gz | zcat | tar xvf -

または

$ tar zxvf c_unix_systemprog.tar.gz


解凍後のディレクトリ構成は次のとおりです。
ディレクトリ「chapterxx」および「appnedix」以下に、各ソースコードが収められています。

source_list
┗src
 ┣chapter1
 ┣chapter2
 ┣chapter3
 ┣chapter7
 ┣chapter8
 ┣chapter9
 ┣chapter10
 ┣chapter11
 ┣chapter12
 ┗appendix