X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=po4a%2Fsched%2Fpo%2Fja.po;h=3cd7a7c276d85b9a886e27bf7feec3f48591e287;hb=4321cb03ea2b453043527d1809309f25204d5974;hp=768132e6cd5b3631dd0384764ba244f6052d9744;hpb=3b854980d88e7301a0527b881f4385142e76e308;p=linuxjm%2FLDP_man-pages.git diff --git a/po4a/sched/po/ja.po b/po4a/sched/po/ja.po index 768132e6..3cd7a7c2 100644 --- a/po4a/sched/po/ja.po +++ b/po4a/sched/po/ja.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2013-08-15 19:32+0900\n" -"PO-Revision-Date: 2013-07-22 04:34+0900\n" +"POT-Creation-Date: 2014-06-03 01:29+0900\n" +"PO-Revision-Date: 2014-06-06 01:38+0900\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" @@ -31,7 +31,7 @@ msgstr "2012-03-15" #: build/C/man3/CPU_SET.3:27 build/C/man2/clone.2:45 build/C/man2/kcmp.2:28 #: build/C/man2/sched_get_priority_max.2:29 build/C/man3/sched_getcpu.3:26 #: build/C/man2/sched_rr_get_interval.2:29 build/C/man2/sched_setaffinity.2:34 -#: build/C/man2/sched_setparam.2:30 build/C/man2/sched_setscheduler.2:46 +#: build/C/man2/sched_setparam.2:30 build/C/man2/sched_setscheduler.2:26 #: build/C/man2/sched_yield.2:29 build/C/man2/setns.2:8 #: build/C/man2/unshare.2:20 #, no-wrap @@ -42,7 +42,7 @@ msgstr "Linux" #: build/C/man3/CPU_SET.3:27 build/C/man2/clone.2:45 build/C/man2/kcmp.2:28 #: build/C/man2/sched_get_priority_max.2:29 build/C/man3/sched_getcpu.3:26 #: build/C/man2/sched_rr_get_interval.2:29 build/C/man2/sched_setaffinity.2:34 -#: build/C/man2/sched_setparam.2:30 build/C/man2/sched_setscheduler.2:46 +#: build/C/man2/sched_setparam.2:30 build/C/man2/sched_setscheduler.2:26 #: build/C/man2/sched_yield.2:29 build/C/man2/setns.2:8 #: build/C/man2/unshare.2:20 #, no-wrap @@ -53,7 +53,7 @@ msgstr "Linux Programmer's Manual" #: build/C/man3/CPU_SET.3:28 build/C/man2/clone.2:46 build/C/man2/kcmp.2:29 #: build/C/man2/sched_get_priority_max.2:30 build/C/man3/sched_getcpu.3:27 #: build/C/man2/sched_rr_get_interval.2:30 build/C/man2/sched_setaffinity.2:35 -#: build/C/man2/sched_setparam.2:31 build/C/man2/sched_setscheduler.2:47 +#: build/C/man2/sched_setparam.2:31 build/C/man2/sched_setscheduler.2:27 #: build/C/man2/sched_yield.2:30 build/C/man2/setns.2:9 #: build/C/man2/unshare.2:21 #, no-wrap @@ -68,12 +68,16 @@ msgid "" "CPU_ISSET_S, CPU_ZERO_S, CPU_COUNT_S, CPU_AND_S, CPU_OR_S, CPU_XOR_S, " "CPU_EQUAL_S - macros for manipulating CPU sets" msgstr "" +"CPU_SET, CPU_CLR, CPU_ISSET, CPU_ZERO, CPU_COUNT, CPU_AND, CPU_OR, CPU_XOR, " +"CPU_EQUAL, CPU_ALLOC, CPU_ALLOC_SIZE, CPU_FREE, CPU_SET_S, CPU_CLR_S, " +"CPU_ISSET_S, CPU_ZERO_S, CPU_COUNT_S, CPU_AND_S, CPU_OR_S, CPU_XOR_S, " +"CPU_EQUAL_S - CPU 集合を操作するためのマクロ" #. type: SH #: build/C/man3/CPU_SET.3:35 build/C/man2/clone.2:48 build/C/man2/kcmp.2:31 #: build/C/man2/sched_get_priority_max.2:32 build/C/man3/sched_getcpu.3:29 #: build/C/man2/sched_rr_get_interval.2:32 build/C/man2/sched_setaffinity.2:38 -#: build/C/man2/sched_setparam.2:33 build/C/man2/sched_setscheduler.2:50 +#: build/C/man2/sched_setparam.2:33 build/C/man2/sched_setscheduler.2:30 #: build/C/man2/sched_yield.2:32 build/C/man2/setns.2:11 #: build/C/man2/unshare.2:23 #, no-wrap @@ -203,7 +207,7 @@ msgstr "BIB<, cpu_set_t *>IB<, cpu_set_ #: build/C/man3/CPU_SET.3:79 build/C/man2/clone.2:86 build/C/man2/kcmp.2:41 #: build/C/man2/sched_get_priority_max.2:38 build/C/man3/sched_getcpu.3:55 #: build/C/man2/sched_rr_get_interval.2:36 build/C/man2/sched_setaffinity.2:49 -#: build/C/man2/sched_setparam.2:47 build/C/man2/sched_setscheduler.2:66 +#: build/C/man2/sched_setparam.2:47 build/C/man2/sched_setscheduler.2:41 #: build/C/man2/sched_yield.2:36 build/C/man2/setns.2:18 #: build/C/man2/unshare.2:50 #, no-wrap @@ -216,19 +220,24 @@ msgid "" "The I data structure represents a set of CPUs. CPU sets are used " "by B(2) and similar interfaces." msgstr "" +"I データ構造体は CPU 集合を表現している。 CPU 集合は " +"B(2) や同様のインタフェースで使用されている。" #. type: Plain text #: build/C/man3/CPU_SET.3:93 msgid "" -"The I data type is implemented as a bitset. However, the data " +"The I data type is implemented as a bit set. However, the data " "structure treated as considered opaque: all manipulation of CPU sets should " "be done via the macros described in this page." msgstr "" +"I データ型はビット集合として実装されている。 しかし、 データ構造体" +"はその実装を意識せずに扱うものとされており、 CPU 集合のすべての操作は、 この" +"ページで説明されているマクロを通して行うべきである。" #. type: Plain text #: build/C/man3/CPU_SET.3:96 msgid "The following macros are provided to operate on the CPU set I:" -msgstr "" +msgstr "以下のマクロが CPU 集合 I を操作するために提供されている。" #. type: TP #: build/C/man3/CPU_SET.3:96 @@ -239,7 +248,7 @@ msgstr "B()" #. type: Plain text #: build/C/man3/CPU_SET.3:101 msgid "Clears I, so that it contains no CPUs." -msgstr "" +msgstr "I をクリアする。 集合には何も CPU が含まれない状態となる。" #. type: TP #: build/C/man3/CPU_SET.3:101 @@ -250,7 +259,7 @@ msgstr "B()" #. type: Plain text #: build/C/man3/CPU_SET.3:107 msgid "Add CPU I to I." -msgstr "" +msgstr "I に I を追加する。" #. type: TP #: build/C/man3/CPU_SET.3:107 @@ -261,7 +270,7 @@ msgstr "B()" #. type: Plain text #: build/C/man3/CPU_SET.3:113 msgid "Remove CPU I from I." -msgstr "" +msgstr "I から I を削除する。" #. type: TP #: build/C/man3/CPU_SET.3:113 @@ -272,7 +281,7 @@ msgstr "B()" #. type: Plain text #: build/C/man3/CPU_SET.3:119 msgid "Test to see if CPU I is a member of I." -msgstr "" +msgstr "CPU I が I のメンバーであるかを検査する。" #. type: TP #: build/C/man3/CPU_SET.3:119 @@ -283,7 +292,7 @@ msgstr "B()" #. type: Plain text #: build/C/man3/CPU_SET.3:123 msgid "Return the number of CPUs in I." -msgstr "" +msgstr "I に含まれる CPU 数を返す。" #. type: Plain text #: build/C/man3/CPU_SET.3:128 @@ -291,6 +300,8 @@ msgid "" "Where a I argument is specified, it should not produce side effects, " "since the above macros may evaluate the argument more than once." msgstr "" +"I 引き数が指定する場合、 その引き数は副作用を伴うべきではない。 上記のマ" +"クロは引き数を複数回評価する可能性があるからである。" #. type: Plain text #: build/C/man3/CPU_SET.3:139 @@ -300,11 +311,14 @@ msgid "" "B (currently 1024) specifies a value one greater than the " "maximum CPU number that can be stored in I." msgstr "" +"そのシステムで利用可能な最初の CPU が I 値 0 に対応し、 次の CPU が " +"I 値 1 に対応し、 以降も同様である。 定数 B (現在のところ " +"1024) は I に格納できる最大 CPU 数よりも大きな値である。" #. type: Plain text #: build/C/man3/CPU_SET.3:141 msgid "The following macros perform logical operations on CPU sets:" -msgstr "" +msgstr "以下のマクロは CPU 集合どうしの論理操作を行う。" #. type: TP #: build/C/man3/CPU_SET.3:141 @@ -318,6 +332,8 @@ msgid "" "Store the intersection of the sets I and I in I " "(which may be one of the source sets)." msgstr "" +"集合 I と I の積集合を I に格納する (元の集合のい" +"ずれかが I として使用される場合もある)。" #. type: TP #: build/C/man3/CPU_SET.3:150 @@ -331,6 +347,8 @@ msgid "" "Store the union of the sets I and I in I (which " "may be one of the source sets)." msgstr "" +"集合 I と I の和集合を I に格納する (元の集合のい" +"ずれかが I として使用される場合もある)。" #. type: TP #: build/C/man3/CPU_SET.3:159 @@ -345,6 +363,9 @@ msgid "" "be one of the source sets). The XOR means the set of CPUs that are in " "either I or I, but not both." msgstr "" +"集合 I と I の XOR を I に格納する (元の集合のいず" +"れかが I として使用される場合もある)。 XOR とは、 I か " +"I のいずれかに含まれるが、両方には含まれない集合のことである。" #. type: TP #: build/C/man3/CPU_SET.3:173 @@ -355,13 +376,13 @@ msgstr "B()" #. type: Plain text #: build/C/man3/CPU_SET.3:176 msgid "Test whether two CPU set contain exactly the same CPUs." -msgstr "" +msgstr "二つの CPU 集合が全く同じ CPU を含んでいるかを検査する。" #. type: SS #: build/C/man3/CPU_SET.3:176 #, no-wrap msgid "Dynamically sized CPU sets" -msgstr "" +msgstr "動的に大きさが決まる CPU 集合" #. type: Plain text #: build/C/man3/CPU_SET.3:182 @@ -371,11 +392,15 @@ msgid "" "I data type), glibc nowadays provides a set of macros to support " "this." msgstr "" +"いくつかのアプリケーションでは CPU 集合の大きさを動的に決める能力 (例えば、 " +"標準の I データ型で定義されたよりも大きい集合を割り当てるなど) が" +"必要となることがあるため、 現在 glibc はこれに対応するためにいくつかのマクロ" +"を提供している。" #. type: Plain text #: build/C/man3/CPU_SET.3:184 msgid "The following macros are used to allocate and deallocate CPU sets:" -msgstr "" +msgstr "以下のマクロを使うと CPU 集合の割り当てと解放ができる。" #. type: TP #: build/C/man3/CPU_SET.3:184 @@ -388,6 +413,8 @@ msgstr "B()" msgid "" "Allocate a CPU set large enough to hold CPUs in the range 0 to I." msgstr "" +"0 から I までの範囲の CPU を保持するのに十分な大きさの CPU 集合を" +"割り当てる。" #. type: TP #: build/C/man3/CPU_SET.3:189 @@ -402,6 +429,9 @@ msgid "" "the range 0 to I. This macro provides the value that can be " "used for the I argument in the B() macros described below." msgstr "" +"0 から I までの範囲の CPU を保持するのに必要な CPU 集合の大きさを" +"バイト数で返す。 このマクロが返す値は、 後述の B() マクロの " +"I 引き数として使用できる。" #. type: TP #: build/C/man3/CPU_SET.3:199 @@ -412,7 +442,7 @@ msgstr "B()" #. type: Plain text #: build/C/man3/CPU_SET.3:203 msgid "Free a CPU set previously allocated by B()." -msgstr "" +msgstr "以前に B() で割り当てられた CPU 集合を解放する。" #. type: Plain text #: build/C/man3/CPU_SET.3:210 @@ -422,13 +452,16 @@ msgid "" "their analogs, but operate on the dynamically allocated CPU set(s) whose " "size is I bytes." msgstr "" +"名前が \"_S\" で終わるマクロは \"_S\" なしの同じ名前のマクロと同等である。 こ" +"れらのマクロは \"_S\" なしのものと同じ動作をするが、 動的に割り当てられた、 " +"大きさが I バイトの CPU 集合に対して操作を行う点が異なる。" #. type: SH -#: build/C/man3/CPU_SET.3:210 build/C/man2/clone.2:874 build/C/man2/kcmp.2:124 -#: build/C/man2/sched_get_priority_max.2:98 build/C/man3/sched_getcpu.3:58 +#: build/C/man3/CPU_SET.3:210 build/C/man2/clone.2:878 build/C/man2/kcmp.2:127 +#: build/C/man2/sched_get_priority_max.2:97 build/C/man3/sched_getcpu.3:58 #: build/C/man2/sched_rr_get_interval.2:73 #: build/C/man2/sched_setaffinity.2:107 build/C/man2/sched_setparam.2:87 -#: build/C/man2/sched_setscheduler.2:422 build/C/man2/sched_yield.2:41 +#: build/C/man2/sched_setscheduler.2:135 build/C/man2/sched_yield.2:41 #: build/C/man2/setns.2:70 build/C/man2/unshare.2:207 #, no-wrap msgid "RETURN VALUE" @@ -440,12 +473,14 @@ msgid "" "B() and B() return nonzero if I is in I; " "otherwise, it returns 0." msgstr "" +"B() と B() は、 I が I に含まれていれば 0 " +"以外を返し、含まれない場合 0 を返す。" #. type: Plain text #: build/C/man3/CPU_SET.3:225 msgid "" "B() and B() return the number of CPUs in I." -msgstr "" +msgstr "B() と B() は I に含まれる CPU 数を返す。" #. type: Plain text #: build/C/man3/CPU_SET.3:230 @@ -453,6 +488,8 @@ msgid "" "B() and B() return nonzero if the two CPU sets are " "equal; otherwise it returns 0." msgstr "" +"B() と B() は、 二つの CPU 集合が等しければ 0 以外を" +"返し、 等しくない場合 0 を返す。" #. type: Plain text #: build/C/man3/CPU_SET.3:235 @@ -460,6 +497,8 @@ msgid "" "B() returns a pointer on success, or NULL on failure. (Errors " "are as for B(3).)" msgstr "" +"B() は成功するとポインタを返し、 失敗すると NULL を返す (エラーは " +"B(3) と同じである)。" #. type: Plain text #: build/C/man3/CPU_SET.3:239 @@ -467,14 +506,16 @@ msgid "" "B() returns the number of bytes required to store a CPU set " "of the specified cardinality." msgstr "" +"B() は指定された大きさの CPU 集合を格納するのに必要なバイト数" +"を返す。" #. type: Plain text #: build/C/man3/CPU_SET.3:241 msgid "The other functions do not return a value." -msgstr "" +msgstr "他の関数は値を返さない。" #. type: SH -#: build/C/man3/CPU_SET.3:241 build/C/man2/clone.2:991 build/C/man2/kcmp.2:195 +#: build/C/man3/CPU_SET.3:241 build/C/man2/clone.2:995 build/C/man2/kcmp.2:198 #: build/C/man3/sched_getcpu.3:70 build/C/man2/sched_setaffinity.2:148 #: build/C/man2/setns.2:97 build/C/man2/unshare.2:224 #, no-wrap @@ -487,27 +528,33 @@ msgid "" "The B(), B(), B(), and B() macros " "were added in glibc 2.3.3." msgstr "" +"マクロ B(), B(), B(), B() は glibc " +"2.3.3 で追加された。" #. type: Plain text #: build/C/man3/CPU_SET.3:252 msgid "B() first appeared in glibc 2.6." -msgstr "" +msgstr "B() は glibc 2.6 で初めて登場した。" #. type: Plain text #: build/C/man3/CPU_SET.3:270 msgid "" "B(), B(), B(), B(), B(), " "B(), B(), B(), B(), " -"B(), B(), B(), B(), B" -"(), and B() first appeared in glibc 2.7." +"B(), B(), B(), B(), " +"B(), and B() first appeared in glibc 2.7." msgstr "" +"B(), B(), B(), B(), B(), " +"B(), B(), B(), B(), " +"B(), B(), B(), B(), " +"B(), B() は glibc 2.7 で初めて登場した。" #. type: SH -#: build/C/man3/CPU_SET.3:270 build/C/man2/clone.2:998 build/C/man2/kcmp.2:199 -#: build/C/man2/sched_get_priority_max.2:114 build/C/man3/sched_getcpu.3:72 -#: build/C/man2/sched_rr_get_interval.2:94 -#: build/C/man2/sched_setaffinity.2:159 build/C/man2/sched_setparam.2:110 -#: build/C/man2/sched_setscheduler.2:444 build/C/man2/sched_yield.2:52 +#: build/C/man3/CPU_SET.3:270 build/C/man2/clone.2:1002 +#: build/C/man2/kcmp.2:202 build/C/man2/sched_get_priority_max.2:113 +#: build/C/man3/sched_getcpu.3:77 build/C/man2/sched_rr_get_interval.2:94 +#: build/C/man2/sched_setaffinity.2:159 build/C/man2/sched_setparam.2:119 +#: build/C/man2/sched_setscheduler.2:170 build/C/man2/sched_yield.2:52 #: build/C/man2/setns.2:102 build/C/man2/unshare.2:228 #, no-wrap msgid "CONFORMING TO" @@ -516,14 +563,14 @@ msgstr "準拠" #. type: Plain text #: build/C/man3/CPU_SET.3:272 msgid "These interfaces are Linux-specific." -msgstr "" +msgstr "これらのインタフェースは Linux 固有である。" #. type: SH -#: build/C/man3/CPU_SET.3:272 build/C/man2/clone.2:1002 -#: build/C/man2/kcmp.2:202 build/C/man3/sched_getcpu.3:75 +#: build/C/man3/CPU_SET.3:272 build/C/man2/clone.2:1006 +#: build/C/man2/kcmp.2:205 build/C/man3/sched_getcpu.3:80 #: build/C/man2/sched_rr_get_interval.2:96 -#: build/C/man2/sched_setaffinity.2:161 build/C/man2/sched_setparam.2:112 -#: build/C/man2/sched_setscheduler.2:447 build/C/man2/sched_yield.2:54 +#: build/C/man2/sched_setaffinity.2:161 build/C/man2/sched_setparam.2:121 +#: build/C/man2/sched_setscheduler.2:173 build/C/man2/sched_yield.2:54 #: build/C/man2/setns.2:106 build/C/man2/unshare.2:232 #, no-wrap msgid "NOTES" @@ -532,25 +579,33 @@ msgstr "注意" #. type: Plain text #: build/C/man3/CPU_SET.3:275 msgid "To duplicate a CPU set, use B(3)." -msgstr "" +msgstr "CPU 集合を複製するには、 B(3) を使用する。" #. type: Plain text #: build/C/man3/CPU_SET.3:282 msgid "" -"Since CPU sets are bitsets allocated in units of long words, the actual " +"Since CPU sets are bit sets allocated in units of long words, the actual " "number of CPUs in a dynamically allocated CPU set will be rounded up to the " "next multiple of I. An application should consider " "the contents of these extra bits to be undefined." msgstr "" +"CPU 集合はロングワード単位に割り当てられるビット集合なので、 動的に割り当てら" +"れた CPU 集合の実際の CPU 数は I の次の倍数に切り上げ" +"られることになる。 アプリケーションは、 これらの余分なビットの内容は不定と考" +"えるべきである。" #. type: Plain text #: build/C/man3/CPU_SET.3:294 msgid "" "Notwithstanding the similarity in the names, note that the constant " "B indicates the number of CPUs in the I data type " -"(thus, it is effectively a count of bits in the bitset), while the " +"(thus, it is effectively a count of bits in the bit set), while the " "I argument of the B() macros is a size in bytes." msgstr "" +"名前は似ているが、 定数 B は I データ型に含まれる " +"CPU 数 (つまり、事実上ビット集合内のビットカウント) を示すのに対して、 マク" +"ロ B() の I 引き数はバイト単位のサイズである点に注意するこ" +"と。" #. type: Plain text #: build/C/man3/CPU_SET.3:300 @@ -560,10 +615,14 @@ msgid "" "are implemented as macros, the compiler won't necessarily catch all type " "errors if you violate the suggestions." msgstr "" +"「書式」に書かれている引き数と返り値のデータ型は、それぞれの場合でどんな型が" +"期待されるかのヒントである。 しかしながら、 これらのインタフェースはマクロと" +"して実装されているため、 このヒントを守らなかった場合に、 コンパイラが必ずし" +"も全ての型エラーを捕捉できるとは限らない。" #. type: SH -#: build/C/man3/CPU_SET.3:300 build/C/man2/clone.2:1027 -#: build/C/man2/sched_setscheduler.2:530 +#: build/C/man3/CPU_SET.3:300 build/C/man2/clone.2:1031 +#: build/C/man2/sched_setscheduler.2:214 #, no-wrap msgid "BUGS" msgstr "バグ" @@ -579,9 +638,14 @@ msgid "" "the macros that operate on dynamically allocated CPU sets. These bugs are " "fixed in glibc 2.9." msgstr "" +"glibc 2.8 以前の 32 ビットプラットフォームでは、 B() は必要な空間" +"の割り当てを二度行い、 B() は本来あるべき値の二倍の値を返" +"す。 このバグはプログラムの動作には影響を与えないはずだが、 無駄にメモリを消" +"費し、 動的に割り当てられた CPU 集合に対して操作を行うマクロの動作の効率が下" +"がる結果となる。 これらのバグは glibc 2.9 で修正された。" #. type: SH -#: build/C/man3/CPU_SET.3:312 build/C/man2/clone.2:1069 +#: build/C/man3/CPU_SET.3:312 build/C/man2/clone.2:1073 #: build/C/man2/setns.2:112 #, no-wrap msgid "EXAMPLE" @@ -593,6 +657,8 @@ msgid "" "The following program demonstrates the use of some of the macros used for " "dynamically allocated CPU sets." msgstr "" +"以下のプログラムは、動的に割り当てた CPU 集合に対していくつかのマクロを使用す" +"る例を示している。" #. type: Plain text #: build/C/man3/CPU_SET.3:323 @@ -703,11 +769,11 @@ msgstr "" "}\n" #. type: SH -#: build/C/man3/CPU_SET.3:356 build/C/man2/clone.2:1167 -#: build/C/man2/kcmp.2:219 build/C/man2/sched_get_priority_max.2:116 -#: build/C/man3/sched_getcpu.3:95 build/C/man2/sched_rr_get_interval.2:132 -#: build/C/man2/sched_setaffinity.2:214 build/C/man2/sched_setparam.2:118 -#: build/C/man2/sched_setscheduler.2:538 build/C/man2/sched_yield.2:79 +#: build/C/man3/CPU_SET.3:356 build/C/man2/clone.2:1170 +#: build/C/man2/kcmp.2:222 build/C/man2/sched_get_priority_max.2:115 +#: build/C/man3/sched_getcpu.3:100 build/C/man2/sched_rr_get_interval.2:132 +#: build/C/man2/sched_setaffinity.2:214 build/C/man2/sched_setparam.2:127 +#: build/C/man2/sched_setscheduler.2:222 build/C/man2/sched_yield.2:79 #: build/C/man2/setns.2:199 build/C/man2/unshare.2:266 #, no-wrap msgid "SEE ALSO" @@ -723,34 +789,30 @@ msgstr "" "B(3), B(7)" #. type: SH -#: build/C/man3/CPU_SET.3:361 build/C/man2/clone.2:1181 -#: build/C/man2/kcmp.2:222 build/C/man2/sched_get_priority_max.2:128 -#: build/C/man3/sched_getcpu.3:97 build/C/man2/sched_rr_get_interval.2:138 -#: build/C/man2/sched_setaffinity.2:233 build/C/man2/sched_setparam.2:134 -#: build/C/man2/sched_setscheduler.2:566 build/C/man2/sched_yield.2:85 +#: build/C/man3/CPU_SET.3:361 build/C/man2/clone.2:1184 +#: build/C/man2/kcmp.2:225 build/C/man2/sched_get_priority_max.2:125 +#: build/C/man3/sched_getcpu.3:103 build/C/man2/sched_rr_get_interval.2:134 +#: build/C/man2/sched_setaffinity.2:234 build/C/man2/sched_setparam.2:142 +#: build/C/man2/sched_setscheduler.2:241 build/C/man2/sched_yield.2:81 #: build/C/man2/setns.2:205 build/C/man2/unshare.2:275 #, no-wrap msgid "COLOPHON" msgstr "この文書について" #. type: Plain text -#: build/C/man3/CPU_SET.3:368 build/C/man2/clone.2:1188 -#: build/C/man2/kcmp.2:229 build/C/man2/sched_get_priority_max.2:135 -#: build/C/man3/sched_getcpu.3:104 build/C/man2/sched_rr_get_interval.2:145 -#: build/C/man2/sched_setaffinity.2:240 build/C/man2/sched_setparam.2:141 -#: build/C/man2/sched_setscheduler.2:573 build/C/man2/sched_yield.2:92 -#: build/C/man2/setns.2:212 build/C/man2/unshare.2:282 -#, fuzzy -#| msgid "" -#| "This page is part of release 3.52 of the Linux I project. A " -#| "description of the project, and information about reporting bugs, can be " -#| "found at \\%http://www.kernel.org/doc/man-pages/." +#: build/C/man3/CPU_SET.3:369 build/C/man2/clone.2:1192 +#: build/C/man2/kcmp.2:233 build/C/man2/sched_get_priority_max.2:133 +#: build/C/man3/sched_getcpu.3:111 build/C/man2/sched_rr_get_interval.2:142 +#: build/C/man2/sched_setaffinity.2:242 build/C/man2/sched_setparam.2:150 +#: build/C/man2/sched_setscheduler.2:249 build/C/man2/sched_yield.2:89 +#: build/C/man2/setns.2:213 build/C/man2/unshare.2:283 msgid "" -"This page is part of release 3.53 of the Linux I project. A " -"description of the project, and information about reporting bugs, can be " -"found at \\%http://www.kernel.org/doc/man-pages/." +"This page is part of release 3.67 of the Linux I project. A " +"description of the project, information about reporting bugs, and the latest " +"version of this page, can be found at \\%http://www.kernel.org/doc/man-" +"pages/." msgstr "" -"この man ページは Linux I プロジェクトのリリース 3.52 の一部\n" +"この man ページは Linux I プロジェクトのリリース 3.67 の一部\n" "である。プロジェクトの説明とバグ報告に関する情報は\n" "http://www.kernel.org/doc/man-pages/ に書かれている。" @@ -763,8 +825,8 @@ msgstr "CLONE" #. type: TH #: build/C/man2/clone.2:45 #, no-wrap -msgid "2013-04-16" -msgstr "2013-04-16" +msgid "2014-02-27" +msgstr "2014-02-27" #. type: Plain text #: build/C/man2/clone.2:48 @@ -779,7 +841,7 @@ msgstr "/* glibc ラッパー関数のプロトタイプ */\n" #. type: Plain text #: build/C/man2/clone.2:53 build/C/man3/sched_getcpu.3:32 -#: build/C/man2/sched_setparam.2:36 build/C/man2/sched_setscheduler.2:53 +#: build/C/man2/sched_setparam.2:36 build/C/man2/sched_setscheduler.2:33 #: build/C/man2/unshare.2:26 #, no-wrap msgid "B<#include Esched.hE>\n" @@ -841,7 +903,7 @@ msgstr "glibc 2.14 以降:" msgid "_GNU_SOURCE" msgstr "_GNU_SOURCE" -#. FIXME See http://sources.redhat.com/bugzilla/show_bug.cgi?id=4749 +#. See http://sources.redhat.com/bugzilla/show_bug.cgi?id=4749 #. type: TP #: build/C/man2/clone.2:78 build/C/man3/sched_getcpu.3:48 #: build/C/man2/unshare.2:42 @@ -887,7 +949,7 @@ msgid "" "process\". But see the description of B below.)" msgstr "" "B(2) とは異なり、B() では、子プロセス (child process) と呼び出" -"し元のプロセスとが、メモリ空間、ファイルディスクリプタのテーブル、シグナル・" +"し元のプロセスとが、メモリ空間、ファイルディスクリプタのテーブル、シグナル" "ハンドラのテーブルなどの 実行コンテキストの一部を共有できる。 (このマニュアル" "における「呼び出し元のプロセス」は、通常は 「親プロセス」と一致する。但し、後" "述の B の項も参照のこと)" @@ -910,19 +972,19 @@ msgid "" "pointer to a function that is called by the child process at the beginning " "of its execution. The I argument is passed to the I function." msgstr "" -"B() で子プロセスが作成された時に、作成された子プロセスは関数 I" -"(I) を実行する。 (この点が B(2) とは異なる。 B(2) の場" -"合、子プロセスは B(2) が呼び出された場所から実行を続ける。) I 引" -"き数は、子プロセスが実行を始める時に子プロセスが呼び出す 関数へのポインタであ" -"る。 I 引き数はそのまま I 関数へと渡される。" +"B() で子プロセスが作成された時に、作成された子プロセスは関数 " +"I(I) を実行する。 (この点が B(2) とは異なる。 B(2) の" +"場合、子プロセスは B(2) が呼び出された場所から実行を続ける。) I " +"引き数は、子プロセスが実行を始める時に子プロセスが呼び出す 関数へのポインタで" +"ある。 I 引き数はそのまま I 関数へと渡される。" #. type: Plain text #: build/C/man2/clone.2:144 msgid "" "When the I(I) function application returns, the child process " "terminates. The integer returned by I is the exit code for the child " -"process. The child process may also terminate explicitly by calling B" -"(2) or after receiving a fatal signal." +"process. The child process may also terminate explicitly by calling " +"B(2) or after receiving a fatal signal." msgstr "" "I(I) 関数が終了すると、子プロセスは終了する。 I によって返され" "た整数が子プロセスの終了コードとなる。 子プロセスは、 B(2) を呼んで明" @@ -956,9 +1018,9 @@ msgid "" "The low byte of I contains the number of the I " "sent to the parent when the child dies. If this signal is specified as " "anything other than B, then the parent process must specify the " -"B<__WALL> or B<__WCLONE> options when waiting for the child with B" -"(2). If no signal is specified, then the parent process is not signaled " -"when the child terminates." +"B<__WALL> or B<__WCLONE> options when waiting for the child with " +"B(2). If no signal is specified, then the parent process is not " +"signaled when the child terminates." msgstr "" "I の下位 1 バイトは子プロセスが死んだ場合に親プロセスへと送られる I<終" "了シグナル (termination signal)> の番号を指定する。このシグナルとして " @@ -1062,15 +1124,15 @@ msgstr "B (Linux 2.0 以降)" #. type: Plain text #: build/C/man2/clone.2:238 msgid "" -"If B is set, the caller and the child process share the same file " -"system information. This includes the root of the file system, the current " -"working directory, and the umask. Any call to B(2), B(2), or " -"B(2) performed by the calling process or the child process also " -"affects the other process." +"If B is set, the caller and the child process share the same " +"filesystem information. This includes the root of the filesystem, the " +"current working directory, and the umask. Any call to B(2), " +"B(2), or B(2) performed by the calling process or the child " +"process also affects the other process." msgstr "" "B が設定された場合、呼び出し元のプロセスと子プロセスが同じファイ" -"ル・システム 情報を共有する。ファイル・システム情報は、ファイル・システムの" -"ルート (root)、 カレント・ワーキング・ディレクトリ (current working " +"ルシステム 情報を共有する。ファイルシステム情報は、ファイルシステムの" +"ルート (root)、 カレントワーキングディレクトリ (current working " "directory) や umask などである。 呼び出し元のプロセスや子プロセスのどちらか" "一方によって B(2), B(2), B(2) が呼び出されると、もう一" "方のプロセスにも影響が及ぶ。" @@ -1078,15 +1140,16 @@ msgstr "" #. type: Plain text #: build/C/man2/clone.2:250 msgid "" -"If B is not set, the child process works on a copy of the file " -"system information of the calling process at the time of the B() " +"If B is not set, the child process works on a copy of the " +"filesystem information of the calling process at the time of the B() " "call. Calls to B(2), B(2), B(2) performed later by " "one of the processes do not affect the other process." msgstr "" "B が設定されていない場合、子プロセスは、 B() が実行された時" -"点での、呼び出し元のプロセスのファイル・システム情報のコピーを 使用する。 こ" -"れ以降は、呼び出し元のプロセスと子プロセスの一方が B(2), B" -"(2), B(2) を呼び出しても、もう一方のプロセスには影響を与えない。" +"点での、呼び出し元のプロセスのファイルシステム情報のコピーを 使用する。 こ" +"れ以降は、呼び出し元のプロセスと子プロセスの一方が B(2), " +"B(2), B(2) を呼び出しても、もう一方のプロセスには影響を与えな" +"い。" #. type: TP #: build/C/man2/clone.2:250 @@ -1163,17 +1226,12 @@ msgstr "" #. type: Plain text #: build/C/man2/clone.2:302 msgid "" -"An IPC namespace provides an isolated view of System V IPC objects (see " +"An IPC namespace provides an isolated view of System\\ V IPC objects (see " "B(7)) and (since Linux 2.6.30) POSIX message queues (see " "B(7)). The common characteristic of these IPC mechanisms is " "that IPC objects are identified by mechanisms other than filesystem " "pathnames." -msgstr "" -"IPC 名前空間は、独立の System V IPC オブジェクト空間 (B(7) 参照) を提" -"供する 。 (Linux 2.6.30 以降では) 独立した POSIX メッセージキュー空間 " -"(B(7) 参照) も提供される。 これらの IPC 機構に共通の特徴とし" -"て、 IPC オブジェクトはファイルシステムのパス名とは違った仕組みで識別されると" -"いう点がある。" +msgstr "IPC 名前空間は、独立の System\\ V IPC オブジェクト空間 (B(7) 参照) を提供する 。 (Linux 2.6.30 以降では) 独立した POSIX メッセージキュー空間 (B(7) 参照) も提供される。 これらの IPC 機構に共通の特徴として、 IPC オブジェクトはファイルシステムのパス名とは違った仕組みで識別されるという点がある。" #. type: Plain text #: build/C/man2/clone.2:306 @@ -1305,12 +1363,12 @@ msgid "" msgstr "" "各プロセスはある一つのマウント名前空間中に存在する。プロセスの I<名前空間 " "(namespace)> は、そのプロセスから見えるファイル階層を表すデータ (mount の集" -"合) である。 B フラグがセットされずに B(2) か B" -"() が呼ばれると、子プロセスは親プロセスと同じマウント名前空間に作成される。 " -"システムコール B(2)、 B(2) が呼ばれると呼び出し元のプロセスの" -"マウント名前空間が変更され、この結果 呼び出し元のプロセスと同じ名前空間にいる" -"プロセスはすべて影響を受けるが、 異なるマウント名前空間にいるプロセスは影響を" -"受けない。" +"合) である。 B フラグがセットされずに B(2) か " +"B() が呼ばれると、子プロセスは親プロセスと同じマウント名前空間に作成" +"される。 システムコール B(2)、 B(2) が呼ばれると呼び出し元の" +"プロセスのマウント名前空間が変更され、この結果 呼び出し元のプロセスと同じ名前" +"空間にいるプロセスはすべて影響を受けるが、 異なるマウント名前空間にいるプロセ" +"スは影響を受けない。" #. type: Plain text #: build/C/man2/clone.2:389 @@ -1363,9 +1421,9 @@ msgstr "" #: build/C/man2/clone.2:427 msgid "" "A PID namespace provides an isolated environment for PIDs: PIDs in a new " -"namespace start at 1, somewhat like a standalone system, and calls to B" -"(2), B(2), or B() will produce processes with PIDs that are " -"unique within the namespace." +"namespace start at 1, somewhat like a standalone system, and calls to " +"B(2), B(2), or B() will produce processes with PIDs " +"that are unique within the namespace." msgstr "" "PID 名前空間は、PID に関して分離された環境を提供するものである。 新しい名前空" "間における PID は 1 から始まり (これはスタンドアロンのシステムと似たような感" @@ -1466,13 +1524,13 @@ msgstr "" "る。 このフラグは、コンテナの実装での使用を意図して用意されたものである。" #. type: Plain text -#: build/C/man2/clone.2:505 +#: build/C/man2/clone.2:504 msgid "" "A UTS namespace is the set of identifiers returned by B(2); among " -"these, the domain name and the host name can be modified by B" -"(2) and B(2), respectively. Changes made to the identifiers " -"in a UTS namespace are visible to all other processes in the same namespace, " -"but are not visible to processes in other UTS namespaces." +"these, the domain name and the hostname can be modified by " +"B(2) and B(2), respectively. Changes made to " +"the identifiers in a UTS namespace are visible to all other processes in the " +"same namespace, but are not visible to processes in other UTS namespaces." msgstr "" "UTS 名前空間は、 B(2) が返す識別子の集合である。 識別子としてはドメイ" "ン名とホスト名があり、 それぞれ B(2), B(2) で修" @@ -1480,7 +1538,7 @@ msgstr "" "のすべての プロセスに見えるが、別の UTS 名前空間のプロセスには見えない。" #. type: Plain text -#: build/C/man2/clone.2:510 +#: build/C/man2/clone.2:509 msgid "" "Use of this flag requires: a kernel configured with the B " "option and that the process be privileged (B)." @@ -1490,13 +1548,13 @@ msgstr "" "ある。" #. type: TP -#: build/C/man2/clone.2:510 +#: build/C/man2/clone.2:509 #, no-wrap msgid "B (since Linux 2.3.12)" msgstr "B (Linux 2.3.12 以降)" #. type: Plain text -#: build/C/man2/clone.2:517 +#: build/C/man2/clone.2:516 msgid "" "If B is set, then the parent of the new child (as returned by " "B(2)) will be the same as that of the calling process." @@ -1505,7 +1563,7 @@ msgstr "" "プロセスは呼び出し元のプロセスの親プロセスと同じになる。" #. type: Plain text -#: build/C/man2/clone.2:523 +#: build/C/man2/clone.2:522 msgid "" "If B is not set, then (as with B(2)) the child's parent " "is the calling process." @@ -1514,7 +1572,7 @@ msgstr "" "プロセスがその子供の親になる。" #. type: Plain text -#: build/C/man2/clone.2:531 +#: build/C/man2/clone.2:530 msgid "" "Note that it is the parent process, as returned by B(2), which is " "signaled when the child terminates, so that if B is set, then " @@ -1526,13 +1584,13 @@ msgstr "" "ロセスではなく呼び出し元のプロセスの 親プロセスにシグナルが送られる。" #. type: TP -#: build/C/man2/clone.2:531 +#: build/C/man2/clone.2:530 #, no-wrap msgid "B (since Linux 2.5.49)" msgstr "B (Linux 2.5.49 以降)" #. type: Plain text -#: build/C/man2/clone.2:539 +#: build/C/man2/clone.2:538 msgid "" "Store child thread ID at location I in parent and child memory. (In " "Linux 2.5.32-2.5.48 there was a flag B that did this.)" @@ -1542,13 +1600,13 @@ msgstr "" "いうフラグが存在した。)" #. type: TP -#: build/C/man2/clone.2:539 +#: build/C/man2/clone.2:538 #, no-wrap msgid "B (obsolete)" msgstr "B (廃止予定)" #. type: Plain text -#: build/C/man2/clone.2:550 +#: build/C/man2/clone.2:549 msgid "" "If B is set, the child process is created with the same process " "ID as the calling process. This is good for hacking the system, but " @@ -1561,13 +1619,13 @@ msgstr "" "0) だけがこのフラグを指定できる。 Linux 2.5.16 で削除された。" #. type: TP -#: build/C/man2/clone.2:550 +#: build/C/man2/clone.2:549 #, no-wrap msgid "B (since Linux 2.2)" msgstr "B (Linux 2.2 以降)" #. type: Plain text -#: build/C/man2/clone.2:557 +#: build/C/man2/clone.2:556 msgid "" "If B is specified, and the calling process is being traced, " "then trace the child also (see B(2))." @@ -1576,13 +1634,13 @@ msgstr "" "場合、子プロセスも 同様に追跡される。 (B(2) を参照のこと)" #. type: TP -#: build/C/man2/clone.2:557 +#: build/C/man2/clone.2:556 #, no-wrap msgid "B (since Linux 2.5.32)" msgstr "B (Linux 2.5.32 以降)" #. type: Plain text -#: build/C/man2/clone.2:564 +#: build/C/man2/clone.2:563 msgid "" "The I argument is the new TLS (Thread Local Storage) descriptor. " "(See B(2).)" @@ -1591,13 +1649,13 @@ msgstr "" "(B(2) を参照のこと)" #. type: TP -#: build/C/man2/clone.2:564 +#: build/C/man2/clone.2:563 #, no-wrap msgid "B (since Linux 2.0)" msgstr "B (Linux 2.0 以降)" #. type: Plain text -#: build/C/man2/clone.2:580 +#: build/C/man2/clone.2:579 msgid "" "If B is set, the calling process and the child process share " "the same table of signal handlers. If the calling process or child process " @@ -1608,16 +1666,16 @@ msgid "" "B(2) without affecting the other process." msgstr "" "B が設定された場合、呼び出し元のプロセスと子プロセスは同じシグ" -"ナル・ハン ドラのテーブルを共有する。呼び出し元のプロセスまたは子プロセスのど" +"ナルハン ドラのテーブルを共有する。呼び出し元のプロセスまたは子プロセスのど" "ちらかが B(2) を呼び出してシグナルに対応する動作を変更した場合、 " "もう一方のプロセスのシグナル動作も変更される。 但し、呼び出し元のプロセスと子" -"プロセスは、 プロセス毎に、シグナル・マスク (signal mask) と処理待ちシグナル" +"プロセスは、 プロセス毎に、シグナルマスク (signal mask) と処理待ちシグナル" "の集合 を持っている。このため、あるプロセスは、 B(2) を使用し" "て、もう一方のプロセスに影響を与えずに シグナルを禁止 (block) したり許可 " "(unblock) したりできる。" #. type: Plain text -#: build/C/man2/clone.2:591 +#: build/C/man2/clone.2:590 msgid "" "If B is not set, the child process inherits a copy of the " "signal handlers of the calling process at the time B() is called. " @@ -1625,12 +1683,12 @@ msgid "" "effect on the other process." msgstr "" "B が設定されていない場合、子プロセスは B() が実行され" -"た時点での、呼び出し元のプロセスのシグナル・ハンドラの コピーを継承する。これ" +"た時点での、呼び出し元のプロセスのシグナルハンドラの コピーを継承する。これ" "以降は、一方のプロセスが B(2) を呼び出しても、もう一方のプロセス" "には影響を与えない。" #. type: Plain text -#: build/C/man2/clone.2:599 +#: build/C/man2/clone.2:598 msgid "" "Since Linux 2.6.0-test6, I must also include B if " "B is specified" @@ -1639,13 +1697,13 @@ msgstr "" "も I に含めなければならない。" #. type: TP -#: build/C/man2/clone.2:599 +#: build/C/man2/clone.2:598 #, no-wrap msgid "B (since Linux 2.6.0-test2)" msgstr "B (Linux 2.6.0-test2 以降)" #. type: Plain text -#: build/C/man2/clone.2:608 +#: build/C/man2/clone.2:607 msgid "" "If B is set, then the child is initially stopped (as though " "it was sent a B signal), and must be resumed by sending it a " @@ -1657,7 +1715,7 @@ msgstr "" #. glibc 2.8 removed this defn from bits/sched.h #. type: Plain text -#: build/C/man2/clone.2:616 +#: build/C/man2/clone.2:615 msgid "" "This flag was I from Linux 2.6.25 onward, and was I " "altogether in Linux 2.6.38." @@ -1666,32 +1724,28 @@ msgstr "" "Linux 2.6.38 で完全にI<削除>された。" #. type: TP -#: build/C/man2/clone.2:616 +#: build/C/man2/clone.2:615 #, no-wrap msgid "B (since Linux 2.5.10)" msgstr "B (Linux 2.5.10 以降)" #. type: Plain text -#: build/C/man2/clone.2:625 +#: build/C/man2/clone.2:624 msgid "" "If B is set, then the child and the calling process share a " -"single list of System V semaphore undo values (see B(2)). If this " +"single list of System\\ V semaphore undo values (see B(2)). If this " "flag is not set, then the child has a separate undo list, which is initially " "empty." -msgstr "" -"B がセットされると、子プロセスと呼び出し元プロセスは一つの " -"System V セマフォのアンドゥ値リスト (B(2) 参照) を共有する。このフラ" -"グがセットされていなければ、 子プロセスは独自のアンドゥリストを持つ (リストの" -"初期値は空である)。" +msgstr "B がセットされると、子プロセスと呼び出し元プロセスは一つの System\\ V セマフォのアンドゥ値リスト (B(2) 参照) を共有する。このフラグがセットされていなければ、 子プロセスは独自のアンドゥリストを持つ (リストの初期値は空である)。" #. type: TP -#: build/C/man2/clone.2:625 +#: build/C/man2/clone.2:624 #, no-wrap msgid "B (since Linux 2.4.0-test8)" msgstr "B (Linux 2.4.0-test8以降)" #. type: Plain text -#: build/C/man2/clone.2:634 +#: build/C/man2/clone.2:633 msgid "" "If B is set, the child is placed in the same thread group as " "the calling process. To make the remainder of the discussion of " @@ -1699,26 +1753,26 @@ msgid "" "processes within a thread group." msgstr "" "B が設定された場合、子プロセスは呼び出し元のプロセスと同じス" -"レッド・グループに 置かれる。 B についての以降の議論を読みやす" -"くするため、 「スレッド」という用語はスレッド・グループの中のプロセスを 参照" +"レッドグループに 置かれる。 B についての以降の議論を読みやす" +"くするため、 「スレッド」という用語はスレッドグループの中のプロセスを 参照" "するのに使うこととする。" #. type: Plain text -#: build/C/man2/clone.2:642 +#: build/C/man2/clone.2:641 msgid "" "Thread groups were a feature added in Linux 2.4 to support the POSIX threads " "notion of a set of threads that share a single PID. Internally, this shared " "PID is the so-called thread group identifier (TGID) for the thread group. " "Since Linux 2.4, calls to B(2) return the TGID of the caller." msgstr "" -"スレッド・グループは、 スレッド集合で一つの PID を共有するという POSIX スレッ" +"スレッドグループは、 スレッド集合で一つの PID を共有するという POSIX スレッ" "ドの概念をサポートするために Linux 2.4 に加えられた機能であった。 内部的に" -"は、この共有 PID はいわゆるそのスレッドグループの スレッド・グループ識別子 " +"は、この共有 PID はいわゆるそのスレッドグループの スレッドグループ識別子 " "(TGID) である。 Linux 2.4 以降では、 B(2) の呼び出しではそのプロセス" -"のスレッド・グループ ID を返す。" +"のスレッドグループ ID を返す。" #. type: Plain text -#: build/C/man2/clone.2:651 +#: build/C/man2/clone.2:650 msgid "" "The threads within a group can be distinguished by their (system-wide) " "unique thread IDs (TID). A new thread's TID is available as the function " @@ -1730,18 +1784,18 @@ msgstr "" "返され、 スレッドは自分自身の TID を B(2) で取得できる。" #. type: Plain text -#: build/C/man2/clone.2:661 +#: build/C/man2/clone.2:660 msgid "" "When a call is made to B() without specifying B, then " "the resulting thread is placed in a new thread group whose TGID is the same " "as the thread's TID. This thread is the I of the new thread group." msgstr "" "B を指定せずに B() の呼び出しが行われると、 生成された" -"スレッドはそのスレッドの TID と同じ値の TGID を持つ 新しいスレッド・グループ" -"に置かれる。このスレッドは 新しいスレッド・グループの「リーダー」である。" +"スレッドはそのスレッドの TID と同じ値の TGID を持つ 新しいスレッドグループ" +"に置かれる。このスレッドは 新しいスレッドグループの「リーダー」である。" #. type: Plain text -#: build/C/man2/clone.2:683 +#: build/C/man2/clone.2:682 msgid "" "A new thread created with B has the same parent process as the " "caller of B() (i.e., like B), so that calls to " @@ -1753,7 +1807,7 @@ msgid "" msgstr "" "B を指定して作成された新しいスレッドは、 (B の場" "合と同様に) B() を呼び出し元と同じ親プロセスを持つ。 そのため、 " -"B(2) を呼ぶと、一つのスレッド・グループに属すスレッドは全て同じ値を" +"B(2) を呼ぶと、一つのスレッドグループに属すスレッドは全て同じ値を" "返す。 B で作られたスレッドが終了した際に、 そのスレッドを " "B() を使って生成したスレッドには B (もしくは他の終了シグナ" "ル) は送信されない。 また、 B(2) を使って終了したスレッドの状態を取得" @@ -1761,67 +1815,70 @@ msgstr "" "る)。" #. type: Plain text -#: build/C/man2/clone.2:688 +#: build/C/man2/clone.2:687 msgid "" "After all of the threads in a thread group terminate the parent process of " "the thread group is sent a B (or other termination) signal." msgstr "" -"スレッド・グループに属す全てのスレッドが終了した後、 そのスレッド・グループの" +"スレッドグループに属す全てのスレッドが終了した後、 そのスレッドグループの" "親プロセスに B (もしくは他の終了シグナル) が送られる。" #. type: Plain text -#: build/C/man2/clone.2:693 +#: build/C/man2/clone.2:692 msgid "" "If any of the threads in a thread group performs an B(2), then all " "threads other than the thread group leader are terminated, and the new " "program is executed in the thread group leader." msgstr "" -"スレッド・グループに属すいずれかのスレッドが B(2) を実行すると、ス" -"レッド・グループ・リーダー以外の全てのスレッドは 終了され、新しいプロセスがそ" -"のスレッド・グループ・リーダーの下で 実行される。" +"スレッドグループに属すいずれかのスレッドが B(2) を実行すると、ス" +"レッドグループリーダー以外の全てのスレッドは 終了され、新しいプロセスがそ" +"のスレッドグループリーダーの下で 実行される。" #. type: Plain text -#: build/C/man2/clone.2:699 +#: build/C/man2/clone.2:698 msgid "" "If one of the threads in a thread group creates a child using B(2), " "then any thread in the group can B(2) for that child." msgstr "" -"スレッド・グループに属すスレッドの一つが B(2) を使って子プロセスを作成" -"した場合、 スレッド・グループのどのスレッドであっても その子供を B(2) " +"スレッドグループに属すスレッドの一つが B(2) を使って子プロセスを作成" +"した場合、 スレッドグループのどのスレッドであっても その子供を B(2) " "できる。" #. type: Plain text -#: build/C/man2/clone.2:707 +#: build/C/man2/clone.2:711 msgid "" "Since Linux 2.5.35, I must also include B if " -"B is specified." +"B is specified (and note that, since Linux 2.6.0-test6, " +"B also requires B to be included)." msgstr "" "Linux 2.5.35 以降では、 B を指定する場合、 I に " -"B も含まれていなければならない。" +"B も含まれていなければならない (Linux 2.6.0-test6 以降では、 " +"B を指定する場合 B も指定する必要がある点に注意する" +"こと)。" #. type: Plain text -#: build/C/man2/clone.2:712 +#: build/C/man2/clone.2:716 msgid "" -"Signals may be sent to a thread group as a whole (i.e., a TGID) using B" -"(2), or to a specific thread (i.e., TID) using B(2)." +"Signals may be sent to a thread group as a whole (i.e., a TGID) using " +"B(2), or to a specific thread (i.e., TID) using B(2)." msgstr "" -"B(2) を使ってスレッド・グループ全体 (つまり TGID) にシグナルを送ること" +"B(2) を使ってスレッドグループ全体 (つまり TGID) にシグナルを送ること" "もできれば、 B(2) を使って特定のスレッド (つまり TID) にシグナルを送" "ることもできる。" #. type: Plain text -#: build/C/man2/clone.2:717 +#: build/C/man2/clone.2:721 msgid "" "Signal dispositions and actions are process-wide: if an unhandled signal is " "delivered to a thread, then it will affect (terminate, stop, continue, be " "ignored in) all members of the thread group." msgstr "" "シグナルの配送と処理はプロセス全体に影響する: ハンドラを設定していないシグナ" -"ルがあるスレッドに配送されると、 そのシグナルはスレッド・グループの全メンバー" +"ルがあるスレッドに配送されると、 そのシグナルはスレッドグループの全メンバー" "に影響を及ぼす (終了したり、停止したり、動作を継続したり、無視されたりする)。" #. type: Plain text -#: build/C/man2/clone.2:730 +#: build/C/man2/clone.2:734 msgid "" "Each thread has its own signal mask, as set by B(2), but " "signals can be pending either: for the whole process (i.e., deliverable to " @@ -1832,13 +1889,13 @@ msgid "" msgstr "" "各々のスレッドは独自のシグナルマスクを持っており、 B(2) で設定" "できる。 だが、処理待ちのシグナルには、 B(2) で送信されるプロセス全体" -"に対するもの (つまり、スレッド・グループの どのメンバーにも配送できるもの) " +"に対するもの (つまり、スレッドグループの どのメンバーにも配送できるもの) " "と、 B(2) で送信される個々のスレッドに対するものがありえる。 " "B(2) を呼び出すと、プロセス全体に対する処理待ちシグナルと呼び出" "し元の スレッドに対する処理待ちシグナルを結合したシグナル集合が返される。" #. type: Plain text -#: build/C/man2/clone.2:742 +#: build/C/man2/clone.2:746 msgid "" "If B(2) is used to send a signal to a thread group, and the thread " "group has installed a handler for the signal, then the handler will be " @@ -1847,23 +1904,23 @@ msgid "" "accept the same signal using B(2), the kernel will arbitrarily " "select one of these threads to receive a signal sent using B(2)." msgstr "" -"B(2) を使ってスレッド・グループにシグナルが送られた場合で、 そのスレッ" -"ド・グループがそのシグナルに対するシグナル・ハンドラが 登録されていたときに" -"は、シグナル・ハンドラはスレッド・グループの メンバーのうち、ただ一つのスレッ" +"B(2) を使ってスレッドグループにシグナルが送られた場合で、 そのスレッ" +"ドグループがそのシグナルに対するシグナルハンドラが 登録されていたときに" +"は、シグナルハンドラはスレッドグループの メンバーのうち、ただ一つのスレッ" "ドでだけ起動される。ハンドラが 起動されるスレッドは、そのシグナルを禁止 " "(block) していない メンバーの中から一つだけが勝手に (arbitrarily) 選ばれる。 " -"スレッド・グループに属す複数のスレッドが B(2) を使って同じシグ" +"スレッドグループに属す複数のスレッドが B(2) を使って同じシグ" "ナルを待っている場合、 これらのスレッドの中から一つをカーネルが勝手に選択" "し、 そのスレッドが B を使って送信されたシグナルを受信する。" #. type: TP -#: build/C/man2/clone.2:742 +#: build/C/man2/clone.2:746 #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "B (Linux 2.5.46 以降)" #. type: Plain text -#: build/C/man2/clone.2:749 +#: build/C/man2/clone.2:753 msgid "" "If B is specified, then a tracing process cannot force " "B on this child process." @@ -1872,41 +1929,41 @@ msgstr "" "スに B を適用することができない。" #. type: TP -#: build/C/man2/clone.2:749 +#: build/C/man2/clone.2:753 #, no-wrap msgid "B (since Linux 2.2)" msgstr "B (Linux 2.2 以降)" #. type: Plain text -#: build/C/man2/clone.2:761 +#: build/C/man2/clone.2:765 msgid "" "If B is set, the execution of the calling process is suspended " -"until the child releases its virtual memory resources via a call to B" -"(2) or B<_exit>(2) (as with B(2))." +"until the child releases its virtual memory resources via a call to " +"B(2) or B<_exit>(2) (as with B(2))." msgstr "" "B が設定された場合、 (B(2) と同様に) 子プロセスが " "B(2) または B<_exit>(2) によって仮想メモリを解放するまで、呼び出し" "元のプロセスの実行は停止される。" #. type: Plain text -#: build/C/man2/clone.2:767 +#: build/C/man2/clone.2:771 msgid "" -"If B is not set then both the calling process and the child are " -"schedulable after the call, and an application should not rely on execution " -"occurring in any particular order." +"If B is not set, then both the calling process and the child " +"are schedulable after the call, and an application should not rely on " +"execution occurring in any particular order." msgstr "" "B が設定されていない場合、 B() 呼び出し後は、呼び出し元" "のプロセスと子プロセスの 両方がスケジュール対象となり、アプリケーションはこれ" "らのプロセスの 実行順序に依存しないようにすべきである。" #. type: TP -#: build/C/man2/clone.2:767 +#: build/C/man2/clone.2:771 #, no-wrap msgid "B (since Linux 2.0)" msgstr "B (Linux 2.0 以降)" #. type: Plain text -#: build/C/man2/clone.2:780 +#: build/C/man2/clone.2:784 msgid "" "If B is set, the calling process and the child process run in the " "same memory space. In particular, memory writes performed by the calling " @@ -1921,7 +1978,7 @@ msgstr "" "プしたりアンマップした場合、 もう一方のプロセスにも影響が及ぶ。" #. type: Plain text -#: build/C/man2/clone.2:789 +#: build/C/man2/clone.2:793 msgid "" "If B is not set, the child process runs in a separate copy of the " "memory space of the calling process at the time of B(). Memory " @@ -1930,17 +1987,17 @@ msgid "" msgstr "" "B が設定されていない場合、子プロセスは B() が実行された時点" "での、親プロセスのメモリ空間をコピーした 別のメモリ空間で実行される。 一方の" -"プロセスが行ったメモリへの書き込みや ファイルのマップ/アンマップは、 B" -"(2) の場合と同様、もう一方のプロセスには影響しない。" +"プロセスが行ったメモリへの書き込みや ファイルのマップ/アンマップは、 " +"B(2) の場合と同様、もう一方のプロセスには影響しない。" #. type: SS -#: build/C/man2/clone.2:789 +#: build/C/man2/clone.2:793 #, no-wrap msgid "The raw system call interface" msgstr "素のシステムコールのインターフェース" #. type: Plain text -#: build/C/man2/clone.2:805 +#: build/C/man2/clone.2:809 msgid "" "The raw B() system call corresponds more closely to B(2) in " "that execution in the child continues from the point of the call. As such, " @@ -1955,7 +2012,7 @@ msgstr "" "ターフェースは、 おおまかには次のようになっている。" #. type: Plain text -#: build/C/man2/clone.2:811 +#: build/C/man2/clone.2:815 #, no-wrap msgid "" "BIB<, void *>IB<,>\n" @@ -1967,7 +2024,7 @@ msgstr "" "B< struct pt_regs *>IB<);>\n" #. type: Plain text -#: build/C/man2/clone.2:822 +#: build/C/man2/clone.2:826 msgid "" "Another difference for the raw system call is that the I " "argument may be zero, in which case copy-on-write semantics ensure that the " @@ -1977,12 +2034,12 @@ msgid "" msgstr "" "生のシステムコールのもう一つの違いは、 I 引き数がゼロでも良いこ" "とである。この場合には、どちらかのプロセスが スタックを変更した時に、書き込み" -"時コピー (copy-on-write) 方式により 子プロセスがスタック・ページの独立したコ" +"時コピー (copy-on-write) 方式により 子プロセスがスタックページの独立したコ" "ピーを得られることが保証される。 この場合、正常に動作させるためには、 " "B オプションを指定してはならない。" #. type: Plain text -#: build/C/man2/clone.2:830 +#: build/C/man2/clone.2:834 msgid "" "For some architectures, the order of the arguments for the system call " "differs from that shown above. On the score, microblaze, ARM, ARM 64, PA-" @@ -1996,33 +2053,33 @@ msgstr "" "クチャでは、最初と 2 番目の引き数の順番が逆である。" #. type: SS -#: build/C/man2/clone.2:830 +#: build/C/man2/clone.2:834 #, no-wrap msgid "blackfin, m68k, and sparc" msgstr "blackfin, m68k, sparc" #. type: Plain text -#: build/C/man2/clone.2:834 +#: build/C/man2/clone.2:838 msgid "" "The argument-passing conventions on blackfin, m68k, and sparc are different " -"from descriptions above. For details, see the kernel (and glibc) source." +"from the descriptions above. For details, see the kernel (and glibc) source." msgstr "" "blackfin, m68k, sparc では引き数渡しの規約が上記の説明とは異なる。 詳細は、" "カーネル (と glibc) のソースを参照のこと。" #. type: SS -#: build/C/man2/clone.2:834 +#: build/C/man2/clone.2:838 #, no-wrap msgid "ia64" msgstr "ia64" #. type: Plain text -#: build/C/man2/clone.2:836 +#: build/C/man2/clone.2:840 msgid "On ia64, a different interface is used:" msgstr "ia64 では、別のインターフェースが使用される:" #. type: Plain text -#: build/C/man2/clone.2:843 +#: build/C/man2/clone.2:847 #, no-wrap msgid "" "BIB<)(void *), >\n" @@ -2036,7 +2093,7 @@ msgstr "" "B< /* pid_t *>IB<, struct user_desc *>IB<, pid_t *>IB< */ );>\n" #. type: Plain text -#: build/C/man2/clone.2:855 +#: build/C/man2/clone.2:859 msgid "" "The prototype shown above is for the glibc wrapper function; the raw system " "call interface has no I or I argument, and changes the order of the " @@ -2048,7 +2105,7 @@ msgstr "" "り、 I が最初の引き数で、 I が最後の引き数である。" #. type: Plain text -#: build/C/man2/clone.2:866 +#: build/C/man2/clone.2:870 msgid "" "B<__clone2>() operates in the same way as B(), except that " "I points to the lowest address of the child's stack area, " @@ -2060,13 +2117,13 @@ msgstr "" "I は I が指し示すスタックエリアの大きさを示す。" #. type: SS -#: build/C/man2/clone.2:866 +#: build/C/man2/clone.2:870 #, no-wrap msgid "Linux 2.4 and earlier" msgstr "Linux 2.4 以前" #. type: Plain text -#: build/C/man2/clone.2:874 +#: build/C/man2/clone.2:878 msgid "" "In Linux 2.4 and earlier, B() does not take arguments I, " "I, and I." @@ -2077,7 +2134,7 @@ msgstr "" #. gettid(2) returns current->pid; #. getpid(2) returns current->tgid; #. type: Plain text -#: build/C/man2/clone.2:883 +#: build/C/man2/clone.2:887 msgid "" "On success, the thread ID of the child process is returned in the caller's " "thread of execution. On failure, -1 is returned in the caller's context, no " @@ -2088,43 +2145,45 @@ msgstr "" "成されず、 I が適切に設定される。" #. type: SH -#: build/C/man2/clone.2:883 build/C/man2/kcmp.2:167 -#: build/C/man2/sched_get_priority_max.2:108 build/C/man3/sched_getcpu.3:65 +#: build/C/man2/clone.2:887 build/C/man2/kcmp.2:170 +#: build/C/man2/sched_get_priority_max.2:107 build/C/man3/sched_getcpu.3:65 #: build/C/man2/sched_rr_get_interval.2:80 #: build/C/man2/sched_setaffinity.2:116 build/C/man2/sched_setparam.2:96 -#: build/C/man2/sched_setscheduler.2:432 build/C/man2/sched_yield.2:48 +#: build/C/man2/sched_setscheduler.2:145 build/C/man2/sched_yield.2:48 #: build/C/man2/setns.2:77 build/C/man2/unshare.2:212 #, no-wrap msgid "ERRORS" msgstr "エラー" #. type: TP -#: build/C/man2/clone.2:884 +#: build/C/man2/clone.2:888 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/clone.2:887 +#: build/C/man2/clone.2:891 msgid "Too many processes are already running." msgstr "すでに実行中のプロセスが多すぎる。" #. type: TP -#: build/C/man2/clone.2:887 build/C/man2/clone.2:894 build/C/man2/clone.2:909 -#: build/C/man2/clone.2:917 build/C/man2/clone.2:925 build/C/man2/clone.2:933 -#: build/C/man2/clone.2:939 build/C/man2/clone.2:949 build/C/man2/clone.2:957 -#: build/C/man2/clone.2:965 build/C/man2/kcmp.2:178 -#: build/C/man2/sched_get_priority_max.2:109 +#: build/C/man2/clone.2:891 build/C/man2/clone.2:898 build/C/man2/clone.2:913 +#: build/C/man2/clone.2:921 build/C/man2/clone.2:929 build/C/man2/clone.2:937 +#: build/C/man2/clone.2:943 build/C/man2/clone.2:953 build/C/man2/clone.2:961 +#: build/C/man2/clone.2:969 build/C/man2/kcmp.2:181 +#: build/C/man2/sched_get_priority_max.2:108 #: build/C/man2/sched_rr_get_interval.2:84 #: build/C/man2/sched_setaffinity.2:120 build/C/man2/sched_setaffinity.2:128 -#: build/C/man2/sched_setparam.2:97 build/C/man2/sched_setscheduler.2:433 -#: build/C/man2/setns.2:82 build/C/man2/unshare.2:213 +#: build/C/man2/sched_setparam.2:97 build/C/man2/sched_setparam.2:104 +#: build/C/man2/sched_setscheduler.2:146 build/C/man2/sched_setscheduler.2:153 +#: build/C/man2/sched_setscheduler.2:158 build/C/man2/setns.2:82 +#: build/C/man2/unshare.2:213 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/clone.2:894 +#: build/C/man2/clone.2:898 msgid "" "B was specified, but B was not. (Since Linux 2.6.0-" "test6.)" @@ -2141,7 +2200,7 @@ msgstr "" #. was specified. #. (Since Linux 2.6.0-test6.) #. type: Plain text -#: build/C/man2/clone.2:909 +#: build/C/man2/clone.2:913 msgid "" "B was specified, but B was not. (Since Linux " "2.5.35.)" @@ -2150,28 +2209,28 @@ msgstr "" "た。 (Linux 2.5.35 以降)" #. type: Plain text -#: build/C/man2/clone.2:917 +#: build/C/man2/clone.2:921 msgid "Both B and B were specified in I." msgstr "B と B の両方が I に指定された。" #. type: Plain text -#: build/C/man2/clone.2:925 +#: build/C/man2/clone.2:929 msgid "Both B and B were specified in I." msgstr "B と B の両方が I に指定された。" #. type: Plain text -#: build/C/man2/clone.2:933 +#: build/C/man2/clone.2:937 msgid "Both B and B were specified in I." msgstr "B と B の両方が I に指定された。" #. type: Plain text -#: build/C/man2/clone.2:939 +#: build/C/man2/clone.2:943 msgid "" "Returned by B() when a zero value is specified for I." msgstr "I にゼロを指定した場合に B() が返す。" #. type: Plain text -#: build/C/man2/clone.2:949 +#: build/C/man2/clone.2:953 msgid "" "B was specified in I, but the kernel was not configured " "with the B and B options." @@ -2180,7 +2239,7 @@ msgstr "" "B と B が有効になっていなかった。" #. type: Plain text -#: build/C/man2/clone.2:957 +#: build/C/man2/clone.2:961 msgid "" "B was specified in I, but the kernel was not configured " "with the B option." @@ -2189,7 +2248,7 @@ msgstr "" "B が有効になっていなかった。" #. type: Plain text -#: build/C/man2/clone.2:965 +#: build/C/man2/clone.2:969 msgid "" "B was specified in I, but the kernel was not configured " "with the B option." @@ -2198,7 +2257,7 @@ msgstr "" "B が有効になっていなかった。" #. type: Plain text -#: build/C/man2/clone.2:973 +#: build/C/man2/clone.2:977 msgid "" "B was specified in I, but the kernel was not configured " "with the B option." @@ -2207,13 +2266,13 @@ msgstr "" "B が有効になっていなかった。" #. type: TP -#: build/C/man2/clone.2:973 build/C/man2/setns.2:89 build/C/man2/unshare.2:217 +#: build/C/man2/clone.2:977 build/C/man2/setns.2:89 build/C/man2/unshare.2:217 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/clone.2:978 +#: build/C/man2/clone.2:982 msgid "" "Cannot allocate sufficient memory to allocate a task structure for the " "child, or to copy those parts of the caller's context that need to be copied." @@ -2222,16 +2281,16 @@ msgstr "" "コピーするのに必要なメモリを十分に割り当てることができない。" #. type: TP -#: build/C/man2/clone.2:978 build/C/man2/clone.2:987 build/C/man2/kcmp.2:182 -#: build/C/man2/sched_setaffinity.2:135 build/C/man2/sched_setparam.2:101 -#: build/C/man2/sched_setscheduler.2:438 build/C/man2/setns.2:92 +#: build/C/man2/clone.2:982 build/C/man2/clone.2:991 build/C/man2/kcmp.2:185 +#: build/C/man2/sched_setaffinity.2:135 build/C/man2/sched_setparam.2:109 +#: build/C/man2/sched_setscheduler.2:164 build/C/man2/setns.2:92 #: build/C/man2/unshare.2:221 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/clone.2:987 +#: build/C/man2/clone.2:991 msgid "" "B, B, B, B, or " "B was specified by an unprivileged process (process without " @@ -2242,12 +2301,12 @@ msgstr "" "た。" #. type: Plain text -#: build/C/man2/clone.2:991 +#: build/C/man2/clone.2:995 msgid "B was specified by a process other than process 0." msgstr "PID が 0 以外のプロセスによって B が指定された。" #. type: Plain text -#: build/C/man2/clone.2:998 +#: build/C/man2/clone.2:1002 msgid "" "There is no entry for B() in libc5. glibc2 provides B() as " "described in this manual page." @@ -2256,7 +2315,7 @@ msgstr "" "マニュアルページに記載の通りである。" #. type: Plain text -#: build/C/man2/clone.2:1002 +#: build/C/man2/clone.2:1006 msgid "" "B() is Linux-specific and should not be used in programs intended to " "be portable." @@ -2265,7 +2324,7 @@ msgstr "" "い。" #. type: Plain text -#: build/C/man2/clone.2:1012 +#: build/C/man2/clone.2:1016 msgid "" "In the kernel 2.4.x series, B generally does not make the " "parent of the new thread the same as the parent of the calling process. " @@ -2278,7 +2337,7 @@ msgstr "" "グを指定すると、 暗黙のうちに CLONE_PARENT フラグを指定したことになる。" #. type: Plain text -#: build/C/man2/clone.2:1022 +#: build/C/man2/clone.2:1026 msgid "" "For a while there was B (introduced in 2.5.32): parent wants " "no child-exit signal. In 2.6.2 the need to give this together with " @@ -2290,7 +2349,7 @@ msgstr "" "要はなくなった。 このフラグはまだ定義されているが、何の効果もない。" #. type: Plain text -#: build/C/man2/clone.2:1027 +#: build/C/man2/clone.2:1031 msgid "" "On i386, B() should not be called through vsyscall, but directly " "through I." @@ -2299,7 +2358,7 @@ msgstr "" "呼び出すべきである。" #. type: Plain text -#: build/C/man2/clone.2:1058 +#: build/C/man2/clone.2:1062 msgid "" "Versions of the GNU C library that include the NPTL threading library " "contain a wrapper function for B(2) that performs caching of PIDs. " @@ -2316,49 +2375,43 @@ msgid "" "also does not occur if the I argument includes B.) To get " "the truth, it may be necessary to use code such as the following:" msgstr "" -"NPTL スレッド・ライブラリを含んでいる GNU C ライブラリのいくつかのバージョン " +"NPTL スレッドライブラリを含んでいる GNU C ライブラリのいくつかのバージョン " "には、 B(2) のラッパー関数が含まれており、このラッパー関数は PID を" -"キャッシュする。 このキャッシュ処理が正しく動作するためには glibc の B" -"() のラッパー関数での助けが必要だが、現状の実装では、 ある状況下において" -"キャッシュが最新とならない可能性がある。 特に、 B() の呼び出し直後に" -"シグナルが子プロセスに配送された場合に、 そのシグナルに対するハンドラ内で " -"B(2) を呼び出すと、それまでに clone のラッパー関数が子プロセスの " +"キャッシュする。 このキャッシュ処理が正しく動作するためには glibc の " +"B() のラッパー関数での助けが必要だが、現状の実装では、 ある状況下にお" +"いてキャッシュが最新とならない可能性がある。 特に、 B() の呼び出し直" +"後にシグナルが子プロセスに配送された場合に、 そのシグナルに対するハンドラ内" +"で B(2) を呼び出すと、それまでに clone のラッパー関数が子プロセスの " "PID キャッシュを 更新する機会が得られていなければ、呼び出し元プロセス (\"親プ" "ロセス\") の PID が 返される可能性がある。 (この議論では、子プロセスが " "B を使って作成された場合のことは無視している。 子プロセスが " "B を作って作成された場合には、 呼び出し元と子プロセスは同じス" -"レッド・グループに属すので、 B(2) は子プロセスと B() を呼び" +"レッドグループに属すので、 B(2) は子プロセスと B() を呼び" "出したプロセスで同じ値を返すのが「正しい」。 キャッシュが最新とならない問題 " "(stale-cache problem) は、 I に B が含まれている場合にも発生" "しない。) 本当の値を得るためには、次のようなコードを使う必要があるかもしれな" "い。" #. type: Plain text -#: build/C/man2/clone.2:1061 +#: build/C/man2/clone.2:1065 #, no-wrap msgid " #include Esyscall.hE\n" msgstr " #include Esyscall.hE\n" #. type: Plain text -#: build/C/man2/clone.2:1063 +#: build/C/man2/clone.2:1067 #, no-wrap msgid " pid_t mypid;\n" msgstr " pid_t mypid;\n" #. type: Plain text -#: build/C/man2/clone.2:1065 +#: build/C/man2/clone.2:1069 #, no-wrap msgid " mypid = syscall(SYS_getpid);\n" msgstr " mypid = syscall(SYS_getpid);\n" -#. type: SS -#: build/C/man2/clone.2:1070 -#, no-wrap -msgid "Create a child that executes in a separate UTS namespace" -msgstr "別の UTS 名前空間で動作する子プロセスを作成する" - #. type: Plain text -#: build/C/man2/clone.2:1080 +#: build/C/man2/clone.2:1083 msgid "" "The following program demonstrates the use of B() to create a child " "process that executes in a separate UTS namespace. The child changes the " @@ -2373,8 +2426,14 @@ msgstr "" "し、 親プロセスと子プロセスの UTS 名前空間でホスト名が異なることを確認する。 " "このプログラムの使用方法については B(2) を参照。" +#. type: SS +#: build/C/man2/clone.2:1083 build/C/man2/setns.2:166 +#, no-wrap +msgid "Program source" +msgstr "プログラムのソース" + #. type: Plain text -#: build/C/man2/clone.2:1090 +#: build/C/man2/clone.2:1093 #, no-wrap msgid "" "#define _GNU_SOURCE\n" @@ -2396,7 +2455,7 @@ msgstr "" "#include Eunistd.hE\n" #. type: Plain text -#: build/C/man2/clone.2:1093 build/C/man2/setns.2:177 +#: build/C/man2/clone.2:1096 build/C/man2/setns.2:177 #, no-wrap msgid "" "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n" @@ -2406,7 +2465,7 @@ msgstr "" " } while (0)\n" #. type: Plain text -#: build/C/man2/clone.2:1098 +#: build/C/man2/clone.2:1101 #, no-wrap msgid "" "static int /* Start function for cloned child */\n" @@ -2420,13 +2479,13 @@ msgstr "" " struct utsname uts;\n" #. type: Plain text -#: build/C/man2/clone.2:1100 +#: build/C/man2/clone.2:1103 #, no-wrap msgid " /* Change hostname in UTS namespace of child */\n" msgstr " /* 子プロセスの UTS 名前空間でホスト名を変更する */\n" #. type: Plain text -#: build/C/man2/clone.2:1103 +#: build/C/man2/clone.2:1106 #, no-wrap msgid "" " if (sethostname(arg, strlen(arg)) == -1)\n" @@ -2436,13 +2495,13 @@ msgstr "" " errExit(\"sethostname\");\n" #. type: Plain text -#: build/C/man2/clone.2:1105 +#: build/C/man2/clone.2:1108 #, no-wrap msgid " /* Retrieve and display hostname */\n" msgstr " /* ホスト名を取得し表示する */\n" #. type: Plain text -#: build/C/man2/clone.2:1109 +#: build/C/man2/clone.2:1112 #, no-wrap msgid "" " if (uname(&uts) == -1)\n" @@ -2454,7 +2513,7 @@ msgstr "" " printf(\"uts.nodename in child: %s\\en\", uts.nodename);\n" #. type: Plain text -#: build/C/man2/clone.2:1113 +#: build/C/man2/clone.2:1116 #, no-wrap msgid "" " /* Keep the namespace open for a while, by sleeping.\n" @@ -2466,13 +2525,13 @@ msgstr "" " 別のプロセスがこの名前空間に参加するなど。 */\n" #. type: Plain text -#: build/C/man2/clone.2:1115 +#: build/C/man2/clone.2:1118 #, no-wrap msgid " sleep(200);\n" msgstr " sleep(200);\n" #. type: Plain text -#: build/C/man2/clone.2:1118 +#: build/C/man2/clone.2:1121 #, no-wrap msgid "" " return 0; /* Child terminates now */\n" @@ -2482,13 +2541,13 @@ msgstr "" "}\n" #. type: Plain text -#: build/C/man2/clone.2:1120 +#: build/C/man2/clone.2:1123 #, no-wrap msgid "#define STACK_SIZE (1024 * 1024) /* Stack size for cloned child */\n" msgstr "#define STACK_SIZE (1024 * 1024) /* clone される子プロセスのスタックサイズ */\n" #. type: Plain text -#: build/C/man2/clone.2:1128 +#: build/C/man2/clone.2:1131 #, no-wrap msgid "" "int\n" @@ -2508,7 +2567,7 @@ msgstr "" " struct utsname uts;\n" #. type: Plain text -#: build/C/man2/clone.2:1133 +#: build/C/man2/clone.2:1136 #, no-wrap msgid "" " if (argc E 2) {\n" @@ -2522,13 +2581,13 @@ msgstr "" " }\n" #. type: Plain text -#: build/C/man2/clone.2:1135 +#: build/C/man2/clone.2:1138 #, no-wrap msgid " /* Allocate stack for child */\n" msgstr " /* 子プロセス用のスタックを割り当てる */\n" #. type: Plain text -#: build/C/man2/clone.2:1140 +#: build/C/man2/clone.2:1143 #, no-wrap msgid "" " stack = malloc(STACK_SIZE);\n" @@ -2542,7 +2601,7 @@ msgstr "" " stackTop = stack + STACK_SIZE; /* スタックは下方向に伸びるものとする */\n" #. type: Plain text -#: build/C/man2/clone.2:1143 +#: build/C/man2/clone.2:1146 #, no-wrap msgid "" " /* Create child that has its own UTS namespace;\n" @@ -2552,7 +2611,7 @@ msgstr "" " 子プロセスは childFunc() の実行を開始する */\n" #. type: Plain text -#: build/C/man2/clone.2:1148 +#: build/C/man2/clone.2:1151 #, no-wrap msgid "" " pid = clone(childFunc, stackTop, CLONE_NEWUTS | SIGCHLD, argv[1]);\n" @@ -2566,19 +2625,19 @@ msgstr "" " printf(\"clone() returned %ld\\en\", (long) pid);\n" #. type: Plain text -#: build/C/man2/clone.2:1150 +#: build/C/man2/clone.2:1153 #, no-wrap msgid " /* Parent falls through to here */\n" msgstr " /* 親プロセスの実行はここに来る */\n" #. type: Plain text -#: build/C/man2/clone.2:1152 +#: build/C/man2/clone.2:1155 #, no-wrap msgid " sleep(1); /* Give child time to change its hostname */\n" msgstr " sleep(1); /* 子プロセスがホスト名を変更する時間を与える */\n" #. type: Plain text -#: build/C/man2/clone.2:1155 +#: build/C/man2/clone.2:1158 #, no-wrap msgid "" " /* Display hostname in parent\\(aqs UTS namespace. This will be\n" @@ -2588,7 +2647,7 @@ msgstr "" " これは子プロセスの UTS 名前空間でのホスト名とは異なる */\n" #. type: Plain text -#: build/C/man2/clone.2:1159 +#: build/C/man2/clone.2:1162 #, no-wrap msgid "" " if (uname(&uts) == -1)\n" @@ -2600,7 +2659,7 @@ msgstr "" " printf(\"uts.nodename in parent: %s\\en\", uts.nodename);\n" #. type: Plain text -#: build/C/man2/clone.2:1163 +#: build/C/man2/clone.2:1166 #, no-wrap msgid "" " if (waitpid(pid, NULL, 0) == -1) /* Wait for child */\n" @@ -2612,7 +2671,7 @@ msgstr "" " printf(\"child has terminated\\en\");\n" #. type: Plain text -#: build/C/man2/clone.2:1166 +#: build/C/man2/clone.2:1169 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" @@ -2622,7 +2681,7 @@ msgstr "" "}\n" #. type: Plain text -#: build/C/man2/clone.2:1181 +#: build/C/man2/clone.2:1184 msgid "" "B(2), B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(2), " @@ -2641,14 +2700,14 @@ msgstr "KCMP" #. type: TH #: build/C/man2/kcmp.2:28 #, no-wrap -msgid "2013-01-27" -msgstr "2013-01-27" +msgid "2013-12-08" +msgstr "2013-12-08" #. type: Plain text #: build/C/man2/kcmp.2:31 msgid "" "kcmp - compare two processes to determine if they share a kernel resource" -msgstr "" +msgstr "kcmp - 二つのプロセスが同じカーネルリソースを共有しているかを比較する" #. type: Plain text #: build/C/man2/kcmp.2:34 @@ -2680,6 +2739,9 @@ msgid "" "identified by I and I share a kernel resource such as virtual " "memory, file descriptors, and so on." msgstr "" +"システムコール B() を使うと、 ID が I と I の二つのプロセス" +"が、 仮想メモリやファイルディスクリプタなどの、 同じカーネルリソースを共有し" +"ているかどうかを検査できる。" #. type: Plain text #: build/C/man2/kcmp.2:55 @@ -2703,6 +2765,9 @@ msgid "" "same open file description (see B(2)) as file descriptor I in " "the process I." msgstr "" +"プロセス I のファイルディスクリプタ I が、 プロセス I の" +"ファイルディスクリプタ I と同じオープンファイル記述 (open file " +"description) を参照しているかを検査する。" #. type: TP #: build/C/man2/kcmp.2:67 @@ -2716,6 +2781,8 @@ msgid "" "Check whether the process share the same set of open file descriptors. The " "arguments I and I are ignored." msgstr "" +"二つのプロセスが同じオープンファイル記述の集合を共有しているかを検査する。 引" +"き数 I と I は無視される。" #. type: TP #: build/C/man2/kcmp.2:75 @@ -2726,16 +2793,19 @@ msgstr "B" #. type: Plain text #: build/C/man2/kcmp.2:84 msgid "" -"Check whether the processes share the same file system information (i.e., " -"file mode creation mask, working directory, and file system root). The " +"Check whether the processes share the same filesystem information (i.e., " +"file mode creation mask, working directory, and filesystem root). The " "arguments I and I are ignored." msgstr "" +"二つのプロセスが同じファイルシステム情報 (すなわち、ファイルのモード作成マス" +"ク、作業ディレクトリ、ファイルシステムのルート) を共有しているかを検査する。 " +"引き数 I と I は無視される。" #. type: TP #: build/C/man2/kcmp.2:84 #, no-wrap msgid "B" -msgstr "" +msgstr "B" #. type: Plain text #: build/C/man2/kcmp.2:92 @@ -2743,6 +2813,8 @@ msgid "" "Check whether the processes share I/O context. The arguments I and " "I are ignored." msgstr "" +"二つのプロセスが I/O コンテキストを共有しているかを検査する。 引き数 I " +"と I は無視される。" #. type: TP #: build/C/man2/kcmp.2:92 @@ -2756,6 +2828,8 @@ msgid "" "Check whether the processes share the same table of signal dispositions. " "The arguments I and I are ignored." msgstr "" +"二つのプロセスがシグナル配送 (disposition) テーブルを共有しているかを検査す" +"る。 引き数 I と I は無視される。" #. type: TP #: build/C/man2/kcmp.2:100 @@ -2766,9 +2840,9 @@ msgstr "B" #. type: Plain text #: build/C/man2/kcmp.2:109 msgid "" -"Check whether the processes share the same list of System V semaphore undo " +"Check whether the processes share the same list of System\\ V semaphore undo " "operations. The arguments I and I are ignored." -msgstr "" +msgstr "二つのプロセスが同じ System\\ V セマフォ undo 操作のリストを共有しているかを検査する。 引き数 I と I は無視される。" #. type: TP #: build/C/man2/kcmp.2:109 @@ -2782,170 +2856,200 @@ msgid "" "Check whether the processes share the same address space. The arguments " "I and I are ignored." msgstr "" +"二つのプロセスが同じアドレス空間を共有しているかを検査する。 引き数 I " +"と I は無視される。" #. type: Plain text -#: build/C/man2/kcmp.2:124 +#: build/C/man2/kcmp.2:127 msgid "" -"Note the B() is not protected against false positives which may have " -"place if tasks are running. Which means one should stop tasks being " -"inspected with this syscall to obtain meaningful results." +"Note the B() is not protected against false positives which may occur " +"if tasks are running. One should stop tasks by sending B (see " +"B(7)) prior to inspection with this system call to obtain " +"meaningful results." msgstr "" +"B() には、タスクが実行されている場合に起こり得る誤判定 (false " +"positive) に関する保護はない。 ということは、 意味のある結果を得るためには、 " +"このシステムコールで検査を行う前に、 B を送信してタスクを停止すべき" +"だということだ (B(7) 参照)。" #. type: Plain text -#: build/C/man2/kcmp.2:130 +#: build/C/man2/kcmp.2:133 msgid "" "The return value of a successful call to B() is simply the result of " "arithmetic comparison of kernel pointers (when the kernel compares " "resources, it uses their memory addresses)." msgstr "" +"B() の呼び出しが成功した場合の返り値は、単にカーネルポインタを数値で比" +"較した結果となる (カーネルはリソースを比較する際、リソースのメモリアドレスを" +"使用する)。" #. type: Plain text -#: build/C/man2/kcmp.2:138 +#: build/C/man2/kcmp.2:141 msgid "" "The easiest way to explain is to consider an example. Suppose that I " "and I are the addresses of appropriate resources, then the return value " "is one of the following:" msgstr "" +"これを説明するには、例を見るのが一番簡単である。 I と I を適切なリ" +"ソースのアドレスとすると、 返り値は以下のいずれか一つとなる。" #. type: IP -#: build/C/man2/kcmp.2:139 +#: build/C/man2/kcmp.2:142 #, no-wrap msgid "0" msgstr "0" #. type: Plain text -#: build/C/man2/kcmp.2:144 +#: build/C/man2/kcmp.2:147 msgid "" "I is equal to I; in other words, the two processes share the " "resource." msgstr "" +"I は I と等しい。言い換えれば、二つのプロセスはそのリソースを共有して" +"いる。" #. type: IP -#: build/C/man2/kcmp.2:144 +#: build/C/man2/kcmp.2:147 #, no-wrap msgid "1" msgstr "1" #. type: Plain text -#: build/C/man2/kcmp.2:148 +#: build/C/man2/kcmp.2:151 msgid "I is less than I." -msgstr "" +msgstr "I は I より小さい。" #. type: IP -#: build/C/man2/kcmp.2:148 +#: build/C/man2/kcmp.2:151 #, no-wrap msgid "2" msgstr "2" #. type: Plain text -#: build/C/man2/kcmp.2:152 +#: build/C/man2/kcmp.2:155 msgid "I is greater than I." -msgstr "" +msgstr "I は I より大きい。" #. type: IP -#: build/C/man2/kcmp.2:152 +#: build/C/man2/kcmp.2:155 #, no-wrap msgid "3" msgstr "3" #. type: Plain text -#: build/C/man2/kcmp.2:157 +#: build/C/man2/kcmp.2:160 msgid "I is not equal to I, but ordering information is unavailable." -msgstr "" +msgstr "I は I と等しくないが、順序情報がない。" #. type: Plain text -#: build/C/man2/kcmp.2:162 +#: build/C/man2/kcmp.2:165 msgid "On error, -1 is returned, and I is set appropriately." msgstr "エラーの場合は -1 が返され、 I が適切に設定される。" #. type: Plain text -#: build/C/man2/kcmp.2:167 +#: build/C/man2/kcmp.2:170 msgid "" -"B was designed to return values suitable for sorting. This is " +"B() was designed to return values suitable for sorting. This is " "particularly handy if one needs to compare a large number of file " "descriptors." msgstr "" +"B() は、ソートに適した値を返すように設計された。 大量のファイルディスク" +"リプタを比較する必要がある場合に、特に役に立つ。" #. type: TP -#: build/C/man2/kcmp.2:168 build/C/man2/setns.2:78 +#: build/C/man2/kcmp.2:171 build/C/man2/setns.2:78 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/kcmp.2:178 +#: build/C/man2/kcmp.2:181 msgid "" "I is B and I or I is not an open file descriptor." msgstr "" +"I が B で、かつ I か I がオープンファイル記述でな" +"い。" #. type: Plain text -#: build/C/man2/kcmp.2:182 +#: build/C/man2/kcmp.2:185 msgid "I is invalid." -msgstr "" +msgstr "I が無効である。" #. type: Plain text -#: build/C/man2/kcmp.2:188 +#: build/C/man2/kcmp.2:191 msgid "" "Insufficient permission to inspect process resources. The B " "capability is required to inspect processes that you do not own." msgstr "" +"プロセスのリソースを検査するのに十分な許可がない。 自分が所有していないプロセ" +"スを検査するためには B ケーパビリティが必要である。" #. type: TP -#: build/C/man2/kcmp.2:188 build/C/man2/sched_rr_get_interval.2:90 -#: build/C/man2/sched_setaffinity.2:145 build/C/man2/sched_setparam.2:107 -#: build/C/man2/sched_setscheduler.2:441 +#: build/C/man2/kcmp.2:191 build/C/man2/sched_rr_get_interval.2:90 +#: build/C/man2/sched_setaffinity.2:145 build/C/man2/sched_setparam.2:116 +#: build/C/man2/sched_setscheduler.2:167 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/kcmp.2:195 +#: build/C/man2/kcmp.2:198 msgid "Process I or I does not exist." -msgstr "" +msgstr "プロセス I か I が存在しない。" #. type: Plain text -#: build/C/man2/kcmp.2:199 +#: build/C/man2/kcmp.2:202 msgid "The B() system call first appeared in Linux 3.5." msgstr "B() システムコールは Linux 3.5 で初めて登場した。" #. type: Plain text -#: build/C/man2/kcmp.2:202 +#: build/C/man2/kcmp.2:205 msgid "" -"B() is Linux specific and should not be used in programs intended to " +"B() is Linux-specific and should not be used in programs intended to " "be portable." msgstr "" "B() は Linux 特有であり、 移植を考慮したプログラムでは使用すべきではな" "い。" #. type: Plain text -#: build/C/man2/kcmp.2:205 +#: build/C/man2/kcmp.2:208 msgid "" "Glibc does not provide a wrapper for this system call; call it using " "B(2)." msgstr "" +"glibc はこのシステムコールに対するラッパー関数を提供していない。 " +"B(2) を使って呼び出すこと。" #. type: Plain text -#: build/C/man2/kcmp.2:214 +#: build/C/man2/kcmp.2:217 msgid "" "This system call is available only if the kernel was configured with " "B. The main use of the system call is for the " "checkpoint/restore in user space (CRIU) feature. The alternative to this " "system call would have been to expose suitable process information via the " -"B(5) file system; this was deemed to be unsuitable for security " +"B(5) filesystem; this was deemed to be unsuitable for security " "reasons." msgstr "" +"このシステムコールが利用できるのは、 カーネルの B " +"オプションが有効になっている場合だけである。 このシステムコールの主な用途" +"は、 ユーザ空間でのチェックポイント/リストア (checkpoint/restore in user " +"space; CRIU) 機能である。 このシステムコールを使わないとすると、 B(5) " +"ファイルシステム経由で必要なプロセス情報を公開することになるが、 これはセキュ" +"リティ上の理由から不適切とみなされた。" #. type: Plain text -#: build/C/man2/kcmp.2:219 +#: build/C/man2/kcmp.2:222 msgid "" "See B(2) for some background information on the shared resources " "referred to on this page." msgstr "" +"このページで参照されている共有リソースに関する背景についての情報は " +"B(2) を参照のこと。" #. type: Plain text -#: build/C/man2/kcmp.2:222 +#: build/C/man2/kcmp.2:225 msgid "B(2), B(2)" -msgstr "" +msgstr "B(2), B(2)" #. type: TH #: build/C/man2/sched_get_priority_max.2:29 @@ -2956,8 +3060,8 @@ msgstr "SCHED_GET_PRIORITY_MAX" #. type: TH #: build/C/man2/sched_get_priority_max.2:29 #, no-wrap -msgid "2006-03-23" -msgstr "2006-03-23" +msgid "2014-05-12" +msgstr "2014-05-12" #. type: Plain text #: build/C/man2/sched_get_priority_max.2:32 @@ -2984,26 +3088,19 @@ msgid "BIB<);>" msgstr "BIB<);>" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:57 +#: build/C/man2/sched_get_priority_max.2:59 msgid "" "B() returns the maximum priority value that can be " "used with the scheduling algorithm identified by I. " "B() returns the minimum priority value that can be " "used with the scheduling algorithm identified by I. Supported " -"I values are B, B, B, and " -"B. Further details about these policies can be found in " -"B(2)." -msgstr "" -"B() はI によって指定されたスケジューリングの" -"アルゴリズムで 使用されるプライオリティの最大値を返す。 " -"B() はI によって指定されたスケジューリングの" -"アルゴリズムで 使用されるプライオリティの最小値を返す。 サポートされる " -"I の値は B、 B、 B、 " -"B である。これらのスケジューリング方針に関する詳細は " -"B(2) に書かれている。" +"I values are B, B, B, " +"B, B, and B. Further details about " +"these policies can be found in B(7)." +msgstr "B() はI によって指定されたスケジューリングのアルゴリズムで 使用されるプライオリティの最大値を返す。 B() はI によって指定されたスケジューリングのアルゴリズムで 使用されるプライオリティの最小値を返す。 サポートされる I の値は B、 B、 B、 B, B, B である。これらのスケジューリング方針に関する詳細は B(7) に書かれている。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:66 +#: build/C/man2/sched_get_priority_max.2:68 msgid "" "Processes with numerically higher priority values are scheduled before " "processes with numerically lower priority values. Thus, the value returned " @@ -3015,19 +3112,15 @@ msgstr "" "す値は B() が返す値よりも大きい。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:77 +#: build/C/man2/sched_get_priority_max.2:76 msgid "" -"Linux allows the static priority value range 1 to 99 for B and " -"B and the priority 0 for B and B. " +"Linux allows the static priority range 1 to 99 for the B and " +"B policies, and the priority 0 for the remaining policies. " "Scheduling priority ranges for the various policies are not alterable." -msgstr "" -"Linux では B と B では 1 から 99 の範囲の 静的プライオ" -"リティーを持ち、B と B では プライオリティとして 0 " -"を持つ。 それぞれの方針のスケジューリング・プライオリティの範囲は 変更するこ" -"とができない。" +msgstr "Linux では、 ポリシー B と B では 1 から 99 の範囲の静的プライオリティーを持ち、それ以外のポリシーでは プライオリティとして 0 を持つ。 それぞれの方針のスケジューリングプライオリティの範囲は 変更することができない。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:89 +#: build/C/man2/sched_get_priority_max.2:88 msgid "" "The range of scheduling priorities may vary on other POSIX systems, thus it " "is a good idea for portable applications to use a virtual priority range and " @@ -3035,7 +3128,7 @@ msgid "" "B(). POSIX.1-2001 requires a spread of at least 32 " "between the maximum and the minimum values for B and B." msgstr "" -"スケジューリング・プライオリティの範囲は他の POSIX システムと 異なっているか" +"スケジューリングプライオリティの範囲は他の POSIX システムと 異なっているか" "もしれない。それで、移植性(portable)のある アプリケーションでは仮想的な範囲を" "用い B() と B() で与えられ" "た間隔にマップして使用することはいい考えである。 POSIX.1-2001 では " @@ -3043,18 +3136,18 @@ msgstr "" "することを要求している。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:98 +#: build/C/man2/sched_get_priority_max.2:97 msgid "" "POSIX systems on which B() and " "B() are available define " "B<_POSIX_PRIORITY_SCHEDULING> in Iunistd.hE>." msgstr "" -"POSIX システムでは B() と B" -"() は Iunistd.hE> に B<_POSIX_PRIORITY_SCHEDULING> が定義されてい" -"る場合にのみ使用可能である。" +"POSIX システムでは B() と " +"B() は Iunistd.hE> に " +"B<_POSIX_PRIORITY_SCHEDULING> が定義されている場合にのみ使用可能である。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:108 +#: build/C/man2/sched_get_priority_max.2:107 msgid "" "On success, B() and B() " "return the maximum/minimum priority value for the named scheduling policy. " @@ -3065,13 +3158,13 @@ msgstr "" "ラーの場合は -1 が返され、 I が適切に設定される。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:114 +#: build/C/man2/sched_get_priority_max.2:113 msgid "The argument I does not identify a defined scheduling policy." msgstr "引き数 I が定義されているスケジューリング方針と一致しない。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:116 -#: build/C/man2/sched_rr_get_interval.2:96 build/C/man2/sched_setparam.2:112 +#: build/C/man2/sched_get_priority_max.2:115 +#: build/C/man2/sched_rr_get_interval.2:96 build/C/man2/sched_setparam.2:121 #: build/C/man2/sched_yield.2:54 msgid "POSIX.1-2001." msgstr "POSIX.1-2001." @@ -3080,21 +3173,9 @@ msgstr "POSIX.1-2001." #: build/C/man2/sched_get_priority_max.2:125 msgid "" "B(2), B(2), B(2), " -"B(2), B(2), B(2)" -msgstr "" -"B(2), B(2) B(2), " -"B(2), B(2), B(2)," - -#. type: Plain text -#: build/C/man2/sched_get_priority_max.2:128 -#: build/C/man2/sched_rr_get_interval.2:138 build/C/man2/sched_setparam.2:134 -#: build/C/man2/sched_setscheduler.2:563 build/C/man2/sched_yield.2:85 -msgid "" -"I by Bill O. Gallmeister, O'Reilly " -"& Associates, Inc., ISBN 1-56592-074-0." -msgstr "" -"I by Bill O. Gallmeister, O'Reilly " -"& Associates, Inc., ISBN 1-56592-074-0." +"B(2), B(2), B(2), " +"B(7)" +msgstr "B(2), B(2), B(2), B(2), B(2), B(2), B(7)" #. type: TH #: build/C/man3/sched_getcpu.3:26 @@ -3103,10 +3184,10 @@ msgid "SCHED_GETCPU" msgstr "SCHED_GETCPU" #. type: TH -#: build/C/man3/sched_getcpu.3:26 build/C/man2/unshare.2:20 +#: build/C/man3/sched_getcpu.3:26 build/C/man2/sched_setaffinity.2:34 #, no-wrap -msgid "2013-04-17" -msgstr "2013-04-17" +msgid "2014-05-10" +msgstr "2014-05-10" #. type: Plain text #: build/C/man3/sched_getcpu.3:29 @@ -3164,29 +3245,46 @@ msgstr "このカーネルでは B(2) が実装されていない。" msgid "This function is available since glibc 2.6." msgstr "この関数は glibc 2.6 以降で利用可能である。" +#. type: SH +#: build/C/man3/sched_getcpu.3:72 +#, no-wrap +msgid "ATTRIBUTES" +msgstr "属性" + +#. type: SS +#: build/C/man3/sched_getcpu.3:73 +#, no-wrap +msgid "Multithreading (see pthreads(7))" +msgstr "マルチスレッディング (pthreads(7) 参照)" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:77 +msgid "The B() function is thread-safe." +msgstr "B() 関数はスレッドセーフである。" + #. type: Plain text -#: build/C/man3/sched_getcpu.3:75 -msgid "B() is glibc specific." +#: build/C/man3/sched_getcpu.3:80 +msgid "B() is glibc-specific." msgstr "B() は glibc 固有である。" #. type: Plain text -#: build/C/man3/sched_getcpu.3:77 +#: build/C/man3/sched_getcpu.3:82 msgid "The call" msgstr "呼び出し" #. type: Plain text -#: build/C/man3/sched_getcpu.3:81 +#: build/C/man3/sched_getcpu.3:86 #, no-wrap msgid "cpu = sched_getcpu();\n" msgstr "cpu = sched_getcpu();\n" #. type: Plain text -#: build/C/man3/sched_getcpu.3:87 +#: build/C/man3/sched_getcpu.3:92 msgid "is equivalent to the following B(2) call:" msgstr "は、以下の B(2) 呼び出しと等価である。" #. type: Plain text -#: build/C/man3/sched_getcpu.3:93 +#: build/C/man3/sched_getcpu.3:98 #, no-wrap msgid "" "int c, s;\n" @@ -3198,9 +3296,9 @@ msgstr "" "cpu = (s == -1) ? s : c;\n" #. type: Plain text -#: build/C/man3/sched_getcpu.3:97 -msgid "B(2)" -msgstr "B(2)" +#: build/C/man3/sched_getcpu.3:103 +msgid "B(2), B(7)" +msgstr "B(2), B(7)" #. type: TH #: build/C/man2/sched_rr_get_interval.2:29 @@ -3209,10 +3307,10 @@ msgid "SCHED_RR_GET_INTERVAL" msgstr "SCHED_RR_GET_INTERVAL" #. type: TH -#: build/C/man2/sched_rr_get_interval.2:29 +#: build/C/man2/sched_rr_get_interval.2:29 build/C/man2/sched_yield.2:29 #, no-wrap -msgid "2013-03-18" -msgstr "2013-03-18" +msgid "2014-04-28" +msgstr "2014-04-28" #. type: Plain text #: build/C/man2/sched_rr_get_interval.2:32 @@ -3304,7 +3402,7 @@ msgstr "PID が不正である。" #: build/C/man2/sched_rr_get_interval.2:90 msgid "The system call is not yet implemented (only on rather old kernels)." msgstr "" -"システム・コールがまだ実装されていない (かなり古いカーネルにおいてのみ)。" +"システムコールがまだ実装されていない (かなり古いカーネルにおいてのみ)。" #. type: Plain text #: build/C/man2/sched_rr_get_interval.2:94 @@ -3342,12 +3440,12 @@ msgid "" msgstr "" "POSIX ではラウンドロビン時間量の大きさを制御する仕組みが規定されていない。 古" "い Linux カーネルではこれを変更する方法が提供されている (この方法に移植性はな" -"い)。 プロセスの nice 値を調整することで時間量を制御できる (B" -"(2) 参照)。 負の nice 値 (すなわち、高い nice 値) を割り当てると時間量は長く" -"なり、 正の nice 値 (すなわち、低い nice 値) を割り当てると時間量は短くな" -"る。 デフォルトの時間量は 0.1 秒である。 nice 値の変更が時間量にどの程度影響" -"を与えるかは カーネルのバージョンにより多少異なる。時間量を調整するこのメソッ" -"ドは Linux 2.6.24 以降で削除された。" +"い)。 プロセスの nice 値を調整することで時間量を制御できる " +"(B(2) 参照)。 負の nice 値 (すなわち、高い nice 値) を割り当てる" +"と時間量は長くなり、 正の nice 値 (すなわち、低い nice 値) を割り当てると時間" +"量は短くなる。 デフォルトの時間量は 0.1 秒である。 nice 値の変更が時間量にど" +"の程度影響を与えるかは カーネルのバージョンにより多少異なる。時間量を調整する" +"このメソッドは Linux 2.6.24 以降で削除された。" #. commit ce0dbbbb30aee6a835511d5be446462388ba9eee #. .SH BUGS @@ -3370,13 +3468,9 @@ msgstr "" "間量をデフォルト値に戻すことができる。" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:135 -#: build/C/man2/sched_setaffinity.2:177 -msgid "" -"B(2) has a description of the Linux scheduling scheme." -msgstr "" -"B(2) に Linux のスケジューリング方式についての説明\n" -"がある。" +#: build/C/man2/sched_rr_get_interval.2:134 build/C/man2/sched_yield.2:81 +msgid "B(7)" +msgstr "B(7)" #. type: TH #: build/C/man2/sched_setaffinity.2:34 @@ -3384,19 +3478,13 @@ msgstr "" msgid "SCHED_SETAFFINITY" msgstr "SCHED_SETAFFINITY" -#. type: TH -#: build/C/man2/sched_setaffinity.2:34 -#, no-wrap -msgid "2013-02-11" -msgstr "2013-02-11" - #. type: Plain text #: build/C/man2/sched_setaffinity.2:38 msgid "" -"sched_setaffinity, sched_getaffinity - set and get a process's CPU affinity " +"sched_setaffinity, sched_getaffinity - set and get a thread's CPU affinity " "mask" msgstr "" -"sched_setaffinity, sched_getaffinity - プロセスの CPU affinity マスクを設定・" +"sched_setaffinity, sched_getaffinity - スレッドの CPU affinity マスクを設定・" "取得する" #. type: Plain text @@ -3404,10 +3492,10 @@ msgstr "" #, no-wrap msgid "" "BIB<, size_t >IB<,>\n" -"B< cpu_set_t *>IB<);>\n" +"B< const cpu_set_t *>IB<);>\n" msgstr "" "BIB<, size_t >IB<,>\n" -"B< cpu_set_t *>IB<);>\n" +"B< const cpu_set_t *>IB<);>\n" #. type: Plain text #: build/C/man2/sched_setaffinity.2:48 @@ -3422,24 +3510,24 @@ msgstr "" #. type: Plain text #: build/C/man2/sched_setaffinity.2:63 msgid "" -"A process's CPU affinity mask determines the set of CPUs on which it is " +"A thread's CPU affinity mask determines the set of CPUs on which it is " "eligible to run. On a multiprocessor system, setting the CPU affinity mask " "can be used to obtain performance benefits. For example, by dedicating one " -"CPU to a particular process (i.e., setting the affinity mask of that process " -"to specify a single CPU, and setting the affinity mask of all other " -"processes to exclude that CPU), it is possible to ensure maximum execution " -"speed for that process. Restricting a process to run on a single CPU also " -"avoids the performance cost caused by the cache invalidation that occurs " -"when a process ceases to execute on one CPU and then recommences execution " -"on a different CPU." -msgstr "" -"プロセスの CPU affinity (親和度) マスクは、そのプロセスが 実行を許可されてい" -"る CPU の集合を決定する。 マルチプロセッサ・システムでは、CPU affinity マスク" -"を設定することで 性能上のメリットを得られる可能性がある。 例えば、特定のプロ" -"セスを一つの CPU に括り付け (すなわち、そのプロセスの affinity マスクを一つ" -"の CPU に設定し)、 他の全てのプロセスの affinity マスクからその CPU を除外す" -"ることで、 確実にそのプロセスの実行速度を最大にすることができる。 また、ある" -"プロセスの実行を一つの CPU に限定することで、 一つの CPU での実行を停止してか" +"CPU to a particular thread (i.e., setting the affinity mask of that thread " +"to specify a single CPU, and setting the affinity mask of all other threads " +"to exclude that CPU), it is possible to ensure maximum execution speed for " +"that thread. Restricting a thread to run on a single CPU also avoids the " +"performance cost caused by the cache invalidation that occurs when a thread " +"ceases to execute on one CPU and then recommences execution on a different " +"CPU." +msgstr "" +"スレッドの CPU affinity (親和度) マスクは、そのスレッドが 実行を許可されてい" +"る CPU の集合を決定する。 マルチプロセッサシステムでは、CPU affinity マスク" +"を設定することで 性能上のメリットを得られる可能性がある。 例えば、特定のス" +"レッドを一つの CPU に括り付け (すなわち、そのスレッドの affinity マスクを一つ" +"の CPU に設定し)、 他の全てのスレッドの affinity マスクからその CPU を除外す" +"ることで、 確実にそのスレッドの実行速度を最大にすることができる。 また、ある" +"スレッドの実行を一つの CPU に限定することで、 一つの CPU での実行を停止してか" "ら別の CPU で実行を再開するときに発生する キャッシュ無効化 (cache " "invalidation) による性能面の劣化を避けることもできる。" @@ -3457,37 +3545,38 @@ msgstr "" #. type: Plain text #: build/C/man2/sched_setaffinity.2:85 msgid "" -"B() sets the CPU affinity mask of the process whose ID " -"is I to the value specified by I. If I is zero, then the " -"calling process is used. The argument I is the length (in " -"bytes) of the data pointed to by I. Normally this argument would be " +"B() sets the CPU affinity mask of the thread whose ID is " +"I to the value specified by I. If I is zero, then the " +"calling thread is used. The argument I is the length (in bytes) " +"of the data pointed to by I. Normally this argument would be " "specified as I." msgstr "" -"B() は、プロセスID が I のプロセスの CPU affinity マ" -"スクを I で指定された値に設定する。 I が 0 の場合、呼び出し元プロ" -"セスが使われる。 I 引き数には I が指すデータの長さ (バイト" -"単位) である。 通常は、この引き数には I を指定すればよい。" +"B() は、スレッド ID が I のスレッドの CPU affinity " +"マスクを I で指定された値に設定する。 I が 0 の場合、呼び出し元ス" +"レッドが使われる。 I 引き数には I が指すデータの長さ (バイ" +"ト単位) である。 通常は、この引き数には I を指定すればよ" +"い。" #. type: Plain text #: build/C/man2/sched_setaffinity.2:92 msgid "" -"If the process specified by I is not currently running on one of the " -"CPUs specified in I, then that process is migrated to one of the CPUs " +"If the thread specified by I is not currently running on one of the " +"CPUs specified in I, then that thread is migrated to one of the CPUs " "specified in I." msgstr "" -"I で指定されたプロセスが I で指定された CPU のいずれかで現在実行さ" -"れていない場合、 そのプロセスは I で指定された CPU のいずれかに移動され" +"I で指定されたスレッドが I で指定された CPU のいずれかで現在実行さ" +"れていない場合、 そのスレッドは I で指定された CPU のいずれかに移動され" "る。" #. type: Plain text #: build/C/man2/sched_setaffinity.2:107 msgid "" -"B() writes the affinity mask of the process whose ID is " +"B() writes the affinity mask of the thread whose ID is " "I into the I structure pointed to by I. The " "I argument specifies the size (in bytes) of I. If I " -"is zero, then the mask of the calling process is returned." +"is zero, then the mask of the calling thread is returned." msgstr "" -"B() は、 プロセスID が I のプロセスの affinity マス" +"B() は、 スレッド ID が I のスレッドの affinity マス" "クを I が指す I 構造体に書き込む。 I 引き数には " "I の (バイト単位の) 大きさを指定する。" @@ -3509,20 +3598,20 @@ msgstr "指定されたメモリ番地が不正である。" #: build/C/man2/sched_setaffinity.2:128 msgid "" "The affinity bit mask I contains no processors that are currently " -"physically on the system and permitted to the process according to any " +"physically on the system and permitted to the thread according to any " "restrictions that may be imposed by the \"cpuset\" mechanism described in " "B(7)." msgstr "" -"システム上に現在実際に存在し、かつ \"cpuset\" 機構が課す制限においてそのプロ" -"セスに対して許可されている プロセッサが、 affinity ビットマスク I に含" -"まれていない。 \"cpuset\" 機構については B(7) を参照。" +"システム上に現在実際に存在し、かつ \"cpuset\" 機構が課す制限においてそのス" +"レッドに対して許可されている プロセッサが、 affinity ビットマスク I に" +"含まれていない。 \"cpuset\" 機構については B(7) を参照。" #. type: Plain text #: build/C/man2/sched_setaffinity.2:135 msgid "" -"(B() and, in kernels before 2.6.9, B" -"()) I is smaller than the size of the affinity mask used by the " -"kernel." +"(B() and, in kernels before 2.6.9, " +"B()) I is smaller than the size of the " +"affinity mask used by the kernel." msgstr "" "(B() と、カーネル 2.6.9 以前の B()) " "I がカーネルで使われている affinity マスクのサイズより小さい。" @@ -3530,21 +3619,20 @@ msgstr "" #. type: Plain text #: build/C/man2/sched_setaffinity.2:145 msgid "" -"(B()) The calling process does not have appropriate " +"(B()) The calling thread does not have appropriate " "privileges. The caller needs an effective user ID equal to the real user ID " -"or effective user ID of the process identified by I, or it must possess " +"or effective user ID of the thread identified by I, or it must possess " "the B capability." msgstr "" -"(B()) 呼び出し元のプロセスに適切な特権がなかった。 呼び出" -"し元は、実効ユーザ ID が I で識別されるプロセスの実ユーザ ID または実効" +"(B()) 呼び出し元のスレッドに適切な特権がなかった。 呼び出" +"し元は、実効ユーザ ID が I で識別されるスレッドの実ユーザ ID または実効" "ユーザ ID と同じであるか、 B ケーパビリティ (capability) を持た" "なければならない。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:148 build/C/man2/sched_setparam.2:110 -#: build/C/man2/sched_setscheduler.2:444 -msgid "The process whose ID is I could not be found." -msgstr "プロセス ID I のプロセスが見つからなかった。" +#: build/C/man2/sched_setaffinity.2:148 build/C/man2/sched_setscheduler.2:170 +msgid "The thread whose ID is I could not be found." +msgstr "ID が I のスレッドが見つからなかった。" #. type: Plain text #: build/C/man2/sched_setaffinity.2:159 @@ -3569,25 +3657,30 @@ msgstr "これらのシステムコールは Linux 固有である。" #. type: Plain text #: build/C/man2/sched_setaffinity.2:174 msgid "" -"After a call to B(), the set of CPUs on which the process " +"After a call to B(), the set of CPUs on which the thread " "will actually run is the intersection of the set specified in the I " "argument and the set of CPUs actually present on the system. The system may " -"further restrict the set of CPUs on which the process runs if the \"cpuset\" " +"further restrict the set of CPUs on which the thread runs if the \"cpuset\" " "mechanism described in B(7) is being used. These restrictions on " -"the actual set of CPUs on which the process will run are silently imposed by " +"the actual set of CPUs on which the thread will run are silently imposed by " "the kernel." msgstr "" -"B() を呼び出した後は、プロセスが実際に実行される CPU の集" +"B() を呼び出した後は、スレッドが実際に実行される CPU の集" "合は、 I 引き数で指定された集合と、システム上に実際に存在する CPU の集" -"合の 共通集合 (AND) となる。 \"cpuset\" 機構が使用されている場合には、プロセ" -"スが動作する CPU 集合 に対してシステムはさらに制限を加えるかもしれない " -"(\"cpuset\" 機構については B(7) を参照)。 プロセスが動作する実際の " +"合の 共通集合 (AND) となる。 \"cpuset\" 機構が使用されている場合には、スレッ" +"ドが動作する CPU 集合 に対してシステムはさらに制限を加えるかもしれない " +"(\"cpuset\" 機構については B(7) を参照)。 スレッドが動作する実際の " "CPU 集合に対する制限はカーネルにより 暗黙のうちに適用される。" #. type: Plain text +#: build/C/man2/sched_setaffinity.2:177 +msgid "B(7) has a description of the Linux scheduling scheme." +msgstr "B(7) に Linux のスケジューリング方式についての説明がある。" + +#. type: Plain text #: build/C/man2/sched_setaffinity.2:194 msgid "" -"The affinity mask is actually a per-thread attribute that can be adjusted " +"The affinity mask is a per-thread attribute that can be adjusted " "independently for each of the threads in a thread group. The value returned " "from a call to B(2) can be passed in the argument I. " "Specifying I as 0 will set the attribute for the calling thread, and " @@ -3596,12 +3689,12 @@ msgid "" "POSIX threads API, then use B(3) instead of " "B().)" msgstr "" -"実際には affinity マスクはスレッド単位の属性で、スレッドグループの 各スレッド" -"単位に独立して調整することができる。 B(2) コールからの返り値をこの" -"コールの I 引き数として渡すことができる。 I に 0 を指定すると呼び出" -"し元のスレッドの属性が設定され、 B(2) コールからの返り値を I に" -"指定するとスレッドグループのメインスレッドの属性が設定される (POSIX スレッド " -"API を使用している場合、 B() の代わりに " +"affinity マスクはスレッド単位の属性で、スレッドグループの 各スレッド単位に独" +"立して調整することができる。 B(2) コールからの返り値をこのコールの " +"I 引き数として渡すことができる。 I に 0 を指定すると呼び出し元のス" +"レッドの属性が設定され、 B(2) コールからの返り値を I に指定する" +"とスレッドグループのメインスレッドの属性が設定される (POSIX スレッド API を使" +"用している場合、 B() の代わりに " "B(3) を使用すること)。" #. type: Plain text @@ -3625,7 +3718,7 @@ msgid "" "the CPU set bit mask." msgstr "" "このマニュアルページでは CPU affinity コールの glibc インタフェースを 説明し" -"ている。実際のシステムコール・インタフェースは少し違っており、 実際の実装で" +"ている。実際のシステムコールインタフェースは少し違っており、 実際の実装で" "は CPU 集合は簡単なビットマスクであるという実状を反映し、 I の型が " "I となっている。 成功時には、生の B() " "システムコール自身は I データ型の (バイト単位の) 大きさを返す。 " @@ -3633,19 +3726,14 @@ msgstr "" "るデータ型である。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:233 +#: build/C/man2/sched_setaffinity.2:234 msgid "" "B(1), B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), " "B(2), B(2), B(2), " "B(3), B(3), B(3), " -"B(7), B(7)" -msgstr "" -"B(1), B(2), B(2), B(2), B(2), " -"B(2), B(2), B(2), " -"B(2), B(2), B(2), " -"B(3), B(3), B(3), " -"B(7), B(7)" +"B(7), B(7), B(7)" +msgstr "B(1), B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(3), B(3), B(3), B(7), B(7), B(7)" #. type: TH #: build/C/man2/sched_setparam.2:30 @@ -3654,16 +3742,16 @@ msgid "SCHED_SETPARAM" msgstr "SCHED_SETPARAM" #. type: TH -#: build/C/man2/sched_setparam.2:30 build/C/man2/sched_setscheduler.2:46 +#: build/C/man2/sched_setparam.2:30 #, no-wrap -msgid "2013-02-12" -msgstr "2013-02-12" +msgid "2014-05-11" +msgstr "2014-05-11" #. type: Plain text #: build/C/man2/sched_setparam.2:33 msgid "sched_setparam, sched_getparam - set and get scheduling parameters" msgstr "" -"sched_setparam, sched_getparam - スケジューリング・パラメータの設定と取得を行" +"sched_setparam, sched_getparam - スケジューリングパラメータの設定と取得を行" "なう" #. type: Plain text @@ -3679,7 +3767,7 @@ msgid "BIB<, struct sched_param *>IB<);>\ msgstr "BIB<, struct sched_param *>IB<);>\n" #. type: Plain text -#: build/C/man2/sched_setparam.2:46 build/C/man2/sched_setscheduler.2:65 +#: build/C/man2/sched_setparam.2:46 #, no-wrap msgid "" "B. If I is zero, " "then the parameters of the calling process are set. The interpretation of " "the argument I depends on the scheduling policy of the process " -"identified by I. See B(2) for a description of " -"the scheduling policies supported under Linux." -msgstr "" -"B() は I で指定されたプロセスのスケジューリング方針 " -"(scheduling policy) に 関連するスケジューリング・パラメータを設定する。 " -"I が 0 ならば、呼び出し元のプロセスのパラメータが設定される。 引き数 " -"I の解釈は、 I で指定されたプロセスのスケジューリング方針によって" -"異なる。 Linux でサポートされているスケジューリング方針の説明は " -"B(2) を参照のこと。" +"identified by I. See B(7) for a description of the scheduling " +"policies supported under Linux." +msgstr "B() は I で指定されたプロセスのスケジューリング方針 (scheduling policy) に 関連するスケジューリングパラメータを設定する。 I が 0 ならば、呼び出し元のプロセスのパラメータが設定される。 引き数 I の解釈は、 I で指定されたプロセスのスケジューリング方針によって異なる。 Linux でサポートされているスケジューリング方針の説明は B(7) を参照のこと。" #. type: Plain text #: build/C/man2/sched_setparam.2:66 @@ -3718,7 +3800,7 @@ msgid "" "identified by I. If I is zero, then the parameters of the calling " "process are retrieved." msgstr "" -"B() は I で指定されたプロセスのスケジューリング・パラ" +"B() は I で指定されたプロセスのスケジューリングパラ" "メータを取得する。 I が 0 ならば、呼び出し元のプロセスのパラメータを取得" "する。" @@ -3726,11 +3808,11 @@ msgstr "" #: build/C/man2/sched_setparam.2:75 msgid "" "B() checks the validity of I for the scheduling " -"policy of the process. The value Isched_priority> must lie " +"policy of the thread. The value Isched_priority> must lie " "within the range given by B(2) and " "B(2)." msgstr "" -"B() はプロセスのスケジューリング方針における I の妥当" +"B() はスレッドのスケジューリング方針における I の妥当" "性をチェックする。 Isched_priority> の値は " "B(2) と B(2) の範囲に入って" "いなければならない。" @@ -3739,10 +3821,8 @@ msgstr "" #: build/C/man2/sched_setparam.2:79 msgid "" "For a discussion of the privileges and resource limits related to scheduling " -"priority and policy, see B(2)." -msgstr "" -"スケジューリングの優先度と方針に関連する特権とリソース制限の 議論に関しては " -"B(2) を参照のこと。" +"priority and policy, see B(7)." +msgstr "スケジューリングの優先度と方針に関連する特権とリソース制限の 議論に関しては B(7) を参照のこと。" #. type: Plain text #: build/C/man2/sched_setparam.2:87 @@ -3764,94 +3844,132 @@ msgstr "" "ラーの場合は -1 が返され、 I が適切に設定される。" #. type: Plain text -#: build/C/man2/sched_setparam.2:101 +#: build/C/man2/sched_setparam.2:104 +msgid "Invalid arguments: I is NULL or I is negative" +msgstr "無効な引き数: I が NULL である、または I が負である。" + +#. type: Plain text +#: build/C/man2/sched_setparam.2:109 msgid "" -"The argument I does not make sense for the current scheduling policy." -msgstr "引き数 I が現在のスケジューリング方針においては 無意味である。" +"(B()) The argument I does not make sense for the " +"current scheduling policy." +msgstr "(B()) 引き数 I が現在のスケジューリング方針においては 無意味である。" #. type: Plain text -#: build/C/man2/sched_setparam.2:107 +#: build/C/man2/sched_setparam.2:116 msgid "" -"The calling process does not have appropriate privileges (Linux: does not " -"have the B capability)." -msgstr "" -"呼び出し元のプロセスが適切な特権を持っていない (Linux では、 B " -"ケーパビリティを持っていない)。" +"(B()) The calling process does not have appropriate " +"privileges (Linux: does not have the B capability)." +msgstr "(B()) 呼び出し元のプロセスが適切な特権を持っていない (Linux では、 B ケーパビリティを持っていない)。" + +#. type: Plain text +#: build/C/man2/sched_setparam.2:119 +msgid "The process whose ID is I could not be found." +msgstr "プロセス ID I のプロセスが見つからなかった。" #. type: Plain text -#: build/C/man2/sched_setparam.2:118 +#: build/C/man2/sched_setparam.2:127 msgid "" "Scheduling parameters are in fact per-thread attributes on Linux; see " -"B(2)." -msgstr "" -"Linux では、スケジューリングパラメータは実際にはスレッド単位の属性である。 " -"B(2) 参照。" +"B(7)." +msgstr "Linux では、スケジューリングパラメータは実際にはスレッド単位の属性である。 B(7) 参照。" #. type: Plain text -#: build/C/man2/sched_setparam.2:131 +#: build/C/man2/sched_setparam.2:142 msgid "" "B(2), B(2), B(2), " -"B(2), B(2), B" -"(2), B(2), B(2), B(2), " -"B(7)" -msgstr "" -"B(2), B(2), B(2), " -"B(2), B(2), B" -"(2), B(2), B(2), B(2), " -"B(7)" +"B(2), B(2), " +"B(2), B(2), B(2), " +"B(2), B(2), B(7), B(7)" +msgstr "B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(7), B(7)" #. type: TH -#: build/C/man2/sched_setscheduler.2:46 +#: build/C/man2/sched_setscheduler.2:26 #, no-wrap msgid "SCHED_SETSCHEDULER" msgstr "SCHED_SETSCHEDULER" +#. type: TH +#: build/C/man2/sched_setscheduler.2:26 +#, no-wrap +msgid "2014-05-21" +msgstr "2014-05-21" + #. type: Plain text -#: build/C/man2/sched_setscheduler.2:50 +#: build/C/man2/sched_setscheduler.2:30 msgid "" "sched_setscheduler, sched_getscheduler - set and get scheduling policy/" "parameters" msgstr "" -"sched_setscheduler, sched_getscheduler - スケジューリング・ポリシーとパラメー" +"sched_setscheduler, sched_getscheduler - スケジューリングポリシーとパラメー" "タを設定/取得する" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:55 +#: build/C/man2/sched_setscheduler.2:35 #, no-wrap msgid "BIB<, int >IB<,>\n" msgstr "BIB<, int >IB<,>\n" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:57 +#: build/C/man2/sched_setscheduler.2:37 #, no-wrap msgid "B< const struct sched_param *>IB<);>\n" msgstr "B< const struct sched_param *>IB<);>\n" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:59 +#: build/C/man2/sched_setscheduler.2:39 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:76 +#: build/C/man2/sched_setscheduler.2:49 +msgid "" +"The B() system call sets both the scheduling policy and " +"parameters for the thread whose ID is specified in I. If I equals " +"zero, the scheduling policy and parameters of the calling thread will be set." +msgstr "B() システムコールは、 I で指定された ID を持つスレッドのスケジューリングポリシーとスケジューリングパラメーターの両方を設定する。 I が 0 の場合、呼び出したスレッド自身のスケジューリングポリシーとスケジューリングパラメーターが設定される。" + +#. type: Plain text +#: build/C/man2/sched_setscheduler.2:53 +msgid "" +"The scheduling parameters are specified in the I argument, which is a " +"pointer to a structure of the following form:" +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_setscheduler.2:61 +#, no-wrap +msgid "" +"struct sched_param {\n" +" ...\n" +" int sched_priority;\n" +" ...\n" +"};\n" +msgstr "" +"struct sched_param {\n" +" ...\n" +" int sched_priority;\n" +" ...\n" +"};\n" + +#. type: Plain text +#: build/C/man2/sched_setscheduler.2:69 +msgid "" +"In the current implementation, the structure contains only one field, " +"I. The interpretation of I depends on the selected " +"policy." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_setscheduler.2:73 msgid "" -"B() sets both the scheduling policy and the associated " -"parameters for the process whose ID is specified in I. If I " -"equals zero, the scheduling policy and parameters of the calling process " -"will be set. The interpretation of the argument I depends on the " -"selected policy. Currently, Linux supports the following \"normal\" (i.e., " -"non-real-time) scheduling policies:" +"Currently, Linux supports the following \"normal\" (i.e., non-real-time) " +"scheduling policies as values that may be specified in I:" msgstr "" -"B() は I で指定された ID を持つプロセスのスケジュー" -"リング・ポリシーや それに関連するパラメータを設定する。I が 0 の場合は " -"呼び出したプロセスのスケジューリング・ポリシーとパラメータが設定される。 引き" -"数 I の解釈は選択されたポリシーによる。 現在のところ、Linux では 以下" -"に示す「通常」(リアルタイムでない) スケジューリング・ポリシーが サポートされ" -"ている。" #. type: TP -#: build/C/man2/sched_setscheduler.2:76 +#: build/C/man2/sched_setscheduler.2:73 #, no-wrap msgid "B" msgstr "B" @@ -3859,888 +3977,245 @@ msgstr "B" #. In the 2.6 kernel sources, SCHED_OTHER is actually called #. SCHED_NORMAL. #. type: Plain text -#: build/C/man2/sched_setscheduler.2:81 +#: build/C/man2/sched_setscheduler.2:78 msgid "the standard round-robin time-sharing policy;" -msgstr "標準の、ラウンドロビンによる時分割型のスケジューリング・ポリシー。" +msgstr "標準の、ラウンドロビンによる時分割型のスケジューリングポリシー。" #. type: TP -#: build/C/man2/sched_setscheduler.2:81 +#: build/C/man2/sched_setscheduler.2:78 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:84 +#: build/C/man2/sched_setscheduler.2:81 msgid "for \"batch\" style execution of processes; and" msgstr "「バッチ」形式でのプロセスの実行用。" #. type: TP -#: build/C/man2/sched_setscheduler.2:84 +#: build/C/man2/sched_setscheduler.2:81 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:89 +#: build/C/man2/sched_setscheduler.2:86 msgid "for running I low priority background jobs." -msgstr "「非常に」低い優先度で動作するバックグラウンド・ジョブ用。" +msgstr "「非常に」低い優先度で動作するバックグラウンドジョブ用。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:93 -msgid "" -"The following \"real-time\" policies are also supported, for special time-" -"critical applications that need precise control over the way in which " -"runnable processes are selected for execution:" +#: build/C/man2/sched_setscheduler.2:90 +msgid "For each of the above policies, Isched_priority> must be 0." msgstr "" -"どの実行可能プロセスを選択するかについて、より正確な制御を必要とする 時間の制" -"約が厳しい特別なアプリケーション用として、 以下の「リアルタイム」ポリシーもサ" -"ポートされている。" + +#. type: Plain text +#: build/C/man2/sched_setscheduler.2:99 +msgid "" +"Various \"real-time\" policies are also supported, for special time-critical " +"applications that need precise control over the way in which runnable " +"threads are selected for execution. For the rules governing when a process " +"may use these policies, see B(7). The real-time policies that may be " +"specified in I are:" +msgstr "どの実行可能スレッドを選択するかについて、より正確な制御を必要とする 時間の制約が厳しい特別なアプリケーション用として、 いろいろな「リアルタイム」ポリシーもサポートされている。 プロセスがこれらのポリシーをいつ使用できるかを決めるルールについては、B(7) を参照。 I には以下のリアルタイムポリシーを指定できる。" #. type: TP -#: build/C/man2/sched_setscheduler.2:93 +#: build/C/man2/sched_setscheduler.2:99 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:96 +#: build/C/man2/sched_setscheduler.2:102 msgid "a first-in, first-out policy; and" msgstr "ファーストイン、ファーストアウト型のポリシー。" #. type: TP -#: build/C/man2/sched_setscheduler.2:96 +#: build/C/man2/sched_setscheduler.2:102 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:99 +#: build/C/man2/sched_setscheduler.2:105 msgid "a round-robin policy." msgstr "ラウンドロビン型のポリシー。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:101 -msgid "The semantics of each of these policies are detailed below." -msgstr "これらのポリシーのそれぞれの動作については以下で説明する。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:108 +#: build/C/man2/sched_setscheduler.2:116 msgid "" -"B() queries the scheduling policy currently applied to " -"the process identified by I. If I equals zero, the policy of the " -"calling process will be retrieved." +"For each of the above policies, Isched_priority> specifies a " +"scheduling priority for the thread. This is a number in the range returned " +"by calling B(2) and B(2) " +"with the specified I. On Linux, these system calls return, " +"respectively, 1 and 99." msgstr "" -"B() は I で識別されるプロセスに現在適用されている " -"スケジューリング・ポリシーを尋ねる。I が 0 ならば、呼び出した プロセス自" -"身のスケジューリング・ポリシーが返される。" - -#. type: SS -#: build/C/man2/sched_setscheduler.2:108 -#, no-wrap -msgid "Scheduling policies" -msgstr "スケジューリング・ポリシー (scheduling policy)" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:117 +#: build/C/man2/sched_setscheduler.2:129 msgid "" -"The scheduler is the kernel component that decides which runnable process " -"will be executed by the CPU next. Each process has an associated scheduling " -"policy and a I scheduling priority, I; these are the " -"settings that are modified by B(). The scheduler makes " -"it decisions based on knowledge of the scheduling policy and static priority " -"of all processes on the system." -msgstr "" -"スケジューラ (scheduler) とはカーネルの構成要素で、 次に CPU で実行される実行" -"可能なプロセスを決定するものである。 各々のプロセスには、スケジューリング・ポ" -"リシーと 「静的」なスケジューリング優先度 I が対応付けられ、 " -"これらの設定は B() で変更できる。 スケジューラは、システ" -"ム上の全プロセスのスケジューリング・ポリシーと 静的優先度に関する知識に基づい" -"て決定を行う。" +"Since Linux 2.6.32, the B flag can be ORed in I " +"when calling B(). As a result of including this flag, " +"children created by B(2) do not inherit privileged scheduling " +"policies. See B(7) for details." +msgstr "Linux 2.6.32 以降では、 B() を呼び出す際に I に B フラグを OR で指定できる。このフラグが指定されると、 B(2) で作成された子プロセスは特権が必要なスケジューリングポリシーを継承しない。 詳細は B(7) を参照。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:122 +#: build/C/man2/sched_setscheduler.2:135 msgid "" -"For processes scheduled under one of the normal scheduling policies " -"(B, B, B), I is not " -"used in scheduling decisions (it must be specified as 0)." -msgstr "" -"通常のスケジューリング・ポリシー (B, B, " -"B) の下でスケジューリングされるプロセスでは、 " -"I はスケジューリングの決定に使用されない (I " -"には 0 を指定しなければならない)。" +"B() returns the current scheduling policy of the thread " +"identified by I. If I equals zero, the policy of the calling " +"thread will be retrieved." +msgstr "B() は I で識別されるスレッドの現在のスケジューリングポリシーを返す。I が 0 ならば、呼び出した スレッド自身のスケジューリングポリシーが返される。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:136 +#: build/C/man2/sched_setscheduler.2:145 msgid "" -"Processes scheduled under one of the real-time policies (B, " -"B) have a I value in the range 1 (low) to 99 " -"(high). (As the numbers imply, real-time processes always have higher " -"priority than normal processes.) Note well: POSIX.1-2001 requires an " -"implementation to support only a minimum 32 distinct priority levels for the " -"real-time policies, and some systems supply just this minimum. Portable " -"programs should use B(2) and " -"B(2) to find the range of priorities supported for " -"a particular policy." -msgstr "" -"リアルタイム・スケジューリング・ポリシー (B, B) の下で" -"スケジューリングされるプロセスは、 I の値は 1 (最低) から 99 " -"(最高) の範囲となる (数字から分かるように、リアルタイム・プロセスは常に通常の" -"プロセスよりも 高い優先度を持つ)。 ここで注意すべきなのは、POSIX.1-2001 が要" -"求しているのは、 リアルタイム・ポリシーの実装において最低 32 種類の異なる優先" -"度レベルが サポートされることだけであり、いくつかのシステムではこの最低限の数" -"の 優先度しか提供されていない、ということである。 移植性が必要なプログラムで" -"は、 B(2) と B(2) を使っ" -"て、あるポリシーがサポートする優先度の範囲を調べるべきである。" +"On success, B() returns zero. On success, " +"B() returns the policy for the thread (a nonnegative " +"integer). On error, both calls return -1, and I is set appropriately." +msgstr "成功した場合、 B() は 0 を返す。 成功した場合、 B() は現在のそのスレッドのポリシー (非負の整数) を返す。 エラーの場合、 どちらのコールも -1 を返し、 I が適切に設定される。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:142 -msgid "" -"Conceptually, the scheduler maintains a list of runnable processes for each " -"possible I value. In order to determine which process runs " -"next, the scheduler looks for the nonempty list with the highest static " -"priority and selects the process at the head of this list." -msgstr "" -"概念としては、 スケジューラはその I の値それぞれに対して 実行" -"可能なプロセスのリストを管理している。 どのプロセスを次に実行するかを決定する" -"ために、 スケジューラは静的優先度の最も高い空でないリストを探して、 そのリス" -"トの先頭のプロセスを選択する。" +#: build/C/man2/sched_setscheduler.2:153 +msgid "Invalid arguments: I is negative or I is NULL." +msgstr "無効な引き数: I が負である、または I が NULL である。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:146 +#: build/C/man2/sched_setscheduler.2:158 msgid "" -"A process's scheduling policy determines where it will be inserted into the " -"list of processes with equal static priority and how it will move inside " -"this list." -msgstr "" -"各プロセスのスケジューリング・ポリシーは、 そのプロセスが同じ静的優先度を持つ" -"プロセスのリストの中のどこに挿入され、 このリストの中をどのように移動するかを" -"決定する。" +"(B()) I is not one of the recognized policies." +msgstr "(B()) I が認識できるポリシーではない。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:154 +#: build/C/man2/sched_setscheduler.2:164 msgid "" -"All scheduling is preemptive: if a process with a higher static priority " -"becomes ready to run, the currently running process will be preempted and " -"returned to the wait list for its static priority level. The scheduling " -"policy determines the ordering only within the list of runnable processes " -"with equal static priority." -msgstr "" -"全てのスケジューリングはプリエンプティブ (preemptive) である: より高い優先度" -"のプロセスが実行可能になると、現在実行中のプロセスは実行権を 取り上げられ " -"(preempted)、そのプロセスの静的優先度レベルの待ちリストに 戻される。スケ" -"ジューリング・ポリシーは同じ静的優先度を持つ実行可能な プロセスのリストの中で" -"順番のみを決定する。" - -#. type: SS -#: build/C/man2/sched_setscheduler.2:154 -#, no-wrap -msgid "SCHED_FIFO: First in-first out scheduling" -msgstr "SCHED_FIFO: ファーストイン・ファーストアウト・スケジューリング" +"(B()) I does not make sense for the specified " +"I." +msgstr "(B()) 引き数 I が指定された I では意味を持たない。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:163 -msgid "" -"B can be used only with static priorities higher than 0, which " -"means that when a B processes becomes runnable, it will always " -"immediately preempt any currently running B, B, or " -"B process. B is a simple scheduling algorithm " -"without time slicing. For processes scheduled under the B " -"policy, the following rules apply:" -msgstr "" -"B は 0 より大きな静的優先度でのみ使用できる。このポリシーでは、 " -"B プロセスが実行可能になった場合、 そのポリシーが " -"B、 B、 B の 現在実行中のプロセスは直ち" -"に実行権を取り上げられる。 B は時分割のない単純なスケジューリン" -"グ・アルゴリズムである。 B ポリシーでスケジューリングされているプ" -"ロセスには以下の ルールが適用される:" - -#. type: IP -#: build/C/man2/sched_setscheduler.2:163 build/C/man2/sched_setscheduler.2:168 -#: build/C/man2/sched_setscheduler.2:171 build/C/man2/sched_setscheduler.2:185 -#: build/C/man2/sched_setscheduler.2:287 build/C/man2/sched_setscheduler.2:295 -#: build/C/man2/sched_setscheduler.2:336 build/C/man2/sched_setscheduler.2:344 -#: build/C/man2/sched_setscheduler.2:349 build/C/man2/sched_setscheduler.2:354 -#, no-wrap -msgid "*" -msgstr "*" +#: build/C/man2/sched_setscheduler.2:167 +msgid "The calling thread does not have appropriate privileges." +msgstr "呼び出したスレッドが適切な特権を持っていない。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:168 +#: build/C/man2/sched_setscheduler.2:173 msgid "" -"A B process that has been preempted by another process of higher " -"priority will stay at the head of the list for its priority and will resume " -"execution as soon as all processes of higher priority are blocked again." +"POSIX.1-2001 (but see BUGS below). The B and B " +"policies are Linux-specific." msgstr "" -"より高い優先度の他のプロセスによって取って代わられた B プロセスは" -"その優先度のリストの先頭に留まり続け、 より高い優先度のプロセス全てが停止 " -"(block) した場合に実行を再開する。" +"POSIX.1-2001 (但し、下記のバグの節も参照)。 B と B " +"ポリシーは Linux 固有である。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:171 +#: build/C/man2/sched_setscheduler.2:177 msgid "" -"When a B process becomes runnable, it will be inserted at the " -"end of the list for its priority." +"Further details of the semantics of all of the above \"normal\" and \"real-" +"time\" scheduling policies can be found in B(7)." msgstr "" -"B プロセスが実行可能になった時、その優先度のリストの最後 に挿入さ" -"れる。" -#. In 2.2.x and 2.4.x, the process is placed at the front of the queue -#. In 2.0.x, the Right Thing happened: the process went to the back -- MTK #. type: Plain text #: build/C/man2/sched_setscheduler.2:185 msgid "" -"A call to B() or B(2) will put the " -"B (or B) process identified by I at the start of " -"the list if it was runnable. As a consequence, it may preempt the currently " -"running process if it has the same priority. (POSIX.1-2001 specifies that " -"the process should go to the end of the list.)" +"POSIX systems on which B() and B() " +"are available define B<_POSIX_PRIORITY_SCHEDULING> in Iunistd.hE>." msgstr "" -"B() や B(2) は I で指定された " -"B (または B) プロセスが 実行可能な場合、リストの最初に" -"置く。 結果として、もし優先度が同じだった場合、 現在実行中のプロセスに先んじ" -"るかもしれない。 (POSIX.1-2001 ではプロセスはリストの最後に行くべきと規定され" -"ている。)" +"POSIX システムでは Iunistd.hE> に B<_POSIX_PRIORITY_SCHEDULING> が" +"定義されている場合にのみ B() と " +"B() が使用できる。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:189 +#: build/C/man2/sched_setscheduler.2:193 msgid "" -"A process calling B(2) will be put at the end of the list." -msgstr "B(2) を呼び出したプロセスはリストの最後に置かれる。" +"POSIX.1 does not detail the permissions that an unprivileged thread requires " +"in order to call B(), and details vary across systems. " +"For example, the Solaris 7 manual page says that the real or effective user " +"ID of the caller must match the real user ID or the save set-user-ID of the " +"target." +msgstr "" +"POSIX.1 は、非特権スレッドが B() を呼び出すために必要な" +"権限の詳細を規定しておらず、 詳細はシステムにより異なる。 例えば、Solaris 7 " +"のマニュアルページでは、 呼び出し元の実ユーザ ID または実効ユーザ ID が 設定" +"対象の実ユーザ ID か保存 (save) set-user-ID と 一致していなければならない、と" +"なっている。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:193 +#: build/C/man2/sched_setscheduler.2:214 msgid "" -"No other events will move a process scheduled under the B policy " -"in the wait list of runnable processes with equal static priority." +"The scheduling policy and parameters are in fact per-thread attributes on " +"Linux. The value returned from a call to B(2) can be passed in the " +"argument I. Specifying I as 0 will operate on the attributes of " +"the calling thread, and passing the value returned from a call to " +"B(2) will operate on the attributes of the main thread of the " +"thread group. (If you are using the POSIX threads API, then use " +"B(3), B(3), and " +"B(3), instead of the B(2) system calls.)" msgstr "" -"その他のイベントによって B ポリシーで スケジューリングされるプロ" -"セスが同じ優先度の実行可能な プロセスの待ちリストの中を移動することはない。" +"Linux では、 スケジューリングポリシーとスケジューリングパラメータは、 実際に" +"はスレッド単位の属性である。 B(2) の呼び出しの返り値をこのシステム" +"コールの I 引き数として渡すことができる。 I に 0 を指定すると、 呼" +"び出し元のスレッドの属性が設定される。 B(2) コールからの返り値を " +"I に指定すると、 スレッドグループのメインスレッドの属性が設定される " +"(POSIX スレッド API を使用している場合は、 B(2) システムコールの代わ" +"りに B(3), B(3), and " +"B(3) を使用すること)。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:198 +#: build/C/man2/sched_setscheduler.2:222 msgid "" -"A B process runs until either it is blocked by an I/O request, " -"it is preempted by a higher priority process, or it calls B(2)." +"POSIX says that on success, B() should return the " +"previous scheduling policy. Linux B() does not conform " +"to this requirement, since it always returns 0 on success." msgstr "" -"B プロセスは I/O 要求によって停止するか、 より高い優先度のプロセ" -"スによって置きかえられるか、 B(2) を呼び出すまで実行を続ける。" - -#. type: SS -#: build/C/man2/sched_setscheduler.2:198 -#, no-wrap -msgid "SCHED_RR: Round-robin scheduling" -msgstr "SCHED_RR: ラウンドロビン (round-robin)・スケジューリング" - -#. On Linux 2.4, the length of the RR interval is influenced -#. by the process nice value -- MTK -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:217 -msgid "" -"B is a simple enhancement of B. Everything described " -"above for B also applies to B, except that each " -"process is allowed to run only for a maximum time quantum. If a B " -"process has been running for a time period equal to or longer than the time " -"quantum, it will be put at the end of the list for its priority. A " -"B process that has been preempted by a higher priority process and " -"subsequently resumes execution as a running process will complete the " -"unexpired portion of its round-robin time quantum. The length of the time " -"quantum can be retrieved using B(2)." -msgstr "" -"B は B の単純な拡張である。 上述された\n" -"B に関する記述は全て B に 適用できる。異なるのは\n" -"それぞれのプロセスは最大時間単位までしか実行できない ということである。\n" -"B プロセスが時間単位と同じかそれより 長い時間実行されると、\n" -"その優先度のリストの最後に置かれる。 より高い優先度のプロセスによって\n" -"置きかえられ、その後実行を再開した B プロセスは、そのラウンド\n" -"ロビン時間単位を完全に使い切る まで実行される。その時間単位の長さは\n" -"B(2) を使って取得できる。" - -#. type: SS -#: build/C/man2/sched_setscheduler.2:217 -#, no-wrap -msgid "SCHED_OTHER: Default Linux time-sharing scheduling" -msgstr "SCHED_OTHER: Linux のデフォルトの時分割スケジューリング" +"POSIX では、成功時に B() は直前のスケジューリングポリ" +"シーを返すべきとされている。 Linux の B() はこの要求仕様" +"に準拠しておらず、 成功時には常に 0 を返す。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:233 +#: build/C/man2/sched_setscheduler.2:240 msgid "" -"B can be used at only static priority 0. B is the " -"standard Linux time-sharing scheduler that is intended for all processes " -"that do not require the special real-time mechanisms. The process to run is " -"chosen from the static priority 0 list based on a I priority that " -"is determined only inside this list. The dynamic priority is based on the " -"nice value (set by B(2) or B(2)) and increased for each " -"time quantum the process is ready to run, but denied to run by the " -"scheduler. This ensures fair progress among all B processes." -msgstr "" -"B は静的優先度 0 でのみ使用できる。 B は Linux 標準" -"の時分割スケジューラで、 特別なリアルタイム機構を必要としていない全てのプロセ" -"スで使用される。 実行するプロセスは、静的優先度 0 のリストから、このリストの" -"中だけで 決定される「動的な」優先度 (dynamic priority) に基いて決定される。 " -"動的な優先度は (B(2) や B(2) により設定される) nice 値に" -"基づいて決定されるもので、 単位時間毎に、プロセスが実行可能だが、スケジューラ" -"により実行が拒否された 場合にインクリメントされる。 これにより、全ての " -"B プロセスでの公平性が保証される。" +"B(2), B(2), B(2), " +"B(2), B(2), B(2), " +"B(2), B(2), B(2), " +"B(2), B(2), B(2), " +"B(7), B(7), B(7)" +msgstr "B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(2), B(7), B(7), B(7)" -#. type: SS -#: build/C/man2/sched_setscheduler.2:233 +#. type: TH +#: build/C/man2/sched_yield.2:29 #, no-wrap -msgid "SCHED_BATCH: Scheduling batch processes" -msgstr "SCHED_BATCH: バッチプロセスのスケジューリング" +msgid "SCHED_YIELD" +msgstr "SCHED_YIELD" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:245 -msgid "" -"(Since Linux 2.6.16.) B can be used only at static priority " -"0. This policy is similar to B in that it schedules the " -"process according to its dynamic priority (based on the nice value). The " -"difference is that this policy will cause the scheduler to always assume " -"that the process is CPU-intensive. Consequently, the scheduler will apply a " -"small scheduling penalty with respect to wakeup behaviour, so that this " -"process is mildly disfavored in scheduling decisions." -msgstr "" -"(Linux 2.6.16 以降) B は静的優先度 0 でのみ使用できる。 このポ" -"リシーは (nice 値に基づく) 動的な優先度にしたがってプロセスの スケジューリン" -"グが行われるという点で、B に似ている。 異なるのは、このポリシー" -"では、プロセスが常に CPU に負荷のかかる (CPU-intensive) 処理を行うと、スケ" -"ジューラが仮定する点である。 スケジューラはプロセスを呼び起こす毎にそのプロセ" -"スにスケジューリング上の ペナルティを少し課し、その結果、このプロセスはスケ" -"ジューリングの決定で 若干冷遇されるようになる。" +#: build/C/man2/sched_yield.2:32 +msgid "sched_yield - yield the processor" +msgstr "sched_yield - プロセッサーを空け渡す(yield)" -#. The following paragraph is drawn largely from the text that -#. accompanied Ingo Molnar's patch for the implementation of -#. SCHED_BATCH. #. type: Plain text -#: build/C/man2/sched_setscheduler.2:254 -msgid "" -"This policy is useful for workloads that are noninteractive, but do not want " -"to lower their nice value, and for workloads that want a deterministic " -"scheduling policy without interactivity causing extra preemptions (between " -"the workload's tasks)." -msgstr "" -"このポリシーは、非対話的な処理だがその nice 値を下げたくない処理や、 (処理の" -"タスク間で) 余計なタスクの置き換えの原因とある対話的な処理なしで 確定的な " -"(deterministic) スケジューリング・ポリシーを適用したい処理に 対して有効であ" -"る。" - -#. type: SS -#: build/C/man2/sched_setscheduler.2:254 -#, no-wrap -msgid "SCHED_IDLE: Scheduling very low priority jobs" -msgstr "SCHED_IDLE: 非常に優先度の低いジョブのスケジューリング" +#: build/C/man2/sched_yield.2:36 +msgid "B" +msgstr "B" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:258 +#: build/C/man2/sched_yield.2:41 msgid "" -"(Since Linux 2.6.23.) B can be used only at static priority 0; " -"the process nice value has no influence for this policy." +"B() causes the calling thread to relinquish the CPU. The " +"thread is moved to the end of the queue for its static priority and a new " +"thread gets to run." msgstr "" -"(Linux 2.6.23 以降) B は静的優先度 0 でのみ使用できる。 このポリ" -"シーではプロセスの nice 値はスケジューリングに影響を与えない。" +"B() を呼び出すことで、呼び出したスレッドが CPU の使用権を手放す" +"ことができる。 そのスレッドは、そのスレッドの静的プライオリティのキューの末尾" +"に 移動し、新しいスレッドが走り始める。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:266 +#: build/C/man2/sched_yield.2:48 msgid "" -"This policy is intended for running jobs at extremely low priority (lower " -"even than a +19 nice value with the B or B " -"policies)." +"On success, B() returns 0. On error, -1 is returned, and " +"I is set appropriately." msgstr "" -"非常に低い優先度でのジョブの実行を目的としたものである (非常に低い優先度と" -"は、ポリシー B か B での nice 値 +19 よりさらに低い" -"優先度である)。" - -#. type: SS -#: build/C/man2/sched_setscheduler.2:266 -#, no-wrap -msgid "Resetting scheduling policy for child processes" -msgstr "子プロセスでのスケジューリング・ポリシーのリセット" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:282 -msgid "" -"Since Linux 2.6.32, the B flag can be ORed in I " -"when calling B(). As a result of including this flag, " -"children created by B(2) do not inherit privileged scheduling " -"policies. This feature is intended for media-playback applications, and can " -"be used to prevent applications evading the B resource limit " -"(see B(2)) by creating multiple child processes." -msgstr "" -"Linux 2.6.32 以降では、 B() を呼び出す際に I に " -"B フラグを OR で指定できる。このフラグが指定されると、 " -"B(2) で作成された子プロセスは特権が必要なスケジューリング・ポリシーを継" -"承しない。この機能はメディア再生を行うアプリケーションを想定して作られ、この" -"機能を使うことで、アプリケーションが複数の子プロセスを作成することで " -"B リソース上限 (B(2) 参照) を回避するのを防ぐことが" -"できる。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:287 -msgid "" -"More precisely, if the B flag is specified, the " -"following rules apply for subsequently created children:" -msgstr "" -"より正確には、 B フラグが指定された場合、それ以降に作成" -"される子プロセスに以下のルールが適用される。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:295 -msgid "" -"If the calling process has a scheduling policy of B or " -"B, the policy is reset to B in child processes." -msgstr "" -"呼び出したプロセスのスケジューリング・ポリシーが B か " -"B の場合、子プロセスのポリシーは B にリセットされる。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:298 -msgid "" -"If the calling process has a negative nice value, the nice value is reset to " -"zero in child processes." -msgstr "" -"子プロセスが負の nice 値を持っている場合、子プロセスの nice 値は 0 にリセット" -"される。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:307 -msgid "" -"After the B flag has been enabled, it can be reset only " -"if the process has the B capability. This flag is disabled in " -"child processes created by B(2)." -msgstr "" -"一度 B フラグが有効にされた後は、このフラグをリセットで" -"きるのは、プロセスが B ケーパビリティを持つ場合だけである。この" -"フラグは B(2) で作成された子プロセスでは無効になる。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:313 -msgid "" -"The B flag is visible in the policy value returned by " -"B()" -msgstr "" -"B フラグは、 B() が返すポリシー値で" -"参照できる。" - -#. type: SS -#: build/C/man2/sched_setscheduler.2:313 -#, no-wrap -msgid "Privileges and resource limits" -msgstr "特権とリソース制限" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:326 -msgid "" -"In Linux kernels before 2.6.12, only privileged (B) processes " -"can set a nonzero static priority (i.e., set a real-time scheduling " -"policy). The only change that an unprivileged process can make is to set " -"the B policy, and this can be done only if the effective user " -"ID of the caller of B() matches the real or effective " -"user ID of the target process (i.e., the process specified by I) whose " -"policy is being changed." -msgstr "" -"2.6.12 より前のバージョンの Linux カーネルでは、 特権プロセス " -"(B ケーパビリティを持つプロセス) だけが 0 以外の静的優先度を設" -"定する (すなわち、リアルタイム・スケジューリング・ポリシーを設定する) ことが" -"できる。 非特権プロセスができる変更は B ポリシーを設定することだ" -"けであり、さらにこの変更を行えるのは B() の呼び出し元の" -"実効ユーザ ID がポリシーの変更対象プロセス (I で指定されたプロセス) の実" -"ユーザ ID か実効ユーザ ID と 一致する場合だけである。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:336 -msgid "" -"Since Linux 2.6.12, the B resource limit defines a ceiling on " -"an unprivileged process's static priority for the B and " -"B policies. The rules for changing scheduling policy and " -"priority are as follows:" -msgstr "" -"Linux 2.6.12 以降では、リソース制限 B が定義されており、 スケ" -"ジューリング・ポリシーが B と B の場合の、非特権プロセ" -"スの静的優先度の上限を定めている。 スケジューリング・ポリシーと優先度を変更す" -"る際のルールは以下の通りである。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:344 -msgid "" -"If an unprivileged process has a nonzero B soft limit, then " -"it can change its scheduling policy and priority, subject to the restriction " -"that the priority cannot be set to a value higher than the maximum of its " -"current priority and its B soft limit." -msgstr "" -"非特権プロセスに 0 以外の B ソフト・リミットが設定されている場" -"合、 非特権プロセスはそのプロセスのスケジューリング・ポリシーと優先度を 変更" -"できるが、優先度を現在の自身の優先度と B ソフト・リミットの大" -"きい方よりも高い値に設定できないという制限が課される。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:349 -msgid "" -"If the B soft limit is 0, then the only permitted changes are " -"to lower the priority, or to switch to a non-real-time policy." -msgstr "" -"B ソフト・リミットが 0 の場合、優先度を下げるか、 リアルタイム" -"でないポリシーへ切り替えるかの変更だけが許可される。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:354 -msgid "" -"Subject to the same rules, another unprivileged process can also make these " -"changes, as long as the effective user ID of the process making the change " -"matches the real or effective user ID of the target process." -msgstr "" -"ある非特権プロセスが別のプロセスに対してこれらの変更を行う際にも、 同じルール" -"が適用される。変更を行えるのは、変更を行おうとするプロセス の実効ユーザ ID が" -"変更対象のプロセスの実ユーザ ID か実効ユーザ ID と 一致している場合に限られ" -"る。" - -#. commit c02aa73b1d18e43cfd79c2f193b225e84ca497c8 -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:372 -msgid "" -"Special rules apply for the B. In Linux kernels before 2.6.39, " -"an unprivileged process operating under this policy cannot change its " -"policy, regardless of the value of its B resource limit. In " -"Linux kernels since 2.6.39, an unprivileged process can switch to either the " -"B or the B policy so long as its nice value falls " -"within the range permitted by its B resource limit (see " -"B(2))." -msgstr "" -"B の場合には特別なルールが適用される。 2.6.39 より前の Linux カー" -"ネルでは、このポリシーで動作する非特権プロセスは、 B リソース" -"上限の値に関わらず、自分のポリシーを変更することができない。 2.6.39 以降の " -"Linux カーネルでは、非特権プロセスは、自分の nice 値が B リソー" -"ス上限 (B(2) 参照) で許可された範囲である限りは、自分のスケジュー" -"リング・ポリシーを B か B ポリシーに切り替えること" -"ができる。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:383 -msgid "" -"Privileged (B) processes ignore the B limit; " -"as with older kernels, they can make arbitrary changes to scheduling policy " -"and priority. See B(2) for further information on " -"B." -msgstr "" -"特権プロセス (B ケーパビリティを持つプロセス) の場合、 " -"B の制限は無視される; 古いカーネルと同じように、スケジューリン" -"グ・ポリシーと優先度に対し 任意の変更を行うことができる。 B に" -"関するもっと詳しい情報は B(2) を参照のこと。" - -#. type: SS -#: build/C/man2/sched_setscheduler.2:383 -#, no-wrap -msgid "Response time" -msgstr "応答時間 (response time)" - -#. as described in -#. .BR request_irq (9). -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:391 -msgid "" -"A blocked high priority process waiting for the I/O has a certain response " -"time before it is scheduled again. The device driver writer can greatly " -"reduce this response time by using a \"slow interrupt\" interrupt handler." -msgstr "" -"I/O 待ちで停止したより高い優先度のプロセスは再びスケジューリングされる 前にい" -"くらかの応答時間がかかる。デバイス・ドライバーを書く場合には \"slow interrupt" -"\" 割り込みハンドラーを使用することで この応答時間を劇的に減少させることがで" -"きる。" - -#. type: SS -#: build/C/man2/sched_setscheduler.2:391 -#, no-wrap -msgid "Miscellaneous" -msgstr "その他" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:396 -msgid "" -"Child processes inherit the scheduling policy and parameters across a B" -"(2). The scheduling policy and parameters are preserved across B(2)." -msgstr "" -"子プロセスは B(2) の際に親プロセスのスケジューリング・ポリシーとパラ" -"メータを継承する。 B(2) の前後で、スケジューリング・ポリシーとパラ" -"メータは保持される。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:402 -msgid "" -"Memory locking is usually needed for real-time processes to avoid paging " -"delays; this can be done with B(2) or B(2)." -msgstr "" -"リアルタイム・プロセスは大抵、ページングの待ち時間を避けるために B" -"(2) や B(2) を使ってメモリ・ロックをしなければならない。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:414 -msgid "" -"Since a nonblocking infinite loop in a process scheduled under B " -"or B will block all processes with lower priority forever, a " -"software developer should always keep available on the console a shell " -"scheduled under a higher static priority than the tested application. This " -"will allow an emergency kill of tested real-time applications that do not " -"block or terminate as expected. See also the description of the " -"B resource limit in B(2)." -msgstr "" -"B や B でスケジューリングされる プロセスが停止せずに無" -"限ループに陥ると、 他の全てのより低い優先度のプロセスを永久に停止 (block) さ" -"せてしまうので、 ソフトウェア開発者はコンソールのシェルの静的優先度をテストす" -"る アプリケーションよりも常に高く保つべきである。 これによって期待通りに停止" -"したり終了したりしないリアルタイム・ アプリケーションを緊急終了させることが可" -"能になる。 B(2) のリソース制限 B の説明も参照のこ" -"と。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:422 -msgid "" -"POSIX systems on which B() and B() " -"are available define B<_POSIX_PRIORITY_SCHEDULING> in Iunistd.hE>." -msgstr "" -"POSIX システムでは Iunistd.hE> に B<_POSIX_PRIORITY_SCHEDULING> が" -"定義されている場合にのみ B() と B" -"() が使用できる。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:432 -msgid "" -"On success, B() returns zero. On success, " -"B() returns the policy for the process (a nonnegative " -"integer). On error, -1 is returned, and I is set appropriately." -msgstr "" -"成功した場合、 B() は 0 を返す。 成功した場合、 " -"B() は現在のそのプロセスのポリシー (非負の整数) を返" -"す。 エラーの場合、-1 が返され、 I が適切に設定される。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:438 -msgid "" -"The scheduling I is not one of the recognized policies, I is " -"NULL, or I does not make sense for the I." -msgstr "" -"スケジューリング・ポリシー I が間違っている。\n" -"または I が NULL である。\n" -"または I がそのポリシーでは意味をなさない。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:441 -msgid "The calling process does not have appropriate privileges." -msgstr "呼び出したプロセスが適切な特権を持っていない。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:447 -msgid "" -"POSIX.1-2001 (but see BUGS below). The B and B " -"policies are Linux-specific." -msgstr "" -"POSIX.1-2001 (但し、下記のバグの節も参照)。 B と B " -"ポリシーは Linux 固有である。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:455 -msgid "" -"POSIX.1 does not detail the permissions that an unprivileged process " -"requires in order to call B(), and details vary across " -"systems. For example, the Solaris 7 manual page says that the real or " -"effective user ID of the calling process must match the real user ID or the " -"save set-user-ID of the target process." -msgstr "" -"POSIX.1 は、非特権プロセスが B() を呼び出すために必要な" -"権限の詳細を規定しておらず、 詳細はシステムにより異なる。 例えば、Solaris 7 " -"のマニュアルページでは、 呼び出し元プロセスの実ユーザ ID または実効ユーザ ID " -"が 設定対象のプロセスの実ユーザ ID か保存 (save) set-user-ID と 一致していな" -"ければならない、となっている。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:476 -msgid "" -"The scheduling policy and parameters are in fact per-thread attributes on " -"Linux. The value returned from a call to B(2) can be passed in the " -"argument I. Specifying I as 0 will operate on the attribute for " -"the calling thread, and passing the value returned from a call to B" -"(2) will operate on the attribute for the main thread of the thread group. " -"(If you are using the POSIX threads API, then use B" -"(3), B(3), and B(3), instead of " -"the B(2) system calls.)" -msgstr "" -"Linux では、 スケジューリングポリシーとスケジューリングパラメータは、 実際に" -"はスレッド単位の属性である。 B(2) の呼び出しの返り値をこのシステム" -"コールの I 引き数として渡すことができる。 I に 0 を指定すると、 呼" -"び出し元のスレッドの属性が設定される。 B(2) コールからの返り値を " -"I に指定すると、 スレッドグループのメインスレッドの属性が設定される " -"(POSIX スレッド API を使用している場合は、 B(2) システムコールの代わ" -"りに B(3), B(3), and " -"B(3) を使用すること)。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:486 -msgid "" -"Originally, Standard Linux was intended as a general-purpose operating " -"system being able to handle background processes, interactive applications, " -"and less demanding real-time applications (applications that need to usually " -"meet timing deadlines). Although the Linux kernel 2.6 allowed for kernel " -"preemption and the newly introduced O(1) scheduler ensures that the time " -"needed to schedule is fixed and deterministic irrespective of the number of " -"active tasks, true real-time computing was not possible up to kernel version " -"2.6.17." -msgstr "" -"もともとは、標準の Linux は一般目的のオペレーティングシステムとして 設計され" -"ており、バックグラウンド・プロセスや対話的アプリケーション、 リアルタイム性の" -"要求が厳しくないリアルタイム・アプリケーション (普通はタイミングの応答期限 " -"(deadline) を満たす必要があるアプリケーション) を扱うことができた。 Linux " -"カーネル 2.6 では、 カーネルのプリエンプション (タスクの置き換え) が可能であ" -"り、 新たに導入された O(1) スケジューラにより、 アクティブなタスクの数に関わ" -"らずスケジューリングに必要な時間は 固定で確定的 (deterministic) であることが" -"保証されている。 それにも関わらず、カーネル 2.6.17 までは 真のリアルタイム・" -"コンピューティングは実現できなかった。" - -#. type: SS -#: build/C/man2/sched_setscheduler.2:486 -#, no-wrap -msgid "Real-time features in the mainline Linux kernel" -msgstr "本流の Linux カーネルでのリアルタイム機能" - -#. FIXME . Probably this text will need some minor tweaking -#. by about the time of 2.6.30; ask Carsten Emde about this then. -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:500 -msgid "" -"From kernel version 2.6.18 onward, however, Linux is gradually becoming " -"equipped with real-time capabilities, most of which are derived from the " -"former I patches developed by Ingo Molnar, Thomas " -"Gleixner, Steven Rostedt, and others. Until the patches have been " -"completely merged into the mainline kernel (this is expected to be around " -"kernel version 2.6.30), they must be installed to achieve the best real-time " -"performance. These patches are named:" -msgstr "" -"カーネル 2.6.18 から現在まで、 Linux は徐々にリアルタイム機能を備えつつ\n" -"あるが、 これらの機能のほとんどは、 Ingo Molnar, Thomas Gleixner,\n" -"Steven Rostedt らによって開発された、 以前の I パッチ\n" -"からのものである。 これらのパッチが本流のカーネルに完全にマージされるま\n" -"では (マージの完了はカーネル 2.6.30 あたりの予定)、 最高のリアルタイム\n" -"性能を達成するには realtime-preempt パッチを 組み込まなければならない。\n" -"これらのパッチは" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:504 -#, no-wrap -msgid "patch-I-rtI\n" -msgstr "patch-I-rtI\n" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:510 -msgid "" -"and can be downloaded from E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/" -"kernel\\:/projects\\:/rt/> E<.UE .>" -msgstr "" -"という名前で、 E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/kernel\\:/" -"projects\\:/rt/> E<.UE> からダウンロードできる。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:519 -msgid "" -"Without the patches and prior to their full inclusion into the mainline " -"kernel, the kernel configuration offers only the three preemption classes " -"B, B, and " -"B which respectively provide no, some, and " -"considerable reduction of the worst-case scheduling latency." -msgstr "" -"このパッチが適用されず、かつパッチの内容の本流のカーネルへのマージが 完了する" -"までは、カーネルの設定では B, " -"B, B の 3つのプリエンプショ" -"ン・クラス (preemption class) だけが提供される。 これらのクラスでは、最悪の場" -"合のスケジューリング遅延がそれぞれ 全く減らない、いくらか減る、かなり減る。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:530 -msgid "" -"With the patches applied or after their full inclusion into the mainline " -"kernel, the additional configuration item B becomes " -"available. If this is selected, Linux is transformed into a regular real-" -"time operating system. The FIFO and RR scheduling policies that can be " -"selected using B() are then used to run a process with " -"true real-time priority and a minimum worst-case scheduling latency." -msgstr "" -"パッチが適用された場合、またはパッチの内容の本流のカーネルへのマージが 完了し" -"た後では、上記に加えて設定項目として B が利用可能になる。" -"この項目を選択すると、 Linux は通常のリアルタイム・オペレーティングシステムに" -"変身する。 この場合には、 B() で選択できる FIFO と RR の" -"スケジューリング・ポリシーは、 真のリアルタイム優先度を持つプロセスを最悪の場" -"合のスケジューリング遅延が 最小となる環境で動作させるために使われることにな" -"る。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:538 -msgid "" -"POSIX says that on success, B() should return the " -"previous scheduling policy. Linux B() does not conform " -"to this requirement, since it always returns 0 on success." -msgstr "" -"POSIX では、成功時に B() は直前のスケジューリング・ポリ" -"シーを返すべきとされている。 Linux の B() はこの要求仕様" -"に準拠しておらず、 成功時には常に 0 を返す。" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:559 -msgid "" -"B(1), B(2), B(2), B(2), B(2), " -"B(2), B(2), B(2), " -"B(2), B(2), B(2), " -"B(2), B(2), B(2), " -"B(2), B(2), B(7), B(7)" -msgstr "" -"B(1), B(2), B(2), B(2), B(2), " -"B(2), B(2), B(2), " -"B(2), B(2), B(2), " -"B(2), B(2), B(2), " -"B(2), B(2), B(7), B(7)" - -#. type: Plain text -#: build/C/man2/sched_setscheduler.2:566 -msgid "" -"The Linux kernel source file I" -msgstr "" -"Linux カーネルソースファイル I" - -#. type: TH -#: build/C/man2/sched_yield.2:29 -#, no-wrap -msgid "SCHED_YIELD" -msgstr "SCHED_YIELD" - -#. type: TH -#: build/C/man2/sched_yield.2:29 -#, no-wrap -msgid "2008-10-18" -msgstr "2008-10-18" - -#. type: Plain text -#: build/C/man2/sched_yield.2:32 -msgid "sched_yield - yield the processor" -msgstr "sched_yield - プロセッサーを空け渡す(yield)" - -#. type: Plain text -#: build/C/man2/sched_yield.2:36 -msgid "B" -msgstr "B" - -#. type: Plain text -#: build/C/man2/sched_yield.2:41 -msgid "" -"B() causes the calling thread to relinquish the CPU. The " -"thread is moved to the end of the queue for its static priority and a new " -"thread gets to run." -msgstr "" -"B() を呼び出すことで、呼び出したスレッドが CPU の使用権を手放す" -"ことができる。 そのスレッドは、そのスレッドの静的プライオリティのキューの末尾" -"に 移動し、新しいスレッドが走り始める。" - -#. type: Plain text -#: build/C/man2/sched_yield.2:48 -msgid "" -"On success, B() returns 0. On error, -1 is returned, and " -"I is set appropriately." -msgstr "" -"成功した場合は B() は 0 を返す。 エラーの場合は -1 が返され、 " -"I が適切に設定される。" +"成功した場合は B() は 0 を返す。 エラーの場合は -1 が返され、 " +"I が適切に設定される。" #. type: Plain text #: build/C/man2/sched_yield.2:52 @@ -4770,11 +4245,11 @@ msgstr "" msgid "" "Strategic calls to B() can improve performance by giving other " "threads or processes a chance to run when (heavily) contended resources (e." -"g., mutexes) have been released by the caller. Avoid calling B" -"() unnecessarily or inappropriately (e.g., when resources needed by other " -"schedulable threads are still held by the caller), since doing so will " -"result in unnecessary context switches, which will degrade system " -"performance." +"g., mutexes) have been released by the caller. Avoid calling " +"B() unnecessarily or inappropriately (e.g., when resources " +"needed by other schedulable threads are still held by the caller), since " +"doing so will result in unnecessary context switches, which will degrade " +"system performance." msgstr "" "B() を戦略的に呼び出すことで、(極度に) 競合するリソース (mutex " "など) を呼び出し元が解放した際に他のスレッドやプロセスに実行機会を与えること" @@ -4784,13 +4259,6 @@ msgstr "" "なぜなら、 B() の呼び出しより不必要なコンテキストスイッチが起こ" "り、システム性能が 劣化する結果になるからである。" -#. type: Plain text -#: build/C/man2/sched_yield.2:82 -msgid "B(2) for a description of Linux scheduling" -msgstr "" -"Linux のスケージュリング (scheduling) については B(2) を" -"参照。" - #. type: TH #: build/C/man2/setns.2:8 #, no-wrap @@ -5063,12 +4531,6 @@ msgstr "" "# B # ns_exec で起動されたシェル内で実行\n" "bizarro\n" -#. type: SS -#: build/C/man2/setns.2:166 -#, no-wrap -msgid "Program source" -msgstr "プログラムのソース" - #. type: Plain text #: build/C/man2/setns.2:174 #, no-wrap @@ -5160,6 +4622,12 @@ msgstr "B(2), B(2), B(2), B(5), B(7)" msgid "UNSHARE" msgstr "UNSHARE" +#. type: TH +#: build/C/man2/unshare.2:20 +#, no-wrap +msgid "2013-04-17" +msgstr "2013-04-17" + #. type: Plain text #: build/C/man2/unshare.2:23 msgid "unshare - disassociate parts of the process execution context" @@ -5238,10 +4706,10 @@ msgstr "B" #. type: Plain text #: build/C/man2/unshare.2:96 msgid "" -"Reverse the effect of the B(2) B flag. Unshare file " -"system attributes, so that the calling process no longer shares its root " -"directory (B(2)), current directory (B(2)), or umask (B" -"(2)) attributes with any other process." +"Reverse the effect of the B(2) B flag. Unshare filesystem " +"attributes, so that the calling process no longer shares its root directory " +"(B(2)), current directory (B(2)), or umask (B(2)) " +"attributes with any other process." msgstr "" "B(2) B フラグの効果を取り消す。ファイルシステム属性を共有さ" "せず、呼び出し元プロセスは、ルートディレクトリ (B(2))、カレントディレ" @@ -5251,14 +4719,14 @@ msgstr "" #: build/C/man2/unshare.2:113 msgid "" "This flag has the same effect as the B(2) B flag. " -"Unshare the System V IPC namespace, so that the calling process has a " -"private copy of the System V IPC namespace which is not shared with any " +"Unshare the System\\ V IPC namespace, so that the calling process has a " +"private copy of the System\\ V IPC namespace which is not shared with any " "other process. Specifying this flag automatically implies B " "as well. Use of B requires the B capability." msgstr "" "このフラグは B(2) B フラグと同じ効果を持つ。\n" -"System V IPC 名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは\n" -"共有しない固有の System V IPC 名前空間のコピーを持つ。 このフラグを指定\n" +"System\\ V IPC 名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは\n" +"共有しない固有の System\\ V IPC 名前空間のコピーを持つ。 このフラグを指定\n" "すると、 B も暗黙のうちに指定される。 B を\n" "使用するには B ケーパビリティが必要である。" @@ -5346,12 +4814,12 @@ msgstr "B (Linux 2.6.26 以降)" #: build/C/man2/unshare.2:200 msgid "" "This flag reverses the effect of the B(2) B flag. " -"Unshare System V semaphore undo values, so that the calling process has a " +"Unshare System\\ V semaphore undo values, so that the calling process has a " "private copy which is not shared with any other process. Use of " "B requires the B capability." msgstr "" "このフラグは B(2) B フラグの効果を逆転させる。\n" -"System V セマフォのアンドゥ値を共有せず、呼び出し元プロセスは 他のプロ\n" +"System\\ V セマフォのアンドゥ値を共有せず、呼び出し元プロセスは 他のプロ\n" "セスとは共有しない固有のコピーを持つ。B を使用するには\n" "B ケーパビリティが必要である。" @@ -5446,11 +4914,595 @@ msgstr "B(2), B(2), B(2), B(2), B(2)" msgid "I in the Linux kernel source tree" msgstr "Linux カーネルソース内の I" +#~ msgid "2013-09-23" +#~ msgstr "2013-09-23" + +#~ msgid "" +#~ "I by Bill O. Gallmeister, " +#~ "O'Reilly & Associates, Inc., ISBN 1-56592-074-0." +#~ msgstr "" +#~ "I by Bill O. Gallmeister, " +#~ "O'Reilly & Associates, Inc., ISBN 1-56592-074-0." + +#~ msgid "B(2)" +#~ msgstr "B(2)" + +#~ msgid "2013-03-18" +#~ msgstr "2013-03-18" + +#~ msgid "2013-09-17" +#~ msgstr "2013-09-17" + +#~ msgid "" +#~ "B() sets both the scheduling policy and the " +#~ "associated parameters for the thread whose ID is specified in I. If " +#~ "I equals zero, the scheduling policy and parameters of the calling " +#~ "thread will be set. The interpretation of the argument I depends " +#~ "on the selected policy. Currently, Linux supports the following \"normal" +#~ "\" (i.e., non-real-time) scheduling policies:" +#~ msgstr "" +#~ "B() は I で指定された ID を持つスレッドのスケ" +#~ "ジューリングポリシーや それに関連するパラメータを設定する。I が 0 " +#~ "の場合は 呼び出したスレッドのスケジューリングポリシーとパラメータが設定" +#~ "される。 引き数 I の解釈は選択されたポリシーによる。 現在のところ、" +#~ "Linux では 以下に示す「通常」(リアルタイムでない) スケジューリングポリ" +#~ "シーが サポートされている。" + +#~ msgid "The semantics of each of these policies are detailed below." +#~ msgstr "これらのポリシーのそれぞれの動作については以下で説明する。" + +#~ msgid "Scheduling policies" +#~ msgstr "スケジューリングポリシー (scheduling policy)" + +#~ msgid "" +#~ "The scheduler is the kernel component that decides which runnable thread " +#~ "will be executed by the CPU next. Each thread has an associated " +#~ "scheduling policy and a I scheduling priority, I; " +#~ "these are the settings that are modified by B(). The " +#~ "scheduler makes it decisions based on knowledge of the scheduling policy " +#~ "and static priority of all threads on the system." +#~ msgstr "" +#~ "スケジューラ (scheduler) とはカーネルの構成要素で、 次に CPU で実行される" +#~ "実行可能なスレッドを決定するものである。 各々のスレッドには、スケジューリ" +#~ "ングポリシーと 「静的」なスケジューリング優先度 I が対応" +#~ "付けられ、 これらの設定は B() で変更できる。 スケ" +#~ "ジューラは、システム上の全スレッドのスケジューリングポリシーと 静的優先" +#~ "度に関する知識に基づいて決定を行う。" + +#~ msgid "" +#~ "For threads scheduled under one of the normal scheduling policies " +#~ "(B, B, B), I is not " +#~ "used in scheduling decisions (it must be specified as 0)." +#~ msgstr "" +#~ "通常のスケジューリングポリシー (B, B, " +#~ "B) の下でスケジューリングされるスレッドでは、 " +#~ "I はスケジューリングの決定に使用されない " +#~ "(I には 0 を指定しなければならない)。" + +#~ msgid "" +#~ "Processes scheduled under one of the real-time policies (B, " +#~ "B) have a I value in the range 1 (low) to 99 " +#~ "(high). (As the numbers imply, real-time threads always have higher " +#~ "priority than normal threads.) Note well: POSIX.1-2001 requires an " +#~ "implementation to support only a minimum 32 distinct priority levels for " +#~ "the real-time policies, and some systems supply just this minimum. " +#~ "Portable programs should use B(2) and " +#~ "B(2) to find the range of priorities supported " +#~ "for a particular policy." +#~ msgstr "" +#~ "リアルタイムスケジューリングポリシー (B, B) の" +#~ "下でスケジューリングされるスレッドは、 I の値は 1 (最低) " +#~ "から 99 (最高) の範囲となる (数字から分かるように、リアルタイムスレッド" +#~ "は常に通常のスレッドよりも 高い優先度を持つ)。 ここで注意すべきなのは、" +#~ "POSIX.1-2001 が要求しているのは、 リアルタイムポリシーの実装において最" +#~ "低 32 種類の異なる優先度レベルが サポートされることだけであり、いくつかの" +#~ "システムではこの最低限の数の 優先度しか提供されていない、ということであ" +#~ "る。 移植性が必要なプログラムでは、 B(2) と " +#~ "B(2) を使って、あるポリシーがサポートする優先度の" +#~ "範囲を調べるべきである。" + +#~ msgid "" +#~ "Conceptually, the scheduler maintains a list of runnable threads for each " +#~ "possible I value. In order to determine which thread " +#~ "runs next, the scheduler looks for the nonempty list with the highest " +#~ "static priority and selects the thread at the head of this list." +#~ msgstr "" +#~ "概念としては、 スケジューラはその I の値それぞれに対して " +#~ "実行可能なスレッドのリストを管理している。 どのスレッドを次に実行するかを" +#~ "決定するために、 スケジューラは静的優先度の最も高い空でないリストを探し" +#~ "て、 そのリストの先頭のスレッドを選択する。" + +#~ msgid "" +#~ "A thread's scheduling policy determines where it will be inserted into " +#~ "the list of threads with equal static priority and how it will move " +#~ "inside this list." +#~ msgstr "" +#~ "各スレッドのスケジューリングポリシーは、 そのスレッドが同じ静的優先度を" +#~ "持つスレッドのリストの中のどこに挿入され、 このリストの中をどのように移動" +#~ "するかを決定する。" + +#~ msgid "" +#~ "All scheduling is preemptive: if a thread with a higher static priority " +#~ "becomes ready to run, the currently running thread will be preempted and " +#~ "returned to the wait list for its static priority level. The scheduling " +#~ "policy determines the ordering only within the list of runnable threads " +#~ "with equal static priority." +#~ msgstr "" +#~ "全てのスケジューリングはプリエンプティブ (preemptive) である: より高い優先" +#~ "度のスレッドが実行可能になると、現在実行中のスレッドは実行権を 取り上げら" +#~ "れ (preempted)、そのスレッドの静的優先度レベルの待ちリストに 戻される。ス" +#~ "ケジューリングポリシーは同じ静的優先度を持つ実行可能な スレッドのリスト" +#~ "の中で順番のみを決定する。" + +#~ msgid "SCHED_FIFO: First in-first out scheduling" +#~ msgstr "SCHED_FIFO: ファーストインファーストアウトスケジューリング" + +#~ msgid "" +#~ "B can be used only with static priorities higher than 0, " +#~ "which means that when a B threads becomes runnable, it will " +#~ "always immediately preempt any currently running B, " +#~ "B, or B thread. B is a simple " +#~ "scheduling algorithm without time slicing. For threads scheduled under " +#~ "the B policy, the following rules apply:" +#~ msgstr "" +#~ "B は 0 より大きな静的優先度でのみ使用できる。このポリシーで" +#~ "は、 B スレッドが実行可能になった場合、 そのポリシーが " +#~ "B、 B、 B の 現在実行中のスレッドは" +#~ "直ちに実行権を取り上げられる。 B は時分割のない単純なスケ" +#~ "ジューリングアルゴリズムである。 B ポリシーでスケジューリン" +#~ "グされているスレッドには以下の ルールが適用される:" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "" +#~ "A B thread that has been preempted by another thread of " +#~ "higher priority will stay at the head of the list for its priority and " +#~ "will resume execution as soon as all threads of higher priority are " +#~ "blocked again." +#~ msgstr "" +#~ "より高い優先度の他のスレッドによって取って代わられた B スレッ" +#~ "ドはその優先度のリストの先頭に留まり続け、 より高い優先度のスレッド全てが" +#~ "停止 (block) した場合に実行を再開する。" + +#~ msgid "" +#~ "When a B thread becomes runnable, it will be inserted at the " +#~ "end of the list for its priority." +#~ msgstr "" +#~ "B スレッドが実行可能になった時、その優先度のリストの最後 に挿" +#~ "入される。" + +#~ msgid "" +#~ "A call to B() or B(2) will put the " +#~ "B (or B) thread identified by I at the start " +#~ "of the list if it was runnable. As a consequence, it may preempt the " +#~ "currently running thread if it has the same priority. (POSIX.1-2001 " +#~ "specifies that the thread should go to the end of the list.)" +#~ msgstr "" +#~ "B() や B(2) は I で指定された " +#~ "B (または B) スレッドが 実行可能な場合、リストの最初" +#~ "に置く。 結果として、もし優先度が同じだった場合、 現在実行中のスレッドに先" +#~ "んじるかもしれない。 (POSIX.1-2001 ではスレッドはリストの最後に行くべきと" +#~ "規定されている。)" + +#~ msgid "" +#~ "A thread calling B(2) will be put at the end of the list." +#~ msgstr "B(2) を呼び出したスレッドはリストの最後に置かれる。" + +#~ msgid "" +#~ "No other events will move a thread scheduled under the B " +#~ "policy in the wait list of runnable threads with equal static priority." +#~ msgstr "" +#~ "その他のイベントによって B ポリシーでスケジューリングされるス" +#~ "レッドが同じ優先度の実行可能なスレッドの待ちリストの中を移動することはな" +#~ "い。" + +#~ msgid "" +#~ "A B thread runs until either it is blocked by an I/O request, " +#~ "it is preempted by a higher priority thread, or it calls " +#~ "B(2)." +#~ msgstr "" +#~ "B スレッドは I/O 要求によって停止するか、 より高い優先度のス" +#~ "レッドによって置きかえられるか、 B(2) を呼び出すまで実行を続" +#~ "ける。" + +#~ msgid "SCHED_RR: Round-robin scheduling" +#~ msgstr "SCHED_RR: ラウンドロビン (round-robin)スケジューリング" + +#~ msgid "" +#~ "B is a simple enhancement of B. Everything " +#~ "described above for B also applies to B, except " +#~ "that each thread is allowed to run only for a maximum time quantum. If a " +#~ "B thread has been running for a time period equal to or longer " +#~ "than the time quantum, it will be put at the end of the list for its " +#~ "priority. A B thread that has been preempted by a higher " +#~ "priority thread and subsequently resumes execution as a running thread " +#~ "will complete the unexpired portion of its round-robin time quantum. The " +#~ "length of the time quantum can be retrieved using " +#~ "B(2)." +#~ msgstr "" +#~ "B は B の単純な拡張である。 上述された\n" +#~ "B に関する記述は全て B に 適用できる。異なるのは\n" +#~ "それぞれのスレッドは最大時間単位までしか実行できない ということである。\n" +#~ "B スレッドが時間単位と同じかそれより 長い時間実行されると、\n" +#~ "その優先度のリストの最後に置かれる。 より高い優先度のスレッドによって\n" +#~ "置きかえられ、その後実行を再開した B スレッドは、そのラウンド\n" +#~ "ロビン時間単位を完全に使い切る まで実行される。その時間単位の長さは\n" +#~ "B(2) を使って取得できる。" + +#~ msgid "SCHED_OTHER: Default Linux time-sharing scheduling" +#~ msgstr "SCHED_OTHER: Linux のデフォルトの時分割スケジューリング" + +#~ msgid "" +#~ "B can be used at only static priority 0. B is " +#~ "the standard Linux time-sharing scheduler that is intended for all " +#~ "threads that do not require the special real-time mechanisms. The thread " +#~ "to run is chosen from the static priority 0 list based on a I " +#~ "priority that is determined only inside this list. The dynamic priority " +#~ "is based on the nice value (set by B(2) or B(2)) and " +#~ "increased for each time quantum the thread is ready to run, but denied to " +#~ "run by the scheduler. This ensures fair progress among all " +#~ "B threads." +#~ msgstr "" +#~ "B は静的優先度 0 でのみ使用できる。 B は Linux " +#~ "標準の時分割スケジューラで、 特別なリアルタイム機構を必要としていない全て" +#~ "のスレッドで使用される。 実行するスレッドは、静的優先度 0 のリストから、こ" +#~ "のリストの中だけで 決定される「動的な」優先度 (dynamic priority) に基いて" +#~ "決定される。 動的な優先度は (B(2) や B(2) により設定" +#~ "される) nice 値に基づいて決定されるもので、 単位時間毎に、スレッドが実行可" +#~ "能だが、スケジューラにより実行が拒否された 場合にインクリメントされる。 こ" +#~ "れにより、全ての B スレッドでの公平性が保証される。" + +#~ msgid "SCHED_BATCH: Scheduling batch processes" +#~ msgstr "SCHED_BATCH: バッチプロセスのスケジューリング" + +#~ msgid "" +#~ "(Since Linux 2.6.16.) B can be used only at static priority " +#~ "0. This policy is similar to B in that it schedules the " +#~ "thread according to its dynamic priority (based on the nice value). The " +#~ "difference is that this policy will cause the scheduler to always assume " +#~ "that the thread is CPU-intensive. Consequently, the scheduler will apply " +#~ "a small scheduling penalty with respect to wakeup behaviour, so that this " +#~ "thread is mildly disfavored in scheduling decisions." +#~ msgstr "" +#~ "(Linux 2.6.16 以降) B は静的優先度 0 でのみ使用できる。 この" +#~ "ポリシーは (nice 値に基づく) 動的な優先度にしたがってスレッドの スケジュー" +#~ "リングが行われるという点で、B に似ている。 異なるのは、このポ" +#~ "リシーでは、スレッドが常に CPU に負荷のかかる (CPU-intensive) 処理を行う" +#~ "と、スケジューラが仮定する点である。 スケジューラはスレッドを呼び起こす毎" +#~ "にそのスレッドにスケジューリング上の ペナルティを少し課し、その結果、この" +#~ "スレッドはスケジューリングの決定で 若干冷遇されるようになる。" + +#~ msgid "" +#~ "This policy is useful for workloads that are noninteractive, but do not " +#~ "want to lower their nice value, and for workloads that want a " +#~ "deterministic scheduling policy without interactivity causing extra " +#~ "preemptions (between the workload's tasks)." +#~ msgstr "" +#~ "このポリシーは、非対話的な処理だがその nice 値を下げたくない処理や、 (処理" +#~ "のタスク間で) 余計なタスクの置き換えの原因とある対話的な処理なしで 確定的" +#~ "な (deterministic) スケジューリングポリシーを適用したい処理に 対して有効" +#~ "である。" + +#~ msgid "SCHED_IDLE: Scheduling very low priority jobs" +#~ msgstr "SCHED_IDLE: 非常に優先度の低いジョブのスケジューリング" + +#~ msgid "" +#~ "(Since Linux 2.6.23.) B can be used only at static priority " +#~ "0; the process nice value has no influence for this policy." +#~ msgstr "" +#~ "(Linux 2.6.23 以降) B は静的優先度 0 でのみ使用できる。 この" +#~ "ポリシーではプロセスの nice 値はスケジューリングに影響を与えない。" + +#~ msgid "" +#~ "This policy is intended for running jobs at extremely low priority (lower " +#~ "even than a +19 nice value with the B or B " +#~ "policies)." +#~ msgstr "" +#~ "非常に低い優先度でのジョブの実行を目的としたものである (非常に低い優先度と" +#~ "は、ポリシー B か B での nice 値 +19 よりさらに" +#~ "低い優先度である)。" + +#~ msgid "Resetting scheduling policy for child processes" +#~ msgstr "子プロセスでのスケジューリングポリシーのリセット" + +#~ msgid "" +#~ "More precisely, if the B flag is specified, the " +#~ "following rules apply for subsequently created children:" +#~ msgstr "" +#~ "より正確には、 B フラグが指定された場合、それ以降に作" +#~ "成される子プロセスに以下のルールが適用される。" + +#~ msgid "" +#~ "If the calling thread has a scheduling policy of B or " +#~ "B, the policy is reset to B in child processes." +#~ msgstr "" +#~ "呼び出したスレッドのスケジューリングポリシーが B か " +#~ "B の場合、子プロセスのポリシーは B にリセットされ" +#~ "る。" + +#~ msgid "" +#~ "If the calling process has a negative nice value, the nice value is reset " +#~ "to zero in child processes." +#~ msgstr "" +#~ "子プロセスが負の nice 値を持っている場合、子プロセスの nice 値は 0 にリ" +#~ "セットされる。" + +#~ msgid "" +#~ "After the B flag has been enabled, it can be reset " +#~ "only if the thread has the B capability. This flag is " +#~ "disabled in child processes created by B(2)." +#~ msgstr "" +#~ "一度 B フラグが有効にされた後は、このフラグをリセット" +#~ "できるのは、スレッドが B ケーパビリティを持つ場合だけであ" +#~ "る。このフラグは B(2) で作成された子プロセスでは無効になる。" + +#~ msgid "" +#~ "The B flag is visible in the policy value returned " +#~ "by B()" +#~ msgstr "" +#~ "B フラグは、 B() が返すポリシー値" +#~ "で参照できる。" + +#~ msgid "Privileges and resource limits" +#~ msgstr "特権とリソース制限" + +#~ msgid "" +#~ "In Linux kernels before 2.6.12, only privileged (B) " +#~ "threads can set a nonzero static priority (i.e., set a real-time " +#~ "scheduling policy). The only change that an unprivileged thread can make " +#~ "is to set the B policy, and this can be done only if the " +#~ "effective user ID of the caller of B() matches the " +#~ "real or effective user ID of the target thread (i.e., the thread " +#~ "specified by I) whose policy is being changed." +#~ msgstr "" +#~ "2.6.12 より前のバージョンの Linux カーネルでは、 特権スレッド " +#~ "(B ケーパビリティを持つスレッド) だけが 0 以外の静的優先度を" +#~ "設定する (すなわち、リアルタイムスケジューリングポリシーを設定する) こ" +#~ "とができる。 非特権スレッドができる変更は B ポリシーを設定す" +#~ "ることだけであり、さらにこの変更を行えるのは B() の呼" +#~ "び出し元の実効ユーザ ID がポリシーの変更対象スレッド (I で指定された" +#~ "スレッド) の実ユーザ ID か実効ユーザ ID と 一致する場合だけである。" + +#~ msgid "" +#~ "Since Linux 2.6.12, the B resource limit defines a ceiling " +#~ "on an unprivileged thread's static priority for the B and " +#~ "B policies. The rules for changing scheduling policy and " +#~ "priority are as follows:" +#~ msgstr "" +#~ "Linux 2.6.12 以降では、リソース制限 B が定義されており、 ス" +#~ "ケジューリングポリシーが B と B の場合の、非特権ス" +#~ "レッドの静的優先度の上限を定めている。 スケジューリングポリシーと優先度" +#~ "を変更する際のルールは以下の通りである。" + +#~ msgid "" +#~ "If an unprivileged thread has a nonzero B soft limit, then " +#~ "it can change its scheduling policy and priority, subject to the " +#~ "restriction that the priority cannot be set to a value higher than the " +#~ "maximum of its current priority and its B soft limit." +#~ msgstr "" +#~ "非特権スレッドに 0 以外の B ソフトリミットが設定されてい" +#~ "る場合、 非特権スレッドはそのスレッドのスケジューリングポリシーと優先度" +#~ "を 変更できるが、優先度を現在の自身の優先度と B ソフトリ" +#~ "ミットの大きい方よりも高い値に設定できないという制限が課される。" + +#~ msgid "" +#~ "If the B soft limit is 0, then the only permitted changes " +#~ "are to lower the priority, or to switch to a non-real-time policy." +#~ msgstr "" +#~ "B ソフトリミットが 0 の場合、優先度を下げるか、 リアルタ" +#~ "イムでないポリシーへ切り替えるかの変更だけが許可される。" + +#~ msgid "" +#~ "Subject to the same rules, another unprivileged thread can also make " +#~ "these changes, as long as the effective user ID of the thread making the " +#~ "change matches the real or effective user ID of the target thread." +#~ msgstr "" +#~ "ある非特権スレッドが別のスレッドに対してこれらの変更を行う際にも、 同じ" +#~ "ルールが適用される。変更を行えるのは、変更を行おうとするスレッド の実効" +#~ "ユーザ ID が変更対象のスレッドの実ユーザ ID か実効ユーザ ID と 一致してい" +#~ "る場合に限られる。" + +#~ msgid "" +#~ "Special rules apply for the B. In Linux kernels before " +#~ "2.6.39, an unprivileged thread operating under this policy cannot change " +#~ "its policy, regardless of the value of its B resource " +#~ "limit. In Linux kernels since 2.6.39, an unprivileged thread can switch " +#~ "to either the B or the B policy so long as its " +#~ "nice value falls within the range permitted by its B " +#~ "resource limit (see B(2))." +#~ msgstr "" +#~ "B の場合には特別なルールが適用される。 2.6.39 より前の Linux " +#~ "カーネルでは、このポリシーで動作する非特権スレッドは、 B リ" +#~ "ソース上限の値に関わらず、自分のポリシーを変更することができない。 2.6.39 " +#~ "以降の Linux カーネルでは、非特権スレッドは、自分の nice 値が " +#~ "B リソース上限 (B(2) 参照) で許可された範囲である" +#~ "限りは、自分のスケジューリングポリシーを B か " +#~ "B ポリシーに切り替えることができる。" + +#~ msgid "" +#~ "Privileged (B) threads ignore the B limit; " +#~ "as with older kernels, they can make arbitrary changes to scheduling " +#~ "policy and priority. See B(2) for further information on " +#~ "B." +#~ msgstr "" +#~ "特権スレッド (B ケーパビリティを持つスレッド) の場合、 " +#~ "B の制限は無視される; 古いカーネルと同じように、スケジュー" +#~ "リングポリシーと優先度に対し 任意の変更を行うことができる。 " +#~ "B に関するもっと詳しい情報は B(2) を参照のこ" +#~ "と。" + +#~ msgid "Response time" +#~ msgstr "応答時間 (response time)" + +#~ msgid "" +#~ "A blocked high priority thread waiting for the I/O has a certain response " +#~ "time before it is scheduled again. The device driver writer can greatly " +#~ "reduce this response time by using a \"slow interrupt\" interrupt handler." +#~ msgstr "" +#~ "I/O 待ちで停止したより高い優先度のスレッドは再びスケジューリングされる 前" +#~ "にいくらかの応答時間がかかる。デバイスドライバーを書く場合には \"slow " +#~ "interrupt\" 割り込みハンドラーを使用することで この応答時間を劇的に減少さ" +#~ "せることができる。" + +#~ msgid "Miscellaneous" +#~ msgstr "その他" + +#~ msgid "" +#~ "Child processes inherit the scheduling policy and parameters across a " +#~ "B(2). The scheduling policy and parameters are preserved across " +#~ "B(2)." +#~ msgstr "" +#~ "子プロセスは B(2) の際に親プロセスのスケジューリングポリシーとパ" +#~ "ラメータを継承する。 B(2) の前後で、スケジューリングポリシーと" +#~ "パラメータは保持される。" + +#~ msgid "" +#~ "Memory locking is usually needed for real-time processes to avoid paging " +#~ "delays; this can be done with B(2) or B(2)." +#~ msgstr "" +#~ "リアルタイムプロセスは大抵、ページングの待ち時間を避けるために " +#~ "B(2) や B(2) を使ってメモリロックをしなければならな" +#~ "い。" + +#~ msgid "" +#~ "Since a nonblocking infinite loop in a thread scheduled under " +#~ "B or B will block all threads with lower priority " +#~ "forever, a software developer should always keep available on the console " +#~ "a shell scheduled under a higher static priority than the tested " +#~ "application. This will allow an emergency kill of tested real-time " +#~ "applications that do not block or terminate as expected. See also the " +#~ "description of the B resource limit in B(2)." +#~ msgstr "" +#~ "B や B でスケジューリングされる スレッドが停止せずに" +#~ "無限ループに陥ると、 他の全てのより低い優先度のスレッドを永久に停止 " +#~ "(block) させてしまうので、 ソフトウェア開発者はコンソールのシェルの静的優" +#~ "先度をテストする アプリケーションよりも常に高く保つべきである。 これによっ" +#~ "て期待通りに停止したり終了したりしないリアルタイム アプリケーションを緊" +#~ "急終了させることが可能になる。 B(2) のリソース制限 " +#~ "B の説明も参照のこと。" + +#~ msgid "" +#~ "The scheduling I is not one of the recognized policies, I " +#~ "is NULL, or I does not make sense for the I." +#~ msgstr "" +#~ "スケジューリングポリシー I が間違っている。\n" +#~ "または I が NULL である。\n" +#~ "または I がそのポリシーでは意味をなさない。" + +#~ msgid "" +#~ "Originally, Standard Linux was intended as a general-purpose operating " +#~ "system being able to handle background processes, interactive " +#~ "applications, and less demanding real-time applications (applications " +#~ "that need to usually meet timing deadlines). Although the Linux kernel " +#~ "2.6 allowed for kernel preemption and the newly introduced O(1) scheduler " +#~ "ensures that the time needed to schedule is fixed and deterministic " +#~ "irrespective of the number of active tasks, true real-time computing was " +#~ "not possible up to kernel version 2.6.17." +#~ msgstr "" +#~ "もともとは、標準の Linux は一般目的のオペレーティングシステムとして 設計さ" +#~ "れており、バックグラウンドプロセスや対話的アプリケーション、 リアルタイ" +#~ "ム性の要求が厳しくないリアルタイムアプリケーション (普通はタイミングの応" +#~ "答期限 (deadline) を満たす必要があるアプリケーション) を扱うことができ" +#~ "た。 Linux カーネル 2.6 では、 カーネルのプリエンプション (タスクの置き換" +#~ "え) が可能であり、 新たに導入された O(1) スケジューラにより、 アクティブな" +#~ "タスクの数に関わらずスケジューリングに必要な時間は 固定で確定的 " +#~ "(deterministic) であることが保証されている。 それにも関わらず、カーネル " +#~ "2.6.17 までは 真のリアルタイムコンピューティングは実現できなかった。" + +#~ msgid "Real-time features in the mainline Linux kernel" +#~ msgstr "本流の Linux カーネルでのリアルタイム機能" + +#~ msgid "" +#~ "From kernel version 2.6.18 onward, however, Linux is gradually becoming " +#~ "equipped with real-time capabilities, most of which are derived from the " +#~ "former I patches developed by Ingo Molnar, Thomas " +#~ "Gleixner, Steven Rostedt, and others. Until the patches have been " +#~ "completely merged into the mainline kernel (this is expected to be around " +#~ "kernel version 2.6.30), they must be installed to achieve the best real-" +#~ "time performance. These patches are named:" +#~ msgstr "" +#~ "カーネル 2.6.18 から現在まで、 Linux は徐々にリアルタイム機能を備えつつ\n" +#~ "あるが、 これらの機能のほとんどは、 Ingo Molnar, Thomas Gleixner,\n" +#~ "Steven Rostedt らによって開発された、 以前の I パッチ\n" +#~ "からのものである。 これらのパッチが本流のカーネルに完全にマージされるま\n" +#~ "では (マージの完了はカーネル 2.6.30 あたりの予定)、 最高のリアルタイム\n" +#~ "性能を達成するには realtime-preempt パッチを 組み込まなければならない。\n" +#~ "これらのパッチは" + +#~ msgid "patch-I-rtI\n" +#~ msgstr "patch-I-rtI\n" + +#~ msgid "" +#~ "and can be downloaded from E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/" +#~ "kernel\\:/projects\\:/rt/> E<.UE .>" +#~ msgstr "" +#~ "という名前で、 E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/kernel\\:/" +#~ "projects\\:/rt/> E<.UE> からダウンロードできる。" + +#~ msgid "" +#~ "Without the patches and prior to their full inclusion into the mainline " +#~ "kernel, the kernel configuration offers only the three preemption classes " +#~ "B, B, and " +#~ "B which respectively provide no, some, and " +#~ "considerable reduction of the worst-case scheduling latency." +#~ msgstr "" +#~ "このパッチが適用されず、かつパッチの内容の本流のカーネルへのマージが 完了" +#~ "するまでは、カーネルの設定では B, " +#~ "B, B の 3つのプリエンプ" +#~ "ションクラス (preemption class) だけが提供される。 これらのクラスでは、" +#~ "最悪の場合のスケジューリング遅延がそれぞれ 全く減らない、いくらか減る、か" +#~ "なり減る。" + +#~ msgid "" +#~ "With the patches applied or after their full inclusion into the mainline " +#~ "kernel, the additional configuration item B becomes " +#~ "available. If this is selected, Linux is transformed into a regular real-" +#~ "time operating system. The FIFO and RR scheduling policies that can be " +#~ "selected using B() are then used to run a thread " +#~ "with true real-time priority and a minimum worst-case scheduling latency." +#~ msgstr "" +#~ "パッチが適用された場合、またはパッチの内容の本流のカーネルへのマージが 完" +#~ "了した後では、上記に加えて設定項目として B が利用可能に" +#~ "なる。この項目を選択すると、 Linux は通常のリアルタイムオペレーティング" +#~ "システムに変身する。 この場合には、 B() で選択できる " +#~ "FIFO と RR のスケジューリングポリシーは、 真のリアルタイム優先度を持つス" +#~ "レッドを最悪の場合のスケジューリング遅延が 最小となる環境で動作させるため" +#~ "に使われることになる。" + +#~ msgid "" +#~ "The Linux kernel source file I" +#~ msgstr "" +#~ "Linux カーネルソースファイル I" + +#~ msgid "2008-10-18" +#~ msgstr "2008-10-18" + +#~ msgid "B(2) for a description of Linux scheduling" +#~ msgstr "" +#~ "Linux のスケージュリング (scheduling) については B(2) " +#~ "を参照。" + +#~ msgid "2013-04-16" +#~ msgstr "2013-04-16" + +#~ msgid "Create a child that executes in a separate UTS namespace" +#~ msgstr "別の UTS 名前空間で動作する子プロセスを作成する" + +#~ msgid "2013-01-27" +#~ msgstr "2013-01-27" + +#~ msgid "2006-03-23" +#~ msgstr "2006-03-23" + +#~ msgid "2013-02-11" +#~ msgstr "2013-02-11" + #~ msgid "" #~ "B() creates a new process, in a manner similar to B(2). It " -#~ "is actually a library function layered on top of the underlying B" -#~ "() system call, hereinafter referred to as B. A description " -#~ "of B is given toward the end of this page." +#~ "is actually a library function layered on top of the underlying " +#~ "B() system call, hereinafter referred to as B. A " +#~ "description of B is given toward the end of this page." #~ msgstr "" #~ "B() は B(2) と同じような方法で新しいプロセスを作成する。 " #~ "B() には、ライブラリ関数とその下層にあたる B() システム" @@ -5473,8 +5525,8 @@ msgstr "Linux カーネルソース内の I" #~ msgid "" #~ "The PID namespace and the mount namespace are not currently supported. " -#~ "(See the descriptions of B and B in B" -#~ "(2).)" +#~ "(See the descriptions of B and B in " +#~ "B(2).)" #~ msgstr "" #~ "現在のところ、 PID 名前空間とマウント名前空間はサポートされていない\n" #~ "(B(2) の B と B の説明を参照)。"