OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / draft / man2 / semget.2
index 9946384..bc50315 100644 (file)
 .\" Updated 2005-03-01, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\" Updated 2006-07-20, Akihiro MOTOKI, LDP v2.36
 .\"
-.\"WORD:       semaphore               ¥»¥Þ¥Õ¥©
-.\"WORD:       identifier              ¼±ÊÌ»Ò
-.\"WORD:       owner                   ½êÍ­¼Ô
-.\"WORD:       group                   ¥°¥ë¡¼¥×
-.\"WORD:       other                   Â¾¿Í
-.\"WORD:       effective user ID       ¼Â¸ú¥æ¡¼¥¶¡¼ ID
-.\"WORD:       effective group ID      ¼Â¸ú¥°¥ë¡¼¥× ID
-.\"WORD:       calling process         ¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹
-.\"WORD:       process                 ¥×¥í¥»¥¹
-.\"WORD:       policy                  Êý¿Ë
-.\"WORD:       structure               ¹½Â¤ÂÎ
-.\"WORD:       initialize              ½é´ü²½
-.\"WORD:       system call             ¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë
+.\"WORD:       semaphore               ã\82»ã\83\9eã\83\95ã\82©
+.\"WORD:       identifier              識別子
+.\"WORD:       owner                   所有者
+.\"WORD:       group                   グループ
+.\"WORD:       other                   他人
+.\"WORD:       effective user ID       å®\9få\8a¹ã\83¦ã\83¼ã\82¶ã\83¼ ID
+.\"WORD:       effective group ID      実効グループ ID
+.\"WORD:       calling process         å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹
+.\"WORD:       process                 ã\83\97ã\83­ã\82»ã\82¹
+.\"WORD:       policy                  方針
+.\"WORD:       structure               構造体
+.\"WORD:       initialize              初期化
+.\"WORD:       system call             システム・コール
 .\"
 .TH SEMGET 2 2004-05-27 "Linux" "Linux Programmer's Manual"
 .\"O .SH NAME
-.SH Ì¾Á°
+.SH 名前
 .\"O semget \- get a semaphore set identifier
-semget \- ¥»¥Þ¥Õ¥©½¸¹ç¤Î¼±Ê̻Ҥò¼èÆÀ¤¹¤ë
+semget \- セマフォ集合の識別子を取得する
 .\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
 .nf
 .B #include <sys/types.h>
 .B #include <sys/ipc.h>
@@ -69,17 +69,17 @@ semget \- 
 .BI "int " nsems ,
 .BI "int " semflg );
 .\"O .SH DESCRIPTION
-.SH ÀâÌÀ
+.SH 説明
 .\"O The
 .\"O .BR semget ()
 .\"O system call returns the semaphore set identifier
 .\"O associated with the argument
 .\"O .IR key .
 .BR semget ()
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢°ú¤­¿ô
+システムコールは、引き数
 .I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç (semaphore set) ¤Î
-¼±Ê̻Ҡ(identifier) ¤òÊÖ¤¹¡£
+に対応するセマフォ集合 (semaphore set) の
+識別子 (identifier) を返す。
 .\"O A new set of
 .\"O .I nsems
 .\"O semaphores is created if
@@ -93,17 +93,17 @@ semget \- 
 .\"O is specified in
 .\"O .IR semflg .
 .I key
-¤ÎÃͤ¬
+の値が
 .B IPC_PRIVATE
-¤Î¾ì¹ç¡¢¤â¤·¤¯¤Ï
+の場合、もしくは
 .I semflg
-¤Ë
+に
 .B IPC_CREAT
-¤¬»ØÄꤵ¤ì¤Æ¤¤¤Æ¡¢
+が指定されていて、
 .I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¡¢
+に対応するセマフォ集合が存在しない場合、
 .I nsems
-¸Ä¤Î¥»¥Þ¥Õ¥©¤«¤é¤Ê¤ë¿·¤·¤¤½¸¹ç¤¬ºîÀ®¤µ¤ì¤ë¡£
+個のセマフォからなる新しい集合が作成される。
 .PP
 .\"O If
 .\"O .I semflg
@@ -124,24 +124,24 @@ semget \- 
 .\"O for
 .\"O .BR open (2).)
 .I semflg
-¤Ë
+に
 .B IPC_CREAT
-¤È
+と
 .B IPC_EXCL
-¤ÎξÊý¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢
+の両方が指定された場合、
 .I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç¤¬´û¤Ë¸ºß¤¹¤ë¤È¡¢
+に対応するセマフォ集合が既に存在すると、
 .BR semget ()
-¤Ï¼ºÇÔ¤·¡¢
+は失敗し、
 .I errno
-¤Ë
+に
 .B EEXIST
-¤¬ÀßÄꤵ¤ì¤ë
-(¤³¤ì¤Ï
+が設定される
+(これは
 .BR open (2)
-¤Ë
+に
 .B O_CREAT | O_EXCL
-¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤ÎÆ°ºî¤ÈƱ¤¸¤Ç¤¢¤ë)¡£
+が指定された場合の動作と同じである)。
 .PP
 .\"O Upon creation, the least significant 9 bits of the argument
 .\"O .I semflg
@@ -155,17 +155,17 @@ semget \- 
 .\"O (though the execute permissions are
 .\"O not meaningful for semaphores, and write permissions mean permission
 .\"O to alter semaphore values).
-¥»¥Þ¥Õ¥©½¸¹çºîÀ®»þ¤Ë¡¢°ú¤­¿ô
+セマフォ集合作成時に、引き数
 .I semflg
-¤Î²¼°Ì 9 ¥Ó¥Ã¥È¤Ï¡¢¤½¤Î¥»¥Þ¥Õ¥©½¸¹ç¤Î (½êÍ­¼Ô (owner)¡¢¥°¥ë¡¼¥× (group)¡¢
-¾¿Í (others) ¤ËÂФ¹¤ë) ¥¢¥¯¥»¥¹µö²Ä¤ÎÄêµÁ¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¡£
-¤³¤ì¤é¤Î¥Ó¥Ã¥È¤Ï
+の下位 9 ビットは、そのセマフォ集合の (所有者 (owner)、グループ (group)、
+他人 (others) に対する) アクセス許可の定義として使用される。
+これらのビットは
 .BR open (2)
-¤Î°ú¤­¿ô
+の引き数
 .I mode
-¤ÈƱ¤¸·Á¼°¤ÇƱ¤¸°ÕÌ£¤Ç¤¢¤ë
-(⤷¡¢¼Â¹Ô (execute) µö²Ä¤Ï¥»¥Þ¥Õ¥©¤Ç¤Ï°ÕÌ£¤ò»ý¤¿¤º¡¢
-½ñ¤­¹þ¤ß (write) µö²Ä¤Ï¥»¥Þ¥Õ¥©ÃͤÎÊѹ¹ (alter) µö²Ä¤È¤·¤Æµ¡Ç½¤¹¤ë)¡£
+と同じ形式で同じ意味である
+(但し、実行 (execute) 許可はセマフォでは意味を持たず、
+書き込み (write) 許可はセマフォ値の変更 (alter) 許可として機能する)。
 .PP
 .\"O The values of the semaphores in a newly created set are indeterminate.
 .\"O (POSIX.1-2001 is explicit on this point.)
@@ -173,11 +173,11 @@ semget \- 
 .\"O initializes the semaphore values to 0,
 .\"O a portable application cannot rely on this:
 .\"O it should explicitly initialize the semaphores to the desired values.
-¿·¤·¤¯ºîÀ®¤µ¤ì¤¿¥»¥Þ¥Õ¥©½¸¹ç¤Î³Æ¥»¥Þ¥Õ¥©¤ÎÃͤÏÉÔÄê¤Ç¤¢¤ë
-(¤³¤ÎÅÀ¤Ï POSIX.1-2001 ¤ËÌÀµ­¤µ¤ì¤Æ¤¤¤ë)¡£
-Linux ¤Ï¾¤Î¿¤¯¤Î¼ÂÁõ¤ÈƱÍͤ˥»¥Þ¥Õ¥©Ãͤò 0 ¤Ë½é´ü²½¤¹¤ë¤¬¡¢
-°Ü¿¢À­¤ò¹Íθ¤·¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¤³¤ÎÆ°ºî¤òÁ°Äó¤Ë¤¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÌÀ¼¨Åª¤Ë¥»¥Þ¥Õ¥©¤ò´õ˾¤ÎÃͤǽé´ü²½¤¹¤Ù¤­¤Ç¤¢¤ë¡£
+新しく作成されたセマフォ集合の各セマフォの値は不定である
+(この点は POSIX.1-2001 に明記されている)。
+Linux は他の多くの実装と同様にセマフォ値を 0 に初期化するが、
+移植性を考慮したアプリケーションではこの動作を前提にすべきではない。
+アプリケーションは明示的にセマフォを希望の値で初期化すべきである。
 .\" In truth, every one of the many implementations that I've tested sets
 .\" the values to zero, but I suppose there is/was some obscure
 .\" implementation out there that does not.
@@ -189,60 +189,60 @@ Linux 
 .\"O (see
 .\"O .BR semctl (2)),
 .\"O as follows:
-¿·µ¬¤Î¥»¥Þ¥Õ¥©½¸¹ç¤òºîÀ®¤¹¤ëºÝ¡¢
+新規のセマフォ集合を作成する際、
 .BR semget ()
-¤Ï¥»¥Þ¥Õ¥©½¸¹ç¤Î¾ðÊó¤òÊÝ»ý¤¹¤ë¥Ç¡¼¥¿¹½Â¤ÂÎ
+はセマフォ集合の情報を保持するデータ構造体
 .I semid_ds
-¤ò¼¡¤Î¤è¤¦¤Ë½é´ü²½¤¹¤ë
+を次のように初期化する
 .RI ( semid_ds
-¤Ë¤Ä¤¤¤Æ¤Ï
+については
 .BR semctl (2)
-¤ò»²¾È):
+を参照):
 .IP
 .\"O .I sem_perm.cuid
 .\"O and
 .\"O .I sem_perm.uid
 .\"O are set to the effective user ID of the calling process.
 .I sem_perm.cuid
-¤È
+と
 .I sem_perm.uid
-¤Ë¡¢¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤Î¼Â¸ú (effective) ¥æ¡¼¥¶ ID ¤òÀßÄꤹ¤ë¡£
+に、呼び出し元のプロセスの実効 (effective) ユーザ ID を設定する。
 .IP
 .\"O .I sem_perm.cgid
 .\"O and
 .\"O .I sem_perm.gid
 .\"O are set to the effective group ID of the calling process.
 .I sem_perm.cgid
-¤È
+と
 .I sem_perm.gid
-¤Ë¡¢¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤Î¼Â¸ú (effective) ¥°¥ë¡¼¥× ID ¤òÀßÄꤹ¤ë¡£
+に、呼び出し元のプロセスの実効 (effective) グループ ID を設定する。
 .IP
 .\"O The least significant 9 bits of
 .\"O .I sem_perm.mode
 .\"O are set to the least significant 9 bits of
 .\"O .IR semflg .
 .I sem_perm.mode
-¤Î²¼°Ì 9 ¥Ó¥Ã¥È¤Ë
+の下位 9 ビットに
 .I semflg
-¤Î²¼°Ì 9 ¥Ó¥Ã¥È¤òÀßÄꤹ¤ë¡£
+の下位 9 ビットを設定する。
 .IP
 .\"O .I sem_nsems
 .\"O is set to the value of
 .\"O .IR nsems .
 .I sem_nsems
-¤Ë
+に
 .I nsems
-¤ÎÃͤòÀßÄꤹ¤ë¡£
+の値を設定する。
 .IP
 .\"O .I sem_otime
 .\"O is set to 0.
 .I sem_otime
-¤Ë 0 ¤òÀßÄꤹ¤ë¡£
+に 0 を設定する。
 .IP
 .\"O .I sem_ctime
 .\"O is set to the current time.
 .I sem_ctime
-¤Ë¸½ºß¤Î»þ¹ï¤òÀßÄꤹ¤ë¡£
+に現在の時刻を設定する。
 .PP
 .\"O The argument
 .\"O .I nsems
@@ -254,39 +254,39 @@ Linux 
 .\"O must be greater than 0
 .\"O and less than or equal to the maximum number of semaphores per semaphore set
 .\"O .RB ( SEMMSL ).
-¥»¥Þ¥Õ¥©½¸¹ç¤ÎºîÀ®¤ò¹Ô¤ï¤Ê¤¤¾ì¹ç¤Ï¡¢°ú¤­¿ô
+セマフォ集合の作成を行わない場合は、引き数
 .I nsems
-¤Ë (don't care ¤ò°ÕÌ£¤¹¤ë) 0 ¤ò»ØÄꤷ¤Æ¤â¤è¤¤¡£
-¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢
+に (don't care を意味する) 0 を指定してもよい。
+そうでない場合は、
 .I nsems
-¤Ï 0 ¤è¤êÂ礭¤¤ÃͤǤʤ±¤ì¤Ð¤Ê¤é¤º¡¢¥»¥Þ¥Õ¥©½¸¹ç¤¢¤¿¤ê¤Î¥»¥Þ¥Õ¥©¤ÎºÇÂç¿ô
+は 0 より大きい値でなければならず、セマフォ集合あたりのセマフォの最大数
 .RB ( SEMMSL )
-°Ê²¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+以下でなければならない。
 .PP
 .\"O If the semaphore set already exists, the permissions are
 .\"O verified.
-¥»¥Þ¥Õ¥©½¸¹ç¤¬´û¤Ë¸ºß¤·¤¿¾ì¹ç¤Ï¡¢¥¢¥¯¥»¥¹µö²Ä¤Î¸¡ºº¤¬¹Ô¤ï¤ì¤ë¡£
+セマフォ集合が既に存在した場合は、アクセス許可の検査が行われる。
 .\"O .\" and a check is made to see if it is marked for destruction.
-.\" Ç˲õ (destruction) ¥Þ¡¼¥¯¤¬¤Ê¤¤¤«¥Á¥§¥Ã¥¯¤µ¤ì¤ë¡£
+.\" 破壊 (destruction) マークがないかチェックされる。
 .\"O .SH "RETURN VALUE"
-.SH ÊÖ¤êÃÍ
+.SH 返り値
 .\"O If successful, the return value will be the semaphore set identifier
 .\"O (a nonnegative integer), otherwise \-1
 .\"O is returned, with
 .\"O .I errno
 .\"O indicating the error.
-À®¸ù¤·¤¿¾ì¹ç¡¢¥»¥Þ¥Õ¥©½¸¹ç¤Î¼±Ê̻Ҡ(ÈóÉé¤ÎÀ°¿ô) ¤¬ÊÖ¤êÃͤȤʤ롣
-¼ºÇÔ¤·¤¿¾ì¹ç¤Ï \-1 ¤¬ÊÖ¤µ¤ì¡¢
+成功した場合、セマフォ集合の識別子 (非負の整数) が返り値となる。
+失敗した場合は \-1 が返され、
 .I errno
-¤Ë¥¨¥é¡¼¤ò¼¨¤¹Ãͤ¬ÀßÄꤵ¤ì¤ë¡£
+にエラーを示す値が設定される。
 .\"O .SH ERRORS
-.SH ¥¨¥é¡¼
+.SH ã\82¨ã\83©ã\83¼
 .\"O On failure
 .\"O .I errno
 .\"O will be set to one of the following:
-¼ºÇÔ¤·¤¿¾ì¹ç¡¢
+失敗した場合、
 .I errno
-¤Ë¤Ï°Ê²¼¤ÎÃͤΤ¤¤º¤ì¤«°ì¤Ä¤¬ÀßÄꤵ¤ì¤ë:
+には以下の値のいずれか一つが設定される:
 .TP
 .B EACCES
 .\"O A semaphore set exists for
@@ -296,10 +296,10 @@ Linux 
 .\"O .B CAP_IPC_OWNER
 .\"O capability.
 .I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç¤Ï¸ºß¤¹¤ë¤¬¡¢
-¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤Ï¤½¤Î½¸¹ç¤Ø¤Î¥¢¥¯¥»¥¹µö²Ä¤¬¤Ê¤¯¡¢
+に対応するセマフォ集合は存在するが、
+呼び出し元のプロセスはその集合へのアクセス許可がなく、
 .B CAP_IPC_OWNER
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¡£
+ケーパビリティも持っていない。
 .TP
 .B EEXIST
 .\"O A semaphore set exists for
@@ -311,18 +311,18 @@ Linux 
 .\"O and
 .\"O .BR IPC_EXCL .
 .I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç¤¬Â¸ºß¤·¡¢
+に対応するセマフォ集合が存在し、
 .I semflg
-¤Ë¤Ï
+には
 .B IPC_CREAT
-¤È
+と
 .B IPC_EXCL
-¤¬»ØÄꤵ¤ì¤Æ¤¤¤¿¡£
+が指定されていた。
 .\" .TP
 .\"O .\" .B EIDRM
 .\"O .\" The semaphore set is marked to be deleted.
 .\" .B EIDRM
-.\" ¥»¥Þ¥Õ¥©½¸¹ç¤Ëºï½ü (delete) ¥Þ¡¼¥¯¤¬¤Ä¤±¤é¤ì¤Æ¤¤¤ë¡£
+.\" セマフォ集合に削除 (delete) マークがつけられている。
 .TP
 .B EINVAL
 .\"O .I nsems
@@ -330,19 +330,19 @@ Linux 
 .\"O of semaphores per semaphore set
 .\"O .RB ( SEMMSL ),
 .I nsems
-¤¬ 0 ¤è¤ê¾®¤µ¤¤¤«¡¢¥»¥Þ¥Õ¥©½¸¹ç¤¢¤¿¤ê¤Î¥»¥Þ¥Õ¥©¤ÎºÇÂç¿ô
+が 0 より小さいか、セマフォ集合あたりのセマフォの最大数
 .RB ( SEMMSL )
-¤è¤êÂ礭¤¤¡£
+より大きい。
 .\"O or a semaphore set corresponding to
 .\"O .I key
 .\"O already exists, and
 .\"O .I nsems
 .\"O is larger than the number of semaphores in that set.
-¤Þ¤¿¤Ï¡¢
+または、
 .I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç¤¬´û¤Ë¸ºß¤·¡¢
+に対応するセマフォ集合が既に存在し、
 .I nsems
-¤¬¤½¤Î½¸¹ç¤Î¥»¥Þ¥Õ¥©¿ô¤è¤ê¤âÂ礭¤¤¡£
+がその集合のセマフォ数よりも大きい。
 .TP
 .B ENOENT
 .\"O No semaphore set exists for
@@ -352,17 +352,17 @@ Linux 
 .\"O did not specify
 .\"O .BR IPC_CREAT .
 .I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç¤¬Â¸ºß¤»¤º¡¢
+に対応するセマフォ集合が存在せず、
 .I semflg
-¤Ë
+に
 .B IPC_CREAT
-¤¬»ØÄꤵ¤ì¤Æ¤â¤¤¤Ê¤¤¡£
+が指定されてもいない。
 .TP
 .B ENOMEM
 .\"O A semaphore set has to be created but the system does not have
 .\"O enough memory for the new data structure.
-¥»¥Þ¥Õ¥©½¸¹ç¤òºîÀ®¤·¤è¤¦¤È¤·¤¿¤¬¡¢¿·¤·¤¤¥Ç¡¼¥¿¹½Â¤ÂΤò
-ºîÀ®¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬¥·¥¹¥Æ¥à¤Ë¸ºß¤·¤Ê¤¤¡£
+セマフォ集合を作成しようとしたが、新しいデータ構造体を
+作成するのに十分なメモリがシステムに存在しない。
 .TP
 .B ENOSPC
 .\"O A semaphore set has to be created but the system limit for the maximum
@@ -371,68 +371,68 @@ Linux 
 .\"O or the system wide maximum number of semaphores
 .\"O .RB ( SEMMNS ),
 .\"O would be exceeded.
-¥»¥Þ¥Õ¥©½¸¹ç¤òºîÀ®¤·¤è¤¦¤È¤¹¤ë¤È¡¢¥·¥¹¥Æ¥à¤Î¥»¥Þ¥Õ¥©½¸¹ç¤Î
-ºÇÂç¿ô
+セマフォ集合を作成しようとすると、システムのセマフォ集合の
+最大数
 .RB ( SEMMNI )
-¤«¡¢¥·¥¹¥Æ¥àÁ´ÂΤΥ»¥Þ¥Õ¥©¤ÎºÇÂç¿ô
+か、システム全体のセマフォの最大数
 .RB ( SEMMNS )
-¤Î¤¤¤º¤ì¤«¤òĶ¤¨¤Æ¤·¤Þ¤¦¡£
+のいずれかを超えてしまう。
 .\"O .SH "CONFORMING TO"
-.SH ½àµò
+.SH 準拠
 SVr4, POSIX.1-2001.
 .\"O .\" SVr4 documents additional error conditions EFBIG, E2BIG, EAGAIN,
 .\"O .\" ERANGE, EFAULT.
-.\" SVr4 ¤Ë¤Ï¡¢ÄɲäǠEFBIG, E2BIG, EAGAIN, ERANGE, EFAULT
-.\" ¤Î¥¨¥é¡¼¾õÂ֤ˤĤ¤¤Æ¤Îµ­½Ò¤¬¤¢¤ë¡£
+.\" SVr4 には、追加で EFBIG, E2BIG, EAGAIN, ERANGE, EFAULT
+.\" のエラー状態についての記述がある。
 .\"O .SH NOTES
-.SH Ãí°Õ
+.SH 注意
 .\"O .B IPC_PRIVATE
 .\"O isn't a flag field but a
 .\"O .I key_t
 .\"O type.
 .B IPC_PRIVATE
-¤Ï¥Õ¥é¥°¡¦¥Õ¥£¡¼¥ë¥É¤Ë»ØÄꤹ¤ë¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢
+はフラグ・フィールドに指定するものではなく、
 .I key_t
-·¿¤Ç¤¢¤ë¡£
+型である。
 .\"O If this special value is used for
 .\"O .IR key ,
 .\"O the system call ignores everything but the least significant 9 bits of
 .\"O .I semflg
 .\"O and creates a new semaphore set (on success).
-¤³¤ÎÆÃÊ̤ÊÃͤ¬
+この特別な値が
 .I key
-¤Ë»ØÄꤵ¤ì¤ë¤È¡¢
+に指定されると、
 .BR semget ()
 .I semflg
-¤Î²¼°Ì 9 ¥Ó¥Ã¥È°Ê³°¤ÏÁ´¤Æ̵»ë¤·¡¢
-(À®¸ù¤·¤¿¾ì¹ç¤Ï) ¿·¤·¤¤¥»¥Þ¥Õ¥©½¸¹ç¤òºîÀ®¤¹¤ë¡£
+の下位 9 ビット以外は全て無視し、
+(成功した場合は) 新しいセマフォ集合を作成する。
 .PP
 .\"O The following limits on semaphore set resources affect the
 .\"O .BR semget ()
 .\"O call:
-¥»¥Þ¥Õ¥©½¸¹ç¤Î¥ê¥½¡¼¥¹¤Ë´Ø¤¹¤ëÀ©¸Â¤Î¤¦¤Á¡¢
+セマフォ集合のリソースに関する制限のうち、
 .BR semget ()
-¤Ë±Æ¶Á¤òµÚ¤Ü¤¹¤â¤Î¤ò°Ê²¼¤Ëµó¤²¤ë:
+に影響を及ぼすものを以下に挙げる:
 .TP
 .B SEMMNI
 .\"O System wide maximum number of semaphore sets: policy dependent
 .\"O (on Linux, this limit can be read and modified via the fourth field of
 .\"O .IR /proc/sys/kernel/sem ).
 .\"O .\" This /proc file is not available in Linux 2.2 and earlier -- MTK
-¥·¥¹¥Æ¥àÁ´ÂΤΥ»¥Þ¥Õ¥©½¸¹ç¤ÎºÇÂç¿ô: Êý¿Ë°Í¸
-(Linux ¤Ç¤Ï¡¢¤³¤ÎÀ©¸ÂÃͤÏ
+システム全体のセマフォ集合の最大数: 方針依存
+(Linux では、この制限値は
 .I /proc/sys/kernel/sem
-¤ÎÂè4¥Õ¥£¡¼¥ë¥É¤ËÂбþ¤·¡¢Æɤ߽Ф·¤âÊѹ¹¤â¤Ç¤­¤ë)¡£
-.\" ¤³¤Î /proc ¥Õ¥¡¥¤¥ë¤Ï Linux 2.2 °ÊÁ°¤Ç¤ÏÍøÍѤǤ­¤Ê¤¤ -- MTK
+の第4フィールドに対応し、読み出しも変更もできる)。
+.\" この /proc ファイルは Linux 2.2 以前では利用できない -- MTK
 .TP
 .B SEMMSL
 .\"O Maximum number of semaphores per semid: implementation dependent
 .\"O (on Linux, this limit can be read and modified via the first field of
 .\"O .IR /proc/sys/kernel/sem ).
-semid ¤¢¤¿¤ê¤Î¥»¥Þ¥Õ¥©¤ÎºÇÂç¿ô: ¼ÂÁõ°Í¸
-(Linux ¤Ç¤Ï¡¢¤³¤ÎÀ©¸ÂÃͤÏ
+semid あたりのセマフォの最大数: 実装依存
+(Linux では、この制限値は
 .I /proc/sys/kernel/sem
-¤ÎÂè1¥Õ¥£¡¼¥ë¥É¤ËÂбþ¤·¡¢Æɤ߽Ф·¤âÊѹ¹¤â¤Ç¤­¤ë)¡£
+の第1フィールドに対応し、読み出しも変更もできる)。
 .TP
 .B SEMMNS
 .\"O System wide maximum number of semaphores: policy dependent
@@ -441,23 +441,23 @@ semid 
 .\"O Values greater than
 .\"O .B SEMMSL * SEMMNI
 .\"O makes it irrelevant.
-¥·¥¹¥Æ¥àÁ´ÂΤΥ»¥Þ¥Õ¥©¤ÎºÇÂç¿ô: Êý¿Ë°Í¸
-(Linux ¤Ç¤Ï¡¢¤³¤ÎÀ©¸ÂÃͤÏ
+システム全体のセマフォの最大数: 方針依存
+(Linux では、この制限値は
 .I /proc/sys/kernel/sem
-¤ÎÂè2¥Õ¥£¡¼¥ë¥É¤ËÂбþ¤·¡¢Æɤ߽Ф·¤âÊѹ¹¤â¤Ç¤­¤ë)¡£
+の第2フィールドに対応し、読み出しも変更もできる)。
 .B SEMMSL * SEMMNI
-¤è¤êÂ礭¤ÊÃͤϰÕÌ£¤ò»ý¤¿¤Ê¤¤¡£
+より大きな値は意味を持たない。
 .\"O .SH BUGS
-.SH ¥Ð¥°
+.SH ã\83\90ã\82°
 .\"O The name choice
 .\"O .B IPC_PRIVATE
 .\"O was perhaps unfortunate,
 .\"O .B IPC_NEW
 .\"O would more clearly show its function.
 .B IPC_PRIVATE
-¤È¤¤¤¦Ì¾Á°¤òÁª¤ó¤À¤Î¤Ï¤ª¤½¤é¤¯¼ºÇԤǤ¢¤í¤¦¡£
+という名前を選んだのはおそらく失敗であろう。
 .B IPC_NEW
-¤ÎÊý¤¬¤è¤êÌÀ³Î¤Ë¤½¤Îµ¡Ç½¤òɽ¤·¤Æ¤¤¤ë¤À¤í¤¦¡£
+の方がより明確にその機能を表しているだろう。
 .LP
 .\"O The semaphores in a set are not initialized by
 .\"O .BR semget ().
@@ -470,19 +470,19 @@ semid 
 .\"O or a
 .\"O .B SETALL
 .\"O operation on the semaphore set.
-¥»¥Þ¥Õ¥©½¸¹çÆâ¤Î¥»¥Þ¥Õ¥©¤Ï
+セマフォ集合内のセマフォは
 .BR semget ()
-¤Ç¤Ï½é´ü²½¤µ¤ì¤Ê¤¤¡£
-.\" ¼ÂºÝ¤Ï Linux ¤Ç¤Ï¥»¥Þ¥Õ¥©¤Ï 0 ¤Ë½é´ü²½¤µ¤ì¤ë¤¬¡¢
-.\" POSIX.1-2001 ¤Ç¤Ï¤³¤¦¤Ê¤ë¤³¤È¤òµ¬Äꤷ¤Æ¤¤¤ëÌõ¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢
-.\" °Ü¿¢¤ò¹Íθ¤¹¤ë¤È¤­¤Ë¤Ï¤³¤ì¤òÁ°Äó¤Ë¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
-¤³¤Î¥»¥Þ¥Õ¥©¤ò½é´ü²½¤¹¤ë¤Ë¤Ï¡¢¥»¥Þ¥Õ¥©½¸¹ç¤ËÂФ·¤Æ
+では初期化されない。
+.\" 実際は Linux ではセマフォは 0 に初期化されるが、
+.\" POSIX.1-2001 ではこうなることを規定している訳ではないので、
+.\" 移植を考慮するときにはこれを前提にしてはいけない。
+このセマフォを初期化するには、セマフォ集合に対して
 .BR semctl (2)
-¤ò»È¤Ã¤Æ
+を使って
 .B SETVAL
-¤«
+か
 .B SETALL
-Áàºî¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ë¡£
+操作を実行する必要がある。
 .\"O (Where multiple peers do not know who will be the first to
 .\"O initialize the set, checking for a nonzero
 .\"O .I sem_otime
@@ -490,17 +490,17 @@ semid 
 .\"O .BR semctl (2)
 .\"O .B IPC_STAT
 .\"O operation can be used to avoid races.)
-(Ê£¿ô²Õ½ê¤«¤é¥»¥Þ¥Õ¥©½¸¹ç¤ÎÁàºî¤¬¹Ô¤ï¤ì¤ë¾ìÌ̤Ǥϡ¢
-郎ºÇ½é¤Ë½¸¹ç¤ò½é´ü²½¤¹¤ì¤Ð¤è¤¤¤«Ê¬¤«¤é¤Ê¤¤¡£
-¤³¤Î¾õ¶·¤òÈò¤±¤ë¤Ë¤Ï¡¢
+(複数箇所からセマフォ集合の操作が行われる場面では、
+誰が最初に集合を初期化すればよいか分からない。
+この状況を避けるには、
 .BR semctl (2)
-¤Î
+の
 .B IPC_STAT
-Áàºî¤Ç¼èÆÀ¤Ç¤­¤ë¥»¥Þ¥Õ¥©¤Î¥Ç¡¼¥¿¹½Â¤ÂΤÎ
+操作で取得できるセマフォのデータ構造体の
 .I sem_otime
-¤¬ 0 °Ê³°¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ì¤Ð¤è¤¤¡£)
+が 0 以外になっているかをチェックすればよい。)
 .\"O .SH "SEE ALSO"
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
 .BR semctl (2),
 .BR semop (2),
 .BR ftok (3),