JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
プログラミングインタフェースガイド     Oracle Solaris 10 1/13 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  メモリーと CPU の管理

2.  リモート共有メモリー API (Solaris クラスタ用)

3.  セッション記述プロトコル API

4.  プロセススケジューラ

5.  近傍性グループ API

6.  入出力インタフェース

7.  プロセス間通信

プロセス間のパイプ

名前付きパイプ

ソケットの概要

POSIX プロセス間通信

POSIX メッセージ

POSIX セマフォー

POSIX 共有メモリー

System V IPC

メッセージ、セマフォー、および共有メモリーのアクセス権

IPC インタフェース、キー引数、および作成フラグ

System V メッセージ

メッセージ待ち行列の初期化

メッセージ待ち行列の制御

メッセージの送受信

System V セマフォー

セマフォーのセットの初期化

セマフォーの制御

セマフォーの操作

System V 共有メモリー

共有メモリーセグメントのアクセス

共有メモリーセグメントの制御

共有メモリーセグメントの接続と切り離し

8.  ソケットインタフェース

9.  XTI と TLI を使用したプログラミング

10.  パケットフィルタリングフック

11.  トランスポート選択と名前からアドレスへのマッピング

12.  リアルタイムプログラミングと管理

13.  Solaris ABI と ABI ツール

A.  UNIX ドメインソケット

索引

POSIX プロセス間通信

POSIX プロセス間通信 (IPC) は System V プロセス間通信の変形です。POSIX プロセス間通信は Solaris 7 で導入されました。System V オブジェクトと同様に、POSIX IPC オブジェクトは、所有者、所有者のグループ、およびその他に読み取り権と書き込み権がありますが、実行権はありません。POSIX IPC オブジェクトの所有者が、そのオブジェクトの所有者を変更する方法はありません。POSIX IPC には、次のような機能が含まれます。

System V IPC インタフェースとは異なり、POSIX IPC インタフェースはすべてマルチスレッドに対して安全です。

POSIX メッセージ

次の表に、POSIX メッセージ待ち行列インタフェースの一覧を示します。

表 7-2 POSIX メッセージ待ち行列インタフェース

インタフェース名
目的
名前付きメッセージ待ち行列に接続します。指定によっては作成します
開いているメッセージ待ち行列への接続を終了します
開いているメッセージ待ち行列への接続を終了し、最後のプロセスが待ち行列を閉じるときに待ち行列を削除します
メッセージを待ち行列に入れます
もっとも古い最高優先順位メッセージを待ち行列から受け取るか、削除します
メッセージが待ち行列で使用できることをプロセスまたはスレッドに通知します
メッセージ待ち行列属性を設定または取得します

POSIX セマフォー

POSIX セマフォーは、System V セマフォーより軽量です。POSIX セマフォー構造体は 25 個までのセマフォーの配列ではなく、1 つのセマフォーだけを定義します。

次の表に、POSIX セマフォーインタフェースの一覧を示します。

sem_open(3RT)

名前付きセマフォーに接続する。指定によっては作成します

sem_init(3RT)

名前なしセマフォー構造体を初期化します (呼び出し元プログラムの内部で行われるのため、名前付きセマフォーではない)

sem_close(3RT)

開いているセマフォーへの接続を終了します

sem_unlink(3RT)

開いているセマフォーへの接続を終了し、最後のプロセスがセマフォーを閉じるときにセマフォーを削除します

sem_destroy(3RT)

名前なしセマフォー構造体を初期化します (呼び出し元プログラムの内部で行われるのため、名前付きセマフォーではない)

sem_getvalue(3RT)

セマフォーの値を指定された整数にコピーします

sem_wait(3RT)sem_trywait(3RT)

セマフォーがほかのプロセスによって保持されている場合に、ブロックするかエラーを返します

sem_post(3RT)

セマフォーの数を増やします

POSIX 共有メモリー

POSIX 共有メモリーは、実際にマッピングされているメモリーの変形です (「マッピングの作成と使用」を参照)。主な違いは、以下のとおりです。

shm_open(3RT) のオプションは、open(2) で提供されているオプションの数よりかなり少なくなっています。