System V セマフォは Solaris 環境で計数型セマフォを提供します。System V セマフォでは、セマフォの標準的な設定/解放操作の他に、必要に応じて増分や減分を行う値を持つことができます (たとえば、使用可能なリソースの数を表すなど)。セマフォ群に対して同時に操作を行う機能や、プロセスが終了すると、そのプロセスの最後の操作をシステムが取り消す機能も提供されます。
セマフォは組で作成されます。
このモジュールは最初の参照で動的にロードされます。この時点で、サブシステムに渡されたパラメータが検査され、セマフォを含むすべてのデータ構造体が作成されます。したがって、実行時にパラメータの値を変更することはできません。値を増やすと、データ破壊の可能性があるからです。/etc/system ファイルのエントリは semsys: 接頭辞を含んでいなければなりません。
この機能は、POSIX 1003.1b セマフォ機能とは異なります。
符号付き整数
10
1 から 65,535
いいえ
SEMA_INDEX_MAX (現在は 65,535) と比較し、それより大きい場合は、SEMA_INDEX_MAX の値にリセットされます。警告メッセージがコンソールかシステムメッセージファイル (またはその両方) に書き込まれます。
デフォルトの組数では不十分な場合。一般には、ソフトウェアベンダーの推奨があった場合に変更します。現在の設定値を越えるセットを作成しようとしても、エラーメッセージは表示されません。semget(2) 呼び出しからアプリケーションにリターンコード ENOSPC が返されます。
変更の可能性あり
符号付き整数
60
1 から MAXINT
いいえ
セマフォとそれらに関係するデータ構造体によって消費され得る空間の量が、モジュールが最初にロードされるときに使用可能なカーネルメモリーの 25% と比較されます。使用される容量がこのメモリーのしきい値より大きい場合、モジュールはロードを拒否し、セマフォ機能は利用できません。
デフォルトのセマフォ数では不十分な場合。一般には、ソフトウェアベンダーの推奨があった場合に変 更します。設定された値を越える数のセマフォを作成しようとしても、エラーメッセージは表示されません。semget(2) 呼び出しからアプリケーションにリターンコード ENOSPC が返されます。
変更の可能性あり
符号なしshort
32,767
1 から 65,535
いいえ
なし
デフォルト値では不十分な場合。一般には、ソフトウェアベンダーの推奨があった場合に変更します。この最大値を越えても、エラーメッセージは表示されません。semop(2) 呼び出しからアプリケーションにリターンコード ERANGE が返されます。
変更の可能性あり
符号付き整数
25
1 から MAXINT
いいえ
セマフォとそれらに関係するデータ構造体によって消費され得る空間の量が、モジュールが最初にロードされるときに使用可能なカーネルメモリーの 25% と比較されます。使用される容量がこのメモリーのしきい値より大きい場合、モジュールはロードを拒否し、セマフォ機能は利用できません。
デフォルト値では不十分な場合。一般には、ソフトウェアベンダーの推奨があった場合に変更します。設定された値を越える数のセマフォを組として作成しようとしても、エラーメッセージは表示されません。semget(2) 呼び出しからアプリケーションにリターンコード EINVAL が返されます。
変更の可能性あり
1 回の semop(2) 呼び出しで実行できる System V セマフォ操作数の最大値。このパラメータは、semop(2) システム呼び出しで使用する sops 配列内の sembufs の数を規定します。
符号付き整数
10
1 から MAXINT
いいえ
セマフォとそれらに関係するデータ構造体によって消費され得る空間の量が、モジュールが最初にロードされるときに使用可能なカーネルメモリーの 25% と比較されます。使用される容量がこのメモリーのしきい値より大きい場合、モジュールはロードを拒否し、セマフォ機能は利用できません。
デフォルト値では不十分な場合。一般には、ソフトウェアベンダーの推奨があった場合に変更します。1 回の semop(2) 呼び出しで許可されている値を越える回数のセマフォ操作を実行しようとしても、エラーメッセージは表示されません。semop(2) 呼び出しからアプリケーションにリターンコード E2BIG が返されます。
変更の可能性あり
符号付き整数
30
1 から MAXINT
いいえ
セマフォとそれらに関係するデータ構造体によって消費され得る空間の量が、モジュールが最初にロードされるときに使用可能なカーネルメモリーの 25% と比較されます。使用される容量がこのメモリーのしきい値より大きい場合、モジュールはロードを拒否し、セマフォ機能は利用できません。
デフォルト値では不十分な場合。一般には、ソフトウェアベンダーの推奨があった場合に変更します。設定された値を越える回数の取り消し操作を実行しようとしても、エラーメッセージは表示されません。システムが取り消し構造体を使い果たすと、semop(2) 呼び出しからアプリケーションに戻り値 ENOSPC が返されます。
変更の可能性あり
詳細については semsys:seminfo_semmnu を参照してください。
符号付き整数
10
1 から MAXINT
いいえ
セマフォとそれらに関係するデータ構造体によって消費され得る空間の量が、モジュールが最初にロードされるときに使用可能なカーネルメモリーの 25% と比較されます。使用される容量がこのメモリーのしきい値より大きい場合、モジュールはロードを拒否し、セマフォ機能は利用できません。
デフォルト値では不十分な場合。一般には、ソフトウェアベンダーの推奨があった場合に変更します。設定された値を越える回数の取り消し操作を実行しようとしても、エラーメッセージは表示されません。semop(2) 呼び出しからアプリケーションにリターンコード EINVAL が返されます。
変更の可能性あり