日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
SEMA(9) FreeBSD カーネル開発者マニュアル SEMA(9) 名称 sema, sema_init, sema_destroy, sema_post, sema_wait, sema_timedwait, sema_trywait, sema_value -- カーネル計数セマフォ 書式 #include <sys/types.h> #include <sys/lock.h> #include <sys/sema.h> void sema_init(struct sema *sema, int value, const char *description); void sema_destroy(struct sema *sema); void sema_post(struct sema *sema); void sema_wait(struct sema *sema); int sema_timedwait(struct sema *sema, int timo); int sema_trywait(struct sema *sema); int sema_value(struct sema *sema); 解説 計数セマフォは、リソースのプールへのアクセスを同期させるためのメカニズム を提供しています。ミューテック (mutex) と異なり、セマフォには、所有者の概 念がないので、それらは、1 つのスレッドがリソースを獲得する必要のあり、別 のスレッドが、それを解放する必要がある状況で役に立てることもできます。各 セマフォには、それに関連付けられた整数値があります。ポスト (インクリメン ト) は、常に成功しますが、セマフォの結果の値が 0 以上である場合のみ、 ウェート (デクリメント) は、成功して完了することができます。 セマフォは、ミューテックと状態変数が十分であるところで、使用されるべきで はありません。セマフォは、ミューテックと状態変数より複雑な同期メカニズム で、効率的ではありません。 セマフォは、sema_init() で作成されます、ここで sema は、struct sema のた めの空間へのポインタで、value は、セマフォの初期値で、そして description は、セマフォを記述するヌル文字で終了する文字列へのポインタです。セマフォ は、sema_destroy() で破壊されます。セマフォは、sema_post() でポストされま す (インクリメントされる)。セマフォは、sema_wait(), sema_timedwait() また は sema_trywait() でウェートされます (デクリメントされる)。 sema_timedwait() への timo 引数は、失敗で返る前に、ウェートするための tick 単位の最小の時間を指定します。sema_value() は、セマフォの現在の値を 読み込むために使用されます。 戻り値 sema_value() 関数は、セマフォの現在の値を返します。 セマフォをデクリメントすることが、負となる値の結果となるなら、 sema_trywait() は、失敗を示す 0 を返します。そうでなければ、0 以外の値 が、成功を示すために返されます。 sema_timedwait() 関数は、セマフォでのウェートが成功したなら、0 を返しま す。そうでなければ、0 以外のエラーコードが返されます。 エラー sema_timedwait() 関数は、次の場合に失敗します: [EWOULDBLOCK] タイムアウトは、満了しました。 関連項目 condvar(9), locking(9), mtx_pool(9), mutex(9), rwlock(9), sx(9) FreeBSD 11.4 February 1, 2006 FreeBSD 11.4