OSDN Git Service

(split) LDP: Update draft and release for LDP 3.65
[linuxjm/LDP_man-pages.git] / release / man2 / shmget.2
index 9c906e6..c5feb5d 100644 (file)
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH SHMGET 2 2012\-05\-31 Linux "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated 1997-03-01, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated & Modified 2001-06-03, Yuichi SATO <ysato@h4.dion.ne.jp>
+.\" Updated 2001-12-22, Kentaro Shirakata <argrath@ub32.org>
+.\" Updated 2002-10-16, Kentaro Shirakata <argrath@ub32.org>
+.\" Updated 2003-02-23, Kentaro Shirakata <argrath@ub32.org>
+.\" Updated 2005-03-02, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2005-11-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2006-07-21, Akihiro MOTOKI, LDP v2.36
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-07-24, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH SHMGET 2 2014\-04\-17 Linux "Linux Programmer's Manual"
 .SH 名前
-shmget \- 共有メモリ・セグメントを割り当てる
+shmget \- System V 共有メモリ・セグメントを割り当てる
 .SH 書式
 .ad l
 \fB#include <sys/ipc.h>\fP
@@ -52,10 +66,10 @@ shmget \- 共有メモリ・セグメントを割り当てる
 \fBint shmget(key_t \fP\fIkey\fP\fB, size_t \fP\fIsize\fP\fB, int \fP\fIshmflg\fP\fB);\fP
 .ad b
 .SH 説明
-\fBshmget\fP()  は \fIkey\fP 引き数に対応する共有メモリ・セグメントの識別子を返す。 \fIkey\fP の値が \fBIPC_PRIVATE\fP
-の場合、もしくは \fIkey\fP に対応する共有メモリ・セグメントが存在せず、 \fIshmflg\fP に \fBIPC_CREAT\fP が指定されていた場合、
-新しい共有メモリ・セグメントを作成する。 作成される共有メモリ・セグメントは、 \fIsize\fP 引き数の値を \fBPAGE_SIZE\fP
-の倍数へと切り上げた (round up) 大きさとなる。
+\fBshmget\fP()  は \fIkey\fP 引き数に対応する System V 共有メモリ・セグメントの識別子を返す。 \fIkey\fP の値が
+\fBIPC_PRIVATE\fP の場合、もしくは \fIkey\fP に対応する共有メモリ・セグメントが存在せず、 \fIshmflg\fP に
+\fBIPC_CREAT\fP が指定されていた場合、 新しい共有メモリ・セグメントを作成する。 作成される共有メモリ・セグメントは、 \fIsize\fP
+引き数の値を \fBPAGE_SIZE\fP の倍数へと切り上げた (round up) 大きさとなる。
 .PP
 \fIshmflg\fP に \fBIPC_CREAT\fP と \fBIPC_EXCL\fP の両方が指定された場合、 \fIkey\fP
 に対応する共有メモリ・セグメントが既に存在すると、 \fBshmget\fP()  は失敗し、 \fIerrno\fP に \fBEEXIST\fP が設定される
@@ -75,8 +89,8 @@ shmget \- 共有メモリ・セグメントを割り当てる
 引き数と同じ形式で同じ意味を持つ。 今のところ、システムは実行 (execute) 許可を参照しない。
 .TP 
 \fBSHM_HUGETLB\fP (Linux 2.6 以降)
-Allocate the segment using "huge pages." See the Linux kernel source file
-\fIDocumentation/vm/hugetlbpage.txt\fP for further information.
+"ヒュージページ (huge page)" を使うセグメントを割り当てる。詳細な情報は、Linux カーネルソースのファイル
+\fIDocumentation/vm/hugetlbpage.txt\fP を参照。
 .TP 
 \fBSHM_NORESERVE\fP (Linux 2.6.15 以降)
 .\" As at 2.6.17-rc2, this flag has no effect if SHM_HUGETLB was also
@@ -103,7 +117,7 @@ Allocate the segment using "huge pages." See the Linux kernel source file
 .PP
 共有メモリ・セグメントが既に存在する場合、アクセス許可の検査と、 破壊 (destruction) マークがつけられていないかのチェックが行われる。
 .SH 返り値
\88\90å\8a\9fã\81\97ã\81\9få ´å\90\88ã\80\81æ\9c\89å\8a¹ã\81ªã\82»ã\82°ã\83¡ã\83³ã\83\88è­\98å\88¥å­\90 \fIshmid\fP ã\81\8cè¿\94ã\81\95ã\82\8cã\82\8bã\80\82ã\82¨ã\83©ã\83¼ã\81®å ´å\90\88ã\80\81 \-1 ã\81\8cè¿\94される。
\88\90å\8a\9fã\81®å ´å\90\88ã\80\81æ\9c\89å\8a¹ã\81ªå\85±æ\9c\89ã\83¡ã\83¢ã\83ªã\83»ã\82»ã\82°ã\83¡ã\83³ã\83\88ã\81®è­\98å\88¥å­\90ã\81\8cè¿\94ã\81\95ã\82\8cã\82\8bã\80\82 ã\82¨ã\83©ã\83¼ã\81®å ´å\90\88ã\80\81 \-1 ã\81\8cè¿\94ã\82\8aã\80\81 \fIerror\fP ã\81«ã\82¨ã\83©ã\83¼ã\82\92示ã\81\99å\80¤ã\81\8c設å®\9aされる。
 .SH エラー
 失敗した場合は \fIerrno\fP が以下のどれかに設定される:
 .TP 
@@ -142,11 +156,9 @@ SVr4, POSIX.1\-2001.
 .SH 注意
 .\" Like Linux, the FreeBSD man pages still document
 .\" the inclusion of these header files.
-The inclusion of \fI<sys/types.h>\fP and \fI<sys/ipc.h>\fP isn't
-required on Linux or by any version of POSIX.  However, some old
-implementations required the inclusion of these header files, and the SVID
-also documented their inclusion.  Applications intended to be portable to
-such old systems may need to include these header files.
+Linux や POSIX の全てのバージョンでは、 \fI<sys/types.h>\fP と \fI<sys/ipc.h>\fP
+のインクルードは必要ない。しかしながら、いくつかの古い実装ではこれらのヘッダファイルのインクルードが必要であり、 SVID
+でもこれらのインクルードをするように記載されている。このような古いシステムへの移植性を意図したアプリケーションではこれらのファイルをインクルードする必要があるかもしれない。
 
 \fBIPC_PRIVATE\fP はフラグではなく \fIkey_t\fP 型である。 この特別な値が \fIkey\fP に使用された場合は、 \fBshmget\fP()
 は \fIshmflg\fP の下位 9 ビットを除いた全てを無視し、 (成功すれば) 新しい共有メモリ・セグメントを作成する。
@@ -154,25 +166,36 @@ such old systems may need to include these header files.
 \fBshmget\fP()  コールに影響する共有メモリ・セグメント資源の制限は以下の通りである:
 .TP 
 \fBSHMALL\fP
-システム全体の共有メモリ・ページの最大数 (Linux では、この上限値は \fI/proc/sys/kernel/shmall\fP
-経由で参照したり、変更したりできる)。
+システム全体の共有メモリ・ページの最大数。 Linux 2.2 以降では、この上限のデフォルト値は以下である。
+
+    SHMMAX / PAGE_SIZE * (SHMMNI / 16)
+
+Assuming a 4kB page size, this formula yields (since Linux 2.4) the value
+2^20 (2,097,152).
+
+Linux では、この上限値は \fI/proc/sys/kernel/shmall\fP 経由で参照したり、変更したりできる。
 .TP 
 \fBSHMMAX\fP
-共有メモリ・セグメントのバイト単位の大きさの上限: 方針依存 (Linux では、この上限値は \fI/proc/sys/kernel/shmmax\fP
-経由で参照したり、変更したりできる)。
+Maximum size in bytes for a shared memory segment.  Since Linux 2.2, the
+default value of this limit is 0x2000000 (32MB).
+
+Linux では、この上限値は \fI/proc/sys/kernel/shmmax\fP 経由で参照したり、変更したりできる。
 .TP 
 \fBSHMMIN\fP
 共有メモリ・セグメントのバイト単位の大きさの下限: 実装依存 (現在は 1 バイトだが、実質的な最小サイズは \fBPAGE_SIZE\fP である)。
 .TP 
 \fBSHMMNI\fP
+System wide maximum number of shared memory segments.  In Linux 2.2, the
+default value for this limit was 128; since Linux 2.4, the default value is
+4096.
+
 .\" Kernels between 2.4.x and 2.6.8 had an off-by-one error that meant
 .\" that we could create one more segment than SHMMNI -- MTK
 .\" This /proc file is not available in Linux 2.2 and earlier -- MTK
-システム全体の共有メモリーの数の上限: 実装依存 (現在は 4096。Linux 2.3.99 より前では 128。 Linux では、この上限値は
-\fI/proc/sys/kernel/shmmni\fP 経由で参照したり、変更したりできる)。
+Linux では、この上限値は \fI/proc/sys/kernel/shmmni\fP 経由で参照したり、変更したりできる。
 .PP
 プロセス当りの共有メモリ・セグメントの個数の最大値 (\fBSHMSEG\fP)  に関する実装上の制限はない。
-.SS "Linux notes"
+.SS "Linux での注意"
 バージョン 2.3.30 までは、Linux は 削除が予定されている共有メモリ・セグメントに対して \fBshmget\fP()  が行われると
 \fBEIDRM\fP を返していた。
 .SH バグ
@@ -181,6 +204,6 @@ such old systems may need to include these header files.
 \fBshmat\fP(2), \fBshmctl\fP(2), \fBshmdt\fP(2), \fBftok\fP(3), \fBcapabilities\fP(7),
 \fBshm_overview\fP(7), \fBsvipc\fP(7)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.65 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。