OSDN Git Service

Translation snapshot for LDP v3.76
[linuxjm/LDP_man-pages.git] / po4a / sched / po / ja.po
index 2429b1a..9a95055 100644 (file)
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2014-06-03 01:29+0900\n"
-"PO-Revision-Date: 2014-04-24 02:41+0900\n"
+"POT-Creation-Date: 2015-01-04 23:49+0900\n"
+"PO-Revision-Date: 2015-01-05 03:46+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -28,34 +28,34 @@ msgid "2012-03-15"
 msgstr "2012-03-15"
 
 #. type: TH
-#: build/C/man3/CPU_SET.3:27 build/C/man2/clone.2:45 build/C/man2/kcmp.2:28
+#: build/C/man3/CPU_SET.3:27 build/C/man2/clone.2:42 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:26
-#: build/C/man2/sched_yield.2:29 build/C/man2/setns.2:8
-#: build/C/man2/unshare.2:20
+#: build/C/man2/sched_setattr.2:26 build/C/man2/sched_setparam.2:30
+#: build/C/man2/sched_setscheduler.2:26 build/C/man2/sched_yield.2:29
+#: build/C/man7/sched.7:32 build/C/man2/setns.2:8 build/C/man2/unshare.2:20
 #, no-wrap
 msgid "Linux"
 msgstr "Linux"
 
 #. type: TH
-#: build/C/man3/CPU_SET.3:27 build/C/man2/clone.2:45 build/C/man2/kcmp.2:28
+#: build/C/man3/CPU_SET.3:27 build/C/man2/clone.2:42 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:26
-#: build/C/man2/sched_yield.2:29 build/C/man2/setns.2:8
-#: build/C/man2/unshare.2:20
+#: build/C/man2/sched_setattr.2:26 build/C/man2/sched_setparam.2:30
+#: build/C/man2/sched_setscheduler.2:26 build/C/man2/sched_yield.2:29
+#: build/C/man7/sched.7:32 build/C/man2/setns.2:8 build/C/man2/unshare.2:20
 #, no-wrap
 msgid "Linux Programmer's Manual"
 msgstr "Linux Programmer's Manual"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:28 build/C/man2/clone.2:46 build/C/man2/kcmp.2:29
+#: build/C/man3/CPU_SET.3:28 build/C/man2/clone.2:43 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:27
-#: build/C/man2/sched_yield.2:30 build/C/man2/setns.2:9
-#: build/C/man2/unshare.2:21
+#: build/C/man2/sched_setattr.2:27 build/C/man2/sched_setparam.2:31
+#: build/C/man2/sched_setscheduler.2:27 build/C/man2/sched_yield.2:30
+#: build/C/man7/sched.7:33 build/C/man2/setns.2:9 build/C/man2/unshare.2:21
 #, no-wrap
 msgid "NAME"
 msgstr "名前"
@@ -74,12 +74,12 @@ msgstr ""
 "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/man3/CPU_SET.3:35 build/C/man2/clone.2:45 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:30
-#: build/C/man2/sched_yield.2:32 build/C/man2/setns.2:11
-#: build/C/man2/unshare.2:23
+#: build/C/man2/sched_setattr.2:30 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
 msgid "SYNOPSIS"
 msgstr "書式"
@@ -204,12 +204,12 @@ msgid "B<int  CPU_EQUAL_S(size_t >I<setsize>B<, cpu_set_t *>I<set1>B<, cpu_set_t
 msgstr "B<int  CPU_EQUAL_S(size_t >I<setsize>B<, cpu_set_t *>I<set1>B<, cpu_set_t *>I<set2>B<);>\n"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:79 build/C/man2/clone.2:86 build/C/man2/kcmp.2:41
+#: build/C/man3/CPU_SET.3:79 build/C/man2/clone.2:83 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:41
-#: build/C/man2/sched_yield.2:36 build/C/man2/setns.2:18
-#: build/C/man2/unshare.2:50
+#: build/C/man2/sched_setattr.2:41 build/C/man2/sched_setparam.2:47
+#: build/C/man2/sched_setscheduler.2:41 build/C/man2/sched_yield.2:36
+#: build/C/man7/sched.7:35 build/C/man2/setns.2:18 build/C/man2/unshare.2:50
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr "説明"
@@ -225,11 +225,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:93
-#, fuzzy
-#| msgid ""
-#| "The I<cpu_set_t> data type is implemented as a bitset.  However, the data "
-#| "structure treated as considered opaque: all manipulation of CPU sets "
-#| "should be done via the macros described in this page."
 msgid ""
 "The I<cpu_set_t> data type is implemented as a bit set.  However, the data "
 "structure treated as considered opaque: all manipulation of CPU sets should "
@@ -462,12 +457,13 @@ msgstr ""
 "大きさが I<setsize> バイトの CPU 集合に対して操作を行う点が異なる。"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:210 build/C/man2/clone.2:878 build/C/man2/kcmp.2:127
+#: build/C/man3/CPU_SET.3:210 build/C/man2/clone.2:873 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:135 build/C/man2/sched_yield.2:41
-#: build/C/man2/setns.2:70 build/C/man2/unshare.2:207
+#: build/C/man2/sched_setaffinity.2:107 build/C/man2/sched_setattr.2:262
+#: build/C/man2/sched_setparam.2:87 build/C/man2/sched_setscheduler.2:135
+#: build/C/man2/sched_yield.2:41 build/C/man2/setns.2:138
+#: build/C/man2/unshare.2:277
 #, no-wrap
 msgid "RETURN VALUE"
 msgstr "返り値"
@@ -520,9 +516,10 @@ msgid "The other functions do not return a value."
 msgstr "他の関数は値を返さない。"
 
 #. type: SH
-#: 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
+#: build/C/man3/CPU_SET.3:241 build/C/man2/clone.2:1030
+#: build/C/man2/kcmp.2:198 build/C/man3/sched_getcpu.3:70
+#: build/C/man2/sched_setaffinity.2:148 build/C/man2/sched_setattr.2:348
+#: build/C/man2/setns.2:181 build/C/man2/unshare.2:329
 #, no-wrap
 msgid "VERSIONS"
 msgstr "バージョン"
@@ -555,12 +552,13 @@ msgstr ""
 "B<CPU_XOR_S>(), B<CPU_EQUAL_S>() は glibc 2.7 で初めて登場した。"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:270 build/C/man2/clone.2:1002
+#: build/C/man3/CPU_SET.3:270 build/C/man2/clone.2:1037
 #: 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
+#: build/C/man2/sched_setaffinity.2:159 build/C/man2/sched_setattr.2:351
+#: 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:186
+#: build/C/man2/unshare.2:333
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr "準拠"
@@ -571,12 +569,13 @@ msgid "These interfaces are Linux-specific."
 msgstr "これらのインタフェースは Linux 固有である。"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:272 build/C/man2/clone.2:1006
+#: build/C/man3/CPU_SET.3:272 build/C/man2/clone.2:1041
 #: 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: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
+#: build/C/man2/sched_setaffinity.2:161 build/C/man2/sched_setattr.2:353
+#: build/C/man2/sched_setparam.2:121 build/C/man2/sched_setscheduler.2:173
+#: build/C/man2/sched_yield.2:54 build/C/man7/sched.7:611
+#: build/C/man2/setns.2:190 build/C/man2/unshare.2:337
 #, no-wrap
 msgid "NOTES"
 msgstr "注意"
@@ -588,12 +587,6 @@ msgstr "CPU 集合を複製するには、 B<memcpy>(3) を使用する。"
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:282
-#, fuzzy
-#| msgid ""
-#| "Since CPU sets are bitsets 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<sizeof(unsigned long)>.  An application should "
-#| "consider the contents of these extra bits to be undefined."
 msgid ""
 "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 "
@@ -607,12 +600,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:294
-#, fuzzy
-#| msgid ""
-#| "Notwithstanding the similarity in the names, note that the constant "
-#| "B<CPU_SETSIZE> indicates the number of CPUs in the I<cpu_set_t> data type "
-#| "(thus, it is effectively a count of bits in the bitset), while the "
-#| "I<setsize> argument of the B<CPU_*_S>()  macros is a size in bytes."
 msgid ""
 "Notwithstanding the similarity in the names, note that the constant "
 "B<CPU_SETSIZE> indicates the number of CPUs in the I<cpu_set_t> data type "
@@ -638,8 +625,8 @@ msgstr ""
 "も全ての型エラーを捕捉できるとは限らない。"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:300 build/C/man2/clone.2:1031
-#: build/C/man2/sched_setscheduler.2:214
+#: build/C/man3/CPU_SET.3:300 build/C/man2/clone.2:1066
+#: build/C/man2/sched_setattr.2:369 build/C/man2/sched_setscheduler.2:214
 #, no-wrap
 msgid "BUGS"
 msgstr "バグ"
@@ -662,8 +649,8 @@ msgstr ""
 "がる結果となる。 これらのバグは glibc 2.9 で修正された。"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:312 build/C/man2/clone.2:1073
-#: build/C/man2/setns.2:112
+#: build/C/man3/CPU_SET.3:312 build/C/man2/clone.2:1108
+#: build/C/man2/setns.2:196 build/C/man2/unshare.2:371
 #, no-wrap
 msgid "EXAMPLE"
 msgstr "例"
@@ -786,12 +773,13 @@ msgstr ""
 "}\n"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:356 build/C/man2/clone.2:1170
+#: build/C/man3/CPU_SET.3:356 build/C/man2/clone.2:1205
 #: 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
+#: build/C/man2/sched_setaffinity.2:226 build/C/man2/sched_setattr.2:385
+#: build/C/man2/sched_setparam.2:127 build/C/man2/sched_setscheduler.2:222
+#: build/C/man2/sched_yield.2:79 build/C/man7/sched.7:664
+#: build/C/man2/setns.2:283 build/C/man2/unshare.2:458
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "関連項目"
@@ -806,71 +794,68 @@ msgstr ""
 "B<pthread_setaffinity_np>(3), B<cpuset>(7)"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:361 build/C/man2/clone.2:1184
+#: build/C/man3/CPU_SET.3:361 build/C/man2/clone.2:1220
 #: 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
+#: build/C/man2/sched_setaffinity.2:248 build/C/man2/sched_setattr.2:408
+#: build/C/man2/sched_setparam.2:142 build/C/man2/sched_setscheduler.2:242
+#: build/C/man2/sched_yield.2:81 build/C/man7/sched.7:702
+#: build/C/man2/setns.2:290 build/C/man2/unshare.2:469
 #, no-wrap
 msgid "COLOPHON"
 msgstr "この文書について"
 
 #. type: Plain text
-#: build/C/man3/CPU_SET.3:369 build/C/man2/clone.2:1192
+#: build/C/man3/CPU_SET.3:369 build/C/man2/clone.2:1228
 #: 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
-#, fuzzy
-#| msgid ""
-#| "This page is part of release 3.65 of the Linux I<man-pages> project.  A "
-#| "description of the project, and information about reporting bugs, can be "
-#| "found at \\%http://www.kernel.org/doc/man-pages/."
+#: build/C/man2/sched_setaffinity.2:256 build/C/man2/sched_setattr.2:416
+#: build/C/man2/sched_setparam.2:150 build/C/man2/sched_setscheduler.2:250
+#: build/C/man2/sched_yield.2:89 build/C/man7/sched.7:710
+#: build/C/man2/setns.2:298 build/C/man2/unshare.2:477
 msgid ""
-"This page is part of release 3.67 of the Linux I<man-pages> project.  A "
+"This page is part of release 3.76 of the Linux I<man-pages> 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<man-pages> プロジェクトのリリース 3.65 の一部\n"
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.76 の一部\n"
 "である。プロジェクトの説明とバグ報告に関する情報は\n"
 "http://www.kernel.org/doc/man-pages/ に書かれている。"
 
 #. type: TH
-#: build/C/man2/clone.2:45
+#: build/C/man2/clone.2:42
 #, no-wrap
 msgid "CLONE"
 msgstr "CLONE"
 
 #. type: TH
-#: build/C/man2/clone.2:45
+#: build/C/man2/clone.2:42 build/C/man2/setns.2:8 build/C/man2/unshare.2:20
 #, no-wrap
-msgid "2014-02-27"
-msgstr "2014-02-27"
+msgid "2014-09-21"
+msgstr "2014-09-21"
 
 #. type: Plain text
-#: build/C/man2/clone.2:48
+#: build/C/man2/clone.2:45
 msgid "clone, __clone2 - create a child process"
 msgstr "clone, __clone2 - 子プロセスを作成する"
 
 #. type: Plain text
-#: build/C/man2/clone.2:51
+#: build/C/man2/clone.2:48
 #, no-wrap
 msgid "/* Prototype for the glibc wrapper function */\n"
 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:33
-#: build/C/man2/unshare.2:26
+#: build/C/man2/clone.2:50 build/C/man3/sched_getcpu.3:32
+#: build/C/man2/sched_setattr.2:33 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 E<lt>sched.hE<gt>>\n"
 msgstr "B<#include E<lt>sched.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:58
+#: build/C/man2/clone.2:55
 #, no-wrap
 msgid ""
 "B<int clone(int (*>I<fn>B<)(void *), void *>I<child_stack>B<,>\n"
@@ -882,13 +867,13 @@ msgstr ""
 "B<          /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:60
+#: build/C/man2/clone.2:57
 #, no-wrap
 msgid "/* Prototype for the raw system call */\n"
 msgstr "/* 素のシステムコールのプロトタイプ */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:64
+#: build/C/man2/clone.2:61
 #, no-wrap
 msgid ""
 "B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
@@ -900,7 +885,7 @@ msgstr ""
 "B<          struct pt_regs *>I<regs>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:69
+#: build/C/man2/clone.2:66
 msgid ""
 "Feature Test Macro Requirements for glibc wrapper function (see "
 "B<feature_test_macros>(7)):"
@@ -908,33 +893,33 @@ msgstr ""
 "glibc ラッパー関数の機能検査マクロの要件 (B<feature_test_macros>(7) 参照):"
 
 #. type: Plain text
-#: build/C/man2/clone.2:72
+#: build/C/man2/clone.2:69
 msgid "B<clone>():"
 msgstr "B<clone>():"
 
 #. type: TP
-#: build/C/man2/clone.2:75 build/C/man3/sched_getcpu.3:45
+#: build/C/man2/clone.2:72 build/C/man3/sched_getcpu.3:45
 #: build/C/man2/unshare.2:39
 #, no-wrap
 msgid "Since glibc 2.14:"
 msgstr "glibc 2.14 以降:"
 
 #. type: Plain text
-#: build/C/man2/clone.2:78 build/C/man3/sched_getcpu.3:48
+#: build/C/man2/clone.2:75 build/C/man3/sched_getcpu.3:48
 #: build/C/man2/unshare.2:42
 msgid "_GNU_SOURCE"
 msgstr "_GNU_SOURCE"
 
 #.  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/clone.2:75 build/C/man3/sched_getcpu.3:48
 #: build/C/man2/unshare.2:42
 #, no-wrap
 msgid "Before glibc 2.14:"
 msgstr "glibc 2.14 より前:"
 
 #. type: Plain text
-#: build/C/man2/clone.2:83 build/C/man3/sched_getcpu.3:52
+#: build/C/man2/clone.2:80 build/C/man3/sched_getcpu.3:52
 #: build/C/man2/unshare.2:47
 #, no-wrap
 msgid ""
@@ -945,12 +930,12 @@ msgstr ""
 "    /* _GNU_SOURCE も定義される */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:90
+#: build/C/man2/clone.2:87
 msgid "B<clone>()  creates a new process, in a manner similar to B<fork>(2)."
 msgstr "B<clone>() は、 B<fork>(2) と似た方法で新しいプロセスを作成する。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:97
+#: build/C/man2/clone.2:94
 msgid ""
 "This page describes both the glibc B<clone>()  wrapper function and the "
 "underlying system call on which it is based.  The main text describes the "
@@ -962,7 +947,7 @@ msgstr ""
 "る。 素のシステムコールにおける差分はこのページの最後の方で説明する。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:109
+#: build/C/man2/clone.2:106
 msgid ""
 "Unlike B<fork>(2), B<clone>()  allows the child process to share parts of "
 "its execution context with the calling process, such as the memory space, "
@@ -971,13 +956,13 @@ msgid ""
 "process\".  But see the description of B<CLONE_PARENT> below.)"
 msgstr ""
 "B<fork>(2) とは異なり、B<clone>() では、子プロセス (child process)  と呼び出"
-"ã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81¨ã\81\8cã\80\81ã\83¡ã\83¢ã\83ªç©ºé\96\93ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81®ã\83\86ã\83¼ã\83\96ã\83«ã\80\81ã\82·ã\82°ã\83\8aã\83«ã\83»"
-"ã\83\8fã\83³ã\83\89ã\83©ã\81®ã\83\86ã\83¼ã\83\96ã\83«ã\81ªã\81©ã\81® å®\9fè¡\8cã\82³ã\83³ã\83\86ã\82­ã\82¹ã\83\88ã\81®ä¸\80é\83¨ã\82\92å\85±æ\9c\89ã\81§ã\81\8dã\82\8bã\80\82 (ã\81\93ã\81®ã\83\9eã\83\8bã\83¥ã\82¢ã\83«"
-"ã\81«ã\81\8aã\81\91ã\82\8bã\80\8cå\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\80\8dã\81¯ã\80\81é\80\9a常ã\81¯ ã\80\8c親ã\83\97ã\83­ã\82»ã\82¹ã\80\8dã\81¨ä¸\80è\87´ã\81\99ã\82\8bã\80\82ä½\86ã\81\97ã\80\81å¾\8c"
-"の B<CLONE_PARENT> の項も参照のこと)"
+"ã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81¨ã\81\8cã\80\81ã\83¡ã\83¢ã\83ªç©ºé\96\93ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81®ã\83\86ã\83¼ã\83\96ã\83«ã\80\81ã\82·ã\82°ã\83\8aã\83«ã\83\8f"
+"ã\83³ã\83\89ã\83©ã\81®ã\83\86ã\83¼ã\83\96ã\83«ã\81ªã\81©ã\81® å®\9fè¡\8cã\82³ã\83³ã\83\86ã\82­ã\82¹ã\83\88ã\81®ä¸\80é\83¨ã\82\92å\85±æ\9c\89ã\81§ã\81\8dã\82\8bã\80\82 (ã\81\93ã\81®ã\83\9eã\83\8bã\83¥ã\82¢ã\83«ã\81«"
+"ã\81\8aã\81\91ã\82\8bã\80\8cå\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\80\8dã\81¯ã\80\81é\80\9a常ã\81¯ ã\80\8c親ã\83\97ã\83­ã\82»ã\82¹ã\80\8dã\81¨ä¸\80è\87´ã\81\99ã\82\8bã\80\82ä½\86ã\81\97ã\80\81å¾\8cè¿°"
+"の B<CLONE_PARENT> の項も参照のこと)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:114
+#: build/C/man2/clone.2:111
 msgid ""
 "The main use of B<clone>()  is to implement threads: multiple threads of "
 "control in a program that run concurrently in a shared memory space."
@@ -986,7 +971,7 @@ msgstr ""
 "ログラムの中の複数のスレッドは共有されたメモリ空間で 同時に実行される。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:134
+#: build/C/man2/clone.2:131
 msgid ""
 "When the child process is created with B<clone>(), it executes the function "
 "I<fn>(I<arg>).  (This differs from B<fork>(2), where execution continues in "
@@ -1001,7 +986,7 @@ msgstr ""
 "ある。 I<arg> 引き数はそのまま I<fn> 関数へと渡される。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:144
+#: build/C/man2/clone.2:141
 msgid ""
 "When the I<fn>(I<arg>)  function application returns, the child process "
 "terminates.  The integer returned by I<fn> is the exit code for the child "
@@ -1014,7 +999,7 @@ msgstr ""
 "る。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:160
+#: build/C/man2/clone.2:157
 msgid ""
 "The I<child_stack> argument specifies the location of the stack used by the "
 "child process.  Since the child and calling process may share memory, it is "
@@ -1035,7 +1020,7 @@ msgstr ""
 "ために用意したメモリ空間の一番大きい アドレスを指すようにする。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:176
+#: build/C/man2/clone.2:173
 msgid ""
 "The low byte of I<flags> contains the number of the I<termination signal> "
 "sent to the parent when the child dies.  If this signal is specified as "
@@ -1052,7 +1037,7 @@ msgstr ""
 "にシグナルは送られない。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:181
+#: build/C/man2/clone.2:178
 msgid ""
 "I<flags> may also be bitwise-or'ed with zero or more of the following "
 "constants, in order to specify what is shared between the calling process "
@@ -1063,13 +1048,13 @@ msgstr ""
 "何を共有するかを指定する:"
 
 #. type: TP
-#: build/C/man2/clone.2:181
+#: build/C/man2/clone.2:178
 #, no-wrap
 msgid "B<CLONE_CHILD_CLEARTID> (since Linux 2.5.49)"
 msgstr "B<CLONE_CHILD_CLEARTID> (Linux 2.5.49 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:191
+#: build/C/man2/clone.2:188
 msgid ""
 "Erase child thread ID at location I<ctid> in child memory when the child "
 "exits, and do a wakeup on the futex at that address.  The address involved "
@@ -1082,26 +1067,26 @@ msgstr ""
 "この機能はスレッドライブラリで使用される。"
 
 #. type: TP
-#: build/C/man2/clone.2:191
+#: build/C/man2/clone.2:188
 #, no-wrap
 msgid "B<CLONE_CHILD_SETTID> (since Linux 2.5.49)"
 msgstr "B<CLONE_CHILD_SETTID> (Linux 2.5.49 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:196
+#: build/C/man2/clone.2:193
 msgid "Store child thread ID at location I<ctid> in child memory."
 msgstr ""
 "子プロセスのメモリ内の I<ctid> が指す場所に子プロセスのスレッド ID を格納す"
 "る。"
 
 #. type: TP
-#: build/C/man2/clone.2:196
+#: build/C/man2/clone.2:193
 #, no-wrap
 msgid "B<CLONE_FILES> (since Linux 2.0)"
 msgstr "B<CLONE_FILES> (Linux 2.0 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:209
+#: build/C/man2/clone.2:206
 msgid ""
 "If B<CLONE_FILES> is set, the calling process and the child process share "
 "the same file descriptor table.  Any file descriptor created by the calling "
@@ -1118,7 +1103,7 @@ msgstr ""
 "もう一方のプロセスにも影響する。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:223
+#: build/C/man2/clone.2:220
 msgid ""
 "If B<CLONE_FILES> is not set, the child process inherits a copy of all file "
 "descriptors opened in the calling process at the time of B<clone>().  (The "
@@ -1138,13 +1123,13 @@ msgstr ""
 "えない。"
 
 #. type: TP
-#: build/C/man2/clone.2:223
+#: build/C/man2/clone.2:220
 #, no-wrap
 msgid "B<CLONE_FS> (since Linux 2.0)"
 msgstr "B<CLONE_FS> (Linux 2.0 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:238
+#: build/C/man2/clone.2:235
 msgid ""
 "If B<CLONE_FS> is set, the caller and the child process share the same "
 "filesystem information.  This includes the root of the filesystem, the "
@@ -1152,15 +1137,15 @@ msgid ""
 "B<chdir>(2), or B<umask>(2)  performed by the calling process or the child "
 "process also affects the other process."
 msgstr ""
-"B<CLONE_FS> が設定された場合、呼び出し元のプロセスと子プロセスが同じファイ"
-"ã\83«ã\83»ã\82·ã\82¹ã\83\86ã\83  æ\83\85å ±ã\82\92å\85±æ\9c\89ã\81\99ã\82\8bã\80\82ã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\82·ã\82¹ã\83\86ã\83 æ\83\85å ±ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\82·ã\82¹ã\83\86ã\83 ã\81®"
-"ルート (root)、 カレント・ワーキング・ディレクトリ (current working "
-"directory)  や umask などである。 呼び出し元のプロセスや子プロセスのどちらか"
-"一方によって B<chroot>(2), B<chdir>(2), B<umask>(2)  が呼び出されると、もう一"
-"方のプロセスにも影響が及ぶ。"
+"B<CLONE_FS> が設定された場合、呼び出し元のプロセスと子プロセスが同じファイ"
+"ã\82·ã\82¹ã\83\86ã\83  æ\83\85å ±ã\82\92å\85±æ\9c\89ã\81\99ã\82\8bã\80\82ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 æ\83\85å ±ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81®ã\83«ã\83¼ã\83\88 "
+"(root)、 カレントワーキングディレクトリ (current working directory)  や "
+"umask などである。 呼び出し元のプロセスや子プロセスのどちらか一方によって "
+"B<chroot>(2), B<chdir>(2), B<umask>(2)  が呼び出されると、もう一方のプロセス"
+"にも影響が及ぶ。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:250
+#: build/C/man2/clone.2:247
 msgid ""
 "If B<CLONE_FS> is not set, the child process works on a copy of the "
 "filesystem information of the calling process at the time of the B<clone>()  "
@@ -1168,19 +1153,18 @@ msgid ""
 "one of the processes do not affect the other process."
 msgstr ""
 "B<CLONE_FS> が設定されていない場合、子プロセスは、 B<clone>()  が実行された時"
-"点での、呼び出し元のプロセスのファイル・システム情報のコピーを 使用する。 こ"
-"れ以降は、呼び出し元のプロセスと子プロセスの一方が B<chroot>(2), "
-"B<chdir>(2), B<umask>(2)  を呼び出しても、もう一方のプロセスには影響を与えな"
-"い。"
+"点での、呼び出し元のプロセスのファイルシステム情報のコピーを 使用する。 これ"
+"以降は、呼び出し元のプロセスと子プロセスの一方が B<chroot>(2), B<chdir>(2), "
+"B<umask>(2)  を呼び出しても、もう一方のプロセスには影響を与えない。"
 
 #. type: TP
-#: build/C/man2/clone.2:250
+#: build/C/man2/clone.2:247
 #, no-wrap
 msgid "B<CLONE_IO> (since Linux 2.6.25)"
 msgstr "B<CLONE_IO> (Linux 2.6.25 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:259
+#: build/C/man2/clone.2:256
 msgid ""
 "If B<CLONE_IO> is set, then the new process shares an I/O context with the "
 "calling process.  If this flag is not set, then (as with B<fork>(2))  the "
@@ -1194,7 +1178,7 @@ msgstr ""
 #.  the anticipatory and CFQ scheduler
 #.  with CFQ and AS.
 #. type: Plain text
-#: build/C/man2/clone.2:276
+#: build/C/man2/clone.2:273
 msgid ""
 "The I/O context is the I/O scope of the disk scheduler (i.e, what the I/O "
 "scheduler uses to model scheduling of a process's I/O).  If processes share "
@@ -1216,7 +1200,7 @@ msgstr ""
 "B<CLONE_IO> を利用することで I/O 性能を良くすることができる。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:280
+#: build/C/man2/clone.2:277
 msgid ""
 "If the kernel is not configured with the B<CONFIG_BLOCK> option, this flag "
 "is a no-op."
@@ -1225,13 +1209,13 @@ msgstr ""
 "意味も持たない。"
 
 #. type: TP
-#: build/C/man2/clone.2:280 build/C/man2/unshare.2:96
+#: build/C/man2/clone.2:277 build/C/man2/unshare.2:96
 #, no-wrap
 msgid "B<CLONE_NEWIPC> (since Linux 2.6.19)"
 msgstr "B<CLONE_NEWIPC> (Linux 2.6.19 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:290
+#: build/C/man2/clone.2:287
 msgid ""
 "If B<CLONE_NEWIPC> is set, then create the process in a new IPC namespace.  "
 "If this flag is not set, then (as with B<fork>(2)), the process is created "
@@ -1246,14 +1230,7 @@ msgstr ""
 #.  commit 7eafd7c74c3f2e67c27621b987b28397110d643f
 #.  https://lwn.net/Articles/312232/
 #. type: Plain text
-#: build/C/man2/clone.2:302
-#, fuzzy
-#| msgid ""
-#| "An IPC namespace provides an isolated view of System V IPC objects (see "
-#| "B<svipc>(7))  and (since Linux 2.6.30)  POSIX message queues (see "
-#| "B<mq_overview>(7)).  The common characteristic of these IPC mechanisms is "
-#| "that IPC objects are identified by mechanisms other than filesystem "
-#| "pathnames."
+#: build/C/man2/clone.2:299
 msgid ""
 "An IPC namespace provides an isolated view of System\\ V IPC objects (see "
 "B<svipc>(7))  and (since Linux 2.6.30)  POSIX message queues (see "
@@ -1261,14 +1238,14 @@ msgid ""
 "that IPC objects are identified by mechanisms other than filesystem "
 "pathnames."
 msgstr ""
-"IPC 名前空間は、独立の System V IPC オブジェクト空間 (B<svipc>(7) 参照) を提"
-"供する 。 (Linux 2.6.30 以降では) 独立した POSIX メッセージキュー空間 "
+"IPC 名前空間は、独立の System\\ V IPC オブジェクト空間 (B<svipc>(7) 参照) を"
+"供する 。 (Linux 2.6.30 以降では) 独立した POSIX メッセージキュー空間 "
 "(B<mq_overview>(7) 参照) も提供される。 これらの IPC 機構に共通の特徴とし"
 "て、 IPC オブジェクトはファイルシステムのパス名とは違った仕組みで識別されると"
 "いう点がある。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:306
+#: build/C/man2/clone.2:303
 msgid ""
 "Objects created in an IPC namespace are visible to all other processes that "
 "are members of that namespace, but are not visible to processes in other IPC "
@@ -1279,7 +1256,7 @@ msgstr ""
 "い。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:310
+#: build/C/man2/clone.2:307
 msgid ""
 "When an IPC namespace is destroyed (i.e., when the last process that is a "
 "member of the namespace terminates), all IPC objects in the namespace are "
@@ -1289,37 +1266,35 @@ msgstr ""
 "が終了する時)、 その名前空間の全ての IPC オブジェクトは自動的に破棄される。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:319
+#: build/C/man2/clone.2:314
 msgid ""
-"Use of this flag requires: a kernel configured with the B<CONFIG_SYSVIPC> "
-"and B<CONFIG_IPC_NS> options and that the process be privileged "
-"(B<CAP_SYS_ADMIN>).  This flag can't be specified in conjunction with "
-"B<CLONE_SYSVSEM>."
+"Only a privileged process (B<CAP_SYS_ADMIN>)  can employ B<CLONE_NEWIPC>.  "
+"This flag can't be specified in conjunction with B<CLONE_SYSVSEM>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:317
+msgid "For further information on IPC namespaces, see B<namespaces>(7)."
 msgstr ""
-"このフラグを使用するためには、 カーネルでオプション B<CONFIG_SYSVIPC> と "
-"B<CONFIG_IPC_NS> を有効になっていること、 プロセスが特権 (B<CAP_SYS_ADMIN>)  "
-"を持っていることが必要である。 このフラグは B<CLONE_SYSVSEM> と組み合わせて使"
-"うことはできない。"
 
 #. type: TP
-#: build/C/man2/clone.2:319 build/C/man2/unshare.2:113
+#: build/C/man2/clone.2:317 build/C/man2/unshare.2:113
 #, no-wrap
 msgid "B<CLONE_NEWNET> (since Linux 2.6.24)"
 msgstr "B<CLONE_NEWNET> (Linux 2.6.24 以降)"
 
-#.  FIXME Check when the implementation was completed
 #. type: Plain text
-#: build/C/man2/clone.2:324
+#: build/C/man2/clone.2:321
 msgid ""
 "(The implementation of this flag was completed only by about kernel version "
 "2.6.29.)"
 msgstr "(このフラグの実装は、Linux 2.6.29 あたりまでには完成した。)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:333
+#: build/C/man2/clone.2:330
 msgid ""
 "If B<CLONE_NEWNET> is set, then create the process in a new network "
-"namespace.  If this flag is not set, then (as with B<fork>(2)), the process "
+"namespace.  If this flag is not set, then (as with B<fork>(2))  the process "
 "is created in the same network namespace as the calling process.  This flag "
 "is intended for the implementation of containers."
 msgstr ""
@@ -1329,9 +1304,9 @@ msgstr ""
 "ロセスが 作成される。 このフラグは、コンテナの実装での使用を意図して用意され"
 "たものである。"
 
-#.  FIXME Add pointer to veth(4) page when it is eventually completed
+#.  FIXME Add pointer to veth(4) page when it is eventually completed
 #. type: Plain text
-#: build/C/man2/clone.2:348
+#: build/C/man2/clone.2:345
 msgid ""
 "A network namespace provides an isolated view of the networking stack "
 "(network device interfaces, IPv4 and IPv6 protocol stacks, IP routing "
@@ -1352,82 +1327,66 @@ msgstr ""
 "リッジを作成したり することができる。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:353
+#: build/C/man2/clone.2:352
 msgid ""
 "When a network namespace is freed (i.e., when the last process in the "
 "namespace terminates), its physical network devices are moved back to the "
-"initial network namespace (not to the parent of the process)."
+"initial network namespace (not to the parent of the process).  For further "
+"information on network namespaces, see B<namespaces>(7)."
 msgstr ""
 "ネットワーク名前空間が解放される時 (すなわち、その名前空間の最後のプロセスが"
 "終了する時)、 物理ネットワークデバイスは初期ネットワーク名前空間 (initial "
 "network namespace) に戻される (親プロセスのネットワーク名前空間に戻される訳で"
-"はない)。"
+"はない)。 ネットワーク名前空間のさらなる情報は B<namespaces>(7) を参照。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:358
+#: build/C/man2/clone.2:357
 msgid ""
-"Use of this flag requires: a kernel configured with the B<CONFIG_NET_NS> "
-"option and that the process be privileged (B<CAP_SYS_ADMIN>)."
+"Only a privileged process (B<CAP_SYS_ADMIN>)  can employ B<CLONE_NEWNET>."
 msgstr ""
-"このフラグを使用するためには、 カーネルでオプション B<CONFIG_NET_NS> を有効に"
-"なっていること、 プロセスが特権 (B<CAP_SYS_ADMIN>)  を持っていることが必要で"
-"ある。"
 
 #. type: TP
-#: build/C/man2/clone.2:358
+#: build/C/man2/clone.2:357
 #, no-wrap
 msgid "B<CLONE_NEWNS> (since Linux 2.4.19)"
 msgstr "B<CLONE_NEWNS> (Linux 2.4.19 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:361
-msgid "Start the child in a new mount namespace."
-msgstr "子プロセスを新しいマウント名前空間 (mount namespace) で開始する。"
-
-#. type: Plain text
-#: build/C/man2/clone.2:382
-msgid ""
-"Every process lives in a mount namespace.  The I<namespace> of a process is "
-"the data (the set of mounts) describing the file hierarchy as seen by that "
-"process.  After a B<fork>(2)  or B<clone>()  where the B<CLONE_NEWNS> flag "
-"is not set, the child lives in the same mount namespace as the parent.  The "
-"system calls B<mount>(2)  and B<umount>(2)  change the mount namespace of "
-"the calling process, and hence affect all processes that live in the same "
-"namespace, but do not affect processes in a different mount namespace."
-msgstr ""
-"各プロセスはある一つのマウント名前空間中に存在する。プロセスの I<名前空間 "
-"(namespace)> は、そのプロセスから見えるファイル階層を表すデータ (mount の集"
-"合) である。 B<CLONE_NEWNS> フラグがセットされずに B<fork>(2)  か "
-"B<clone>()  が呼ばれると、子プロセスは親プロセスと同じマウント名前空間に作成"
-"される。 システムコール B<mount>(2)、 B<umount>(2)  が呼ばれると呼び出し元の"
-"プロセスのマウント名前空間が変更され、この結果 呼び出し元のプロセスと同じ名前"
-"空間にいるプロセスはすべて影響を受けるが、 異なるマウント名前空間にいるプロセ"
-"スは影響を受けない。"
-
-#. type: Plain text
-#: build/C/man2/clone.2:389
+#: build/C/man2/clone.2:367
+#, fuzzy
+#| msgid ""
+#| "After a B<clone>()  where the B<CLONE_NEWNS> flag is set, the cloned "
+#| "child is started in a new mount namespace, initialized with a copy of the "
+#| "namespace of the parent."
 msgid ""
-"After a B<clone>()  where the B<CLONE_NEWNS> flag is set, the cloned child "
-"is started in a new mount namespace, initialized with a copy of the "
-"namespace of the parent."
+"If B<CLONE_NEWNS> is set, the cloned child is started in a new mount "
+"namespace, initialized with a copy of the namespace of the parent.  If "
+"B<CLONE_NEWNS> is not set, the child lives in the same mount namespace as "
+"the parent."
 msgstr ""
 "B<CLONE_NEWNS> フラグがセットされて B<clone>()  が呼ばれると、clone で作成さ"
 "れた子プロセスは新しいマウント名前空間で 開始される。新しい名前空間は親プロセ"
 "スの名前空間のコピーで初期化される。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:401
+#: build/C/man2/clone.2:370
+msgid "For further information on mount namespaces, see B<namespaces>(7)."
+msgstr ""
+
+#.  See https://lwn.net/Articles/543273/
+#. type: Plain text
+#: build/C/man2/clone.2:383
 msgid ""
-"Only a privileged process (one having the B<CAP_SYS_ADMIN> capability)  may "
-"specify the B<CLONE_NEWNS> flag.  It is not permitted to specify both "
-"B<CLONE_NEWNS> and B<CLONE_FS> in the same B<clone>()  call."
+"Only a privileged process (B<CAP_SYS_ADMIN>)  can employ B<CLONE_NEWNS>.  It "
+"is not permitted to specify both B<CLONE_NEWNS> and B<CLONE_FS> in the same "
+"B<clone>()  call."
 msgstr ""
-"特権プロセス (B<CAP_SYS_ADMIN> ケーパビリティを持つプロセス) のみが "
-"B<CLONE_NEWNS> フラグを指定することができる。 一つの B<clone>()  呼び出し"
-"で、 B<CLONE_NEWNS> と B<CLONE_FS> の両方を指定することはできない。"
+"特権プロセス (B<CAP_SYS_ADMIN>) のみが B<CLONE_NEWNS> を指定することができ"
+"る。 一つの B<clone>()  呼び出しで、 B<CLONE_NEWNS> と B<CLONE_FS> の両方を指"
+"定することはできない。"
 
 #. type: TP
-#: build/C/man2/clone.2:401
+#: build/C/man2/clone.2:383
 #, no-wrap
 msgid "B<CLONE_NEWPID> (since Linux 2.6.24)"
 msgstr "B<CLONE_NEWPID> (Linux 2.6.24 以降)"
@@ -1439,10 +1398,10 @@ msgstr "B<CLONE_NEWPID> (Linux 2.6.24 以降)"
 #.  The primary kernel commit is 30e49c263e36341b60b735cbef5ca37912549264
 #.  Author: Pavel Emelyanov <xemul@openvz.org>
 #. type: Plain text
-#: build/C/man2/clone.2:418
+#: build/C/man2/clone.2:400
 msgid ""
 "If B<CLONE_NEWPID> is set, then create the process in a new PID namespace.  "
-"If this flag is not set, then (as with B<fork>(2)), the process is created "
+"If this flag is not set, then (as with B<fork>(2))  the process is created "
 "in the same PID namespace as the calling process.  This flag is intended for "
 "the implementation of containers."
 msgstr ""
@@ -1452,103 +1411,100 @@ msgstr ""
 "装での使用を意図して用意されたものである。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:427
+#: build/C/man2/clone.2:405
+msgid ""
+"For further information on PID namespaces, see B<namespaces>(7)  and "
+"B<pid_namespaces>(7)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:414
+msgid ""
+"Only a privileged process (B<CAP_SYS_ADMIN>)  can employ B<CLONE_NEWPID>.  "
+"This flag can't be specified in conjunction with B<CLONE_THREAD> or "
+"B<CLONE_PARENT>."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/clone.2:414
+#, no-wrap
+msgid "B<CLONE_NEWUSER>"
+msgstr "B<CLONE_NEWUSER>"
+
+#. type: Plain text
+#: build/C/man2/clone.2:424
 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<fork>(2), B<vfork>(2), or B<clone>()  will produce processes with PIDs "
-"that are unique within the namespace."
+"(This flag first became meaningful for B<clone>()  in Linux 2.6.23, the "
+"current B<clone()> semantics were merged in Linux 3.5, and the final pieces "
+"to make the user namespaces completely usable were merged in Linux 3.8.)"
 msgstr ""
-"PID 名前空間は、PID に関して分離された環境を提供するものである。 新しい名前空"
-"間における PID は 1 から始まり (これはスタンドアロンのシステムと似たような感"
-"じ)、 B<fork>(2), B<vfork>(2), B<clone>()  を呼び出すと、その名前空間で一意"
-"な PID を持ったプロセスが作成される。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:439
+#: build/C/man2/clone.2:431
+#, fuzzy
+#| msgid ""
+#| "If B<CLONE_NEWNET> is set, then create the process in a new network "
+#| "namespace.  If this flag is not set, then (as with B<fork>(2)), the "
+#| "process is created in the same network namespace as the calling process.  "
+#| "This flag is intended for the implementation of containers."
 msgid ""
-"The first process created in a new namespace (i.e., the process created "
-"using the B<CLONE_NEWPID> flag) has the PID 1, and is the \"init\" process "
-"for the namespace.  Children that are orphaned within the namespace will be "
-"reparented to this process rather than B<init>(8).  Unlike the traditional "
-"B<init> process, the \"init\" process of a PID namespace can terminate, and "
-"if it does, all of the processes in the namespace are terminated."
+"If B<CLONE_NEWUSER> is set, then create the process in a new user "
+"namespace.  If this flag is not set, then (as with B<fork>(2))  the process "
+"is created in the same user namespace as the calling process."
 msgstr ""
-"新しい名前空間で作成される最初のプロセス (つまり、 B<CLONE_NEWPID> フラグを"
-"使って作成されたプロセス) の PID は 1 であり、 このプロセスはその名前空間にお"
-"ける \"init\" プロセスとなる。 この名前空間において孤児 (orphaned) となった子"
-"プロセスについては、 B<init>(8)  ではなくこのプロセスが親プロセスとなる。 昔"
-"ながらの B<init> プロセスとは違い、PID 名前空間の \"init\" プロセスは終了 "
-"(terminated) する ことができ、その場合には、この名前空間の全てのプロセスが終"
-"了される。"
+"B<CLONE_NEWNET> が設定された場合、新しいネットワーク名前空間 (network "
+"namaspace)  でプロセスを作成する。 このフラグが設定されていない場合、 "
+"(B<fork>(2)  の場合と同様) 呼び出し元のプロセスと同じネットワーク名前空間でプ"
+"ロセスが 作成される。 このフラグは、コンテナの実装での使用を意図して用意され"
+"たものである。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:458
+#: build/C/man2/clone.2:436
 msgid ""
-"PID namespaces form a hierarchy.  When a new PID namespace is created, the "
-"processes in that namespace are visible in the PID namespace of the process "
-"that created the new namespace; analogously, if the parent PID namespace is "
-"itself the child of another PID namespace, then processes in the child and "
-"parent PID namespaces will both be visible in the grandparent PID "
-"namespace.  Conversely, the processes in the \"child\" PID namespace do not "
-"see the processes in the parent namespace.  The existence of a namespace "
-"hierarchy means that each process may now have multiple PIDs: one for each "
-"namespace in which it is visible; each of these PIDs is unique within the "
-"corresponding namespace.  (A call to B<getpid>(2)  always returns the PID "
-"associated with the namespace in which the process lives.)"
+"For further information on user namespaces, see B<namespaces>(7)  and "
+"B<user_namespaces>(7)"
 msgstr ""
-"PID 名前空間間には階層構造が形成される。 新しい PID 名前空間が作成されると、"
-"その名前空間のプロセスは、 新しい名前空間を作成したプロセスの PID 名前空間で"
-"見える。 同様に、親の PID 名前空間自体が別の PID 名前空間の子供の場合には、 "
-"子供の PID 名前空間と親の PID 名前空間のプロセスはどれも 親の親の PID 名前空"
-"間でも見えることになる。 反対に、「子供」の PID 名前空間のプロセスには、 親の"
-"名前空間のプロセスは見えない。 名前空間に階層構造が存在するということは、個々"
-"のプロセスは 複数の PID を持つということを意味している。 そのプロセスが見える"
-"名前空間一つにつき PID が一つあり、 それぞれの PID は対応する名前空間において"
-"一意である。 (B<getpid>(2)  を呼び出すと、常にそのプロセスが存在している名前"
-"空間における PID が返される。)"
 
-#.  mount -t proc proc /proc
+#.  Before Linux 2.6.29, it appears that only CAP_SYS_ADMIN was needed
 #. type: Plain text
-#: build/C/man2/clone.2:474
+#: build/C/man2/clone.2:447
 msgid ""
-"After creating the new namespace, it is useful for the child to change its "
-"root directory and mount a new procfs instance at I</proc> so that tools "
-"such as B<ps>(1)  work correctly.  (If B<CLONE_NEWNS> is also included in "
-"I<flags>, then it isn't necessary to change the root directory: a new procfs "
-"instance can be mounted directly over I</proc>.)"
+"Before Linux 3.8, use of B<CLONE_NEWUSER> required that the caller have "
+"three capabilities: B<CAP_SYS_ADMIN>, B<CAP_SETUID>, and B<CAP_SETGID>.  "
+"Starting with Linux 3.8, no privileges are needed to create a user namespace."
 msgstr ""
-"新しい名前空間の作成後には、 子プロセスにおいて、 B<ps>(1)  といったツールが"
-"正しく動作するように、 自身の root ディレクトリを変更し、 I</proc> に新しい "
-"procfs インスタンスをマウントするのがよいだろう。 (B<flags> に "
-"B<CLONE_NEWNS> も指定されていた場合には、root ディレクトリを変更する必要はな"
-"く、 いきなり新しい procfs インスタンスを I</proc> にマウントすることができ"
-"る。)"
 
+#.  commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71
+#.  https://lwn.net/Articles/543273/
+#.  The fix actually went into 3.9 and into 3.8.3. However, user namespaces
+#.  were, for practical purposes, unusable in earlier 3.8.x because of the
+#.  various filesystems that didn't support userns.
 #. type: Plain text
-#: build/C/man2/clone.2:481
+#: build/C/man2/clone.2:461
 msgid ""
-"Use of this flag requires: a kernel configured with the B<CONFIG_PID_NS> "
-"option and that the process be privileged (B<CAP_SYS_ADMIN>).  This flag "
-"can't be specified in conjunction with B<CLONE_THREAD>."
+"This flag can't be specified in conjunction with B<CLONE_THREAD> or "
+"B<CLONE_PARENT>.  For security reasons, B<CLONE_NEWUSER> cannot be specified "
+"in conjunction with B<CLONE_FS>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:464 build/C/man2/unshare.2:209
+msgid "For further information on user namespaces, see B<user_namespaces>(7)."
 msgstr ""
-"このフラグを使用するためには、 カーネルでオプション B<CONFIG_PID_NS> を有効に"
-"なっていること、 プロセスが特権 (B<CAP_SYS_ADMIN>)  を持っていることが必要で"
-"ある。 このフラグは B<CLONE_THREAD> と組み合わせて使うことはできない。"
 
 #. type: TP
-#: build/C/man2/clone.2:481 build/C/man2/unshare.2:149
+#: build/C/man2/clone.2:464 build/C/man2/unshare.2:209
 #, no-wrap
 msgid "B<CLONE_NEWUTS> (since Linux 2.6.19)"
 msgstr "B<CLONE_NEWUTS> (Linux 2.6.19 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:493
+#: build/C/man2/clone.2:476
 msgid ""
 "If B<CLONE_NEWUTS> is set, then create the process in a new UTS namespace, "
 "whose identifiers are initialized by duplicating the identifiers from the "
 "UTS namespace of the calling process.  If this flag is not set, then (as "
-"with B<fork>(2)), the process is created in the same UTS namespace as the "
+"with B<fork>(2))  the process is created in the same UTS namespace as the "
 "calling process.  This flag is intended for the implementation of containers."
 msgstr ""
 "B<CLONE_NEWUTS> が設定された場合、新しい UTS 名前空間でプロセスを作成する。 "
@@ -1558,7 +1514,7 @@ msgstr ""
 "る。 このフラグは、コンテナの実装での使用を意図して用意されたものである。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:504
+#: build/C/man2/clone.2:487
 msgid ""
 "A UTS namespace is the set of identifiers returned by B<uname>(2); among "
 "these, the domain name and the hostname can be modified by "
@@ -1572,23 +1528,24 @@ msgstr ""
 "のすべての プロセスに見えるが、別の UTS 名前空間のプロセスには見えない。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:509
+#: build/C/man2/clone.2:492
 msgid ""
-"Use of this flag requires: a kernel configured with the B<CONFIG_UTS_NS> "
-"option and that the process be privileged (B<CAP_SYS_ADMIN>)."
+"Only a privileged process (B<CAP_SYS_ADMIN>)  can employ B<CLONE_NEWUTS>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:495
+msgid "For further information on UTS namespaces, see B<namespaces>(7)."
 msgstr ""
-"このフラグを使用するためには、 カーネルでオプション B<CONFIG_UTS_NS> を有効に"
-"なっていること、 プロセスが特権 (B<CAP_SYS_ADMIN>)  を持っていることが必要で"
-"ある。"
 
 #. type: TP
-#: build/C/man2/clone.2:509
+#: build/C/man2/clone.2:495
 #, no-wrap
 msgid "B<CLONE_PARENT> (since Linux 2.3.12)"
 msgstr "B<CLONE_PARENT> (Linux 2.3.12 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:516
+#: build/C/man2/clone.2:502
 msgid ""
 "If B<CLONE_PARENT> is set, then the parent of the new child (as returned by "
 "B<getppid>(2))  will be the same as that of the calling process."
@@ -1597,7 +1554,7 @@ msgstr ""
 "プロセスは呼び出し元のプロセスの親プロセスと同じになる。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:522
+#: build/C/man2/clone.2:508
 msgid ""
 "If B<CLONE_PARENT> is not set, then (as with B<fork>(2))  the child's parent "
 "is the calling process."
@@ -1606,7 +1563,7 @@ msgstr ""
 "プロセスがその子供の親になる。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:530
+#: build/C/man2/clone.2:516
 msgid ""
 "Note that it is the parent process, as returned by B<getppid>(2), which is "
 "signaled when the child terminates, so that if B<CLONE_PARENT> is set, then "
@@ -1618,13 +1575,13 @@ msgstr ""
 "ロセスではなく呼び出し元のプロセスの 親プロセスにシグナルが送られる。"
 
 #. type: TP
-#: build/C/man2/clone.2:530
+#: build/C/man2/clone.2:516
 #, no-wrap
 msgid "B<CLONE_PARENT_SETTID> (since Linux 2.5.49)"
 msgstr "B<CLONE_PARENT_SETTID> (Linux 2.5.49 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:538
+#: build/C/man2/clone.2:524
 msgid ""
 "Store child thread ID at location I<ptid> in parent and child memory.  (In "
 "Linux 2.5.32-2.5.48 there was a flag B<CLONE_SETTID> that did this.)"
@@ -1634,13 +1591,13 @@ msgstr ""
 "いうフラグが存在した。)"
 
 #. type: TP
-#: build/C/man2/clone.2:538
+#: build/C/man2/clone.2:524
 #, no-wrap
 msgid "B<CLONE_PID> (obsolete)"
 msgstr "B<CLONE_PID> (廃止予定)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:549
+#: build/C/man2/clone.2:535
 msgid ""
 "If B<CLONE_PID> is set, the child process is created with the same process "
 "ID as the calling process.  This is good for hacking the system, but "
@@ -1653,13 +1610,13 @@ msgstr ""
 "0) だけがこのフラグを指定できる。 Linux 2.5.16 で削除された。"
 
 #. type: TP
-#: build/C/man2/clone.2:549
+#: build/C/man2/clone.2:535
 #, no-wrap
 msgid "B<CLONE_PTRACE> (since Linux 2.2)"
 msgstr "B<CLONE_PTRACE> (Linux 2.2 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:556
+#: build/C/man2/clone.2:542
 msgid ""
 "If B<CLONE_PTRACE> is specified, and the calling process is being traced, "
 "then trace the child also (see B<ptrace>(2))."
@@ -1668,13 +1625,13 @@ msgstr ""
 "場合、子プロセスも 同様に追跡される。 (B<ptrace>(2)  を参照のこと)"
 
 #. type: TP
-#: build/C/man2/clone.2:556
+#: build/C/man2/clone.2:542
 #, no-wrap
 msgid "B<CLONE_SETTLS> (since Linux 2.5.32)"
 msgstr "B<CLONE_SETTLS> (Linux 2.5.32 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:563
+#: build/C/man2/clone.2:549
 msgid ""
 "The I<newtls> argument is the new TLS (Thread Local Storage) descriptor.  "
 "(See B<set_thread_area>(2).)"
@@ -1683,13 +1640,13 @@ msgstr ""
 "(B<set_thread_area>(2)  を参照のこと)"
 
 #. type: TP
-#: build/C/man2/clone.2:563
+#: build/C/man2/clone.2:549
 #, no-wrap
 msgid "B<CLONE_SIGHAND> (since Linux 2.0)"
 msgstr "B<CLONE_SIGHAND> (Linux 2.0 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:579
+#: build/C/man2/clone.2:565
 msgid ""
 "If B<CLONE_SIGHAND> is set, the calling process and the child process share "
 "the same table of signal handlers.  If the calling process or child process "
@@ -1700,16 +1657,16 @@ msgid ""
 "B<sigprocmask>(2)  without affecting the other process."
 msgstr ""
 "B<CLONE_SIGHAND> が設定された場合、呼び出し元のプロセスと子プロセスは同じシグ"
-"ã\83\8aã\83«ã\83»ã\83\8fã\83³ ã\83\89ã\83©ã\81®ã\83\86ã\83¼ã\83\96ã\83«ã\82\92å\85±æ\9c\89ã\81\99ã\82\8bã\80\82å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81¾ã\81\9fã\81¯å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\81©"
-"ã\81¡ã\82\89ã\81\8bã\81\8c B<sigaction>(2)  ã\82\92å\91¼ã\81³å\87ºã\81\97ã\81¦ã\82·ã\82°ã\83\8aã\83«ã\81«å¯¾å¿\9cã\81\99ã\82\8bå\8b\95ä½\9cã\82\92å¤\89æ\9b´ã\81\97ã\81\9få ´å\90\88ã\80\81 "
-"ã\82\82ã\81\86ä¸\80æ\96¹ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\82·ã\82°ã\83\8aã\83«å\8b\95ä½\9cã\82\82å¤\89æ\9b´ã\81\95ã\82\8cã\82\8bã\80\82 ä½\86ã\81\97ã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81¨å­\90"
-"ã\83\97ã\83­ã\82»ã\82¹ã\81¯ã\80\81 ã\83\97ã\83­ã\82»ã\82¹æ¯\8eã\81«ã\80\81ã\82·ã\82°ã\83\8aã\83«ã\83»ã\83\9eã\82¹ã\82¯ (signal mask) ã\81¨å\87¦ç\90\86å¾\85ã\81¡ã\82·ã\82°ã\83\8aã\83«"
-"の集合 を持っている。このため、あるプロセスは、 B<sigprocmask>(2)  を使用し"
-"ã\81¦ã\80\81ã\82\82ã\81\86ä¸\80æ\96¹ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81«å½±é\9f¿ã\82\92ä¸\8eã\81\88ã\81\9aã\81« ã\82·ã\82°ã\83\8aã\83«ã\82\92ç¦\81æ­¢ (block) ã\81\97ã\81\9fã\82\8a許å\8f¯ "
-"(unblock) したりできる。"
+"ã\83\8aã\83«ã\83\8fã\83³ ã\83\89ã\83©ã\81®ã\83\86ã\83¼ã\83\96ã\83«ã\82\92å\85±æ\9c\89ã\81\99ã\82\8bã\80\82å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81¾ã\81\9fã\81¯å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\81©ã\81¡"
+"ã\82\89ã\81\8bã\81\8c B<sigaction>(2)  ã\82\92å\91¼ã\81³å\87ºã\81\97ã\81¦ã\82·ã\82°ã\83\8aã\83«ã\81«å¯¾å¿\9cã\81\99ã\82\8bå\8b\95ä½\9cã\82\92å¤\89æ\9b´ã\81\97ã\81\9få ´å\90\88ã\80\81 ã\82\82"
+"ã\81\86ä¸\80æ\96¹ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\82·ã\82°ã\83\8aã\83«å\8b\95ä½\9cã\82\82å¤\89æ\9b´ã\81\95ã\82\8cã\82\8bã\80\82 ä½\86ã\81\97ã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81¨å­\90ã\83\97"
+"ã\83­ã\82»ã\82¹ã\81¯ã\80\81 ã\83\97ã\83­ã\82»ã\82¹æ¯\8eã\81«ã\80\81ã\82·ã\82°ã\83\8aã\83«ã\83\9eã\82¹ã\82¯ (signal mask) ã\81¨å\87¦ç\90\86å¾\85ã\81¡ã\82·ã\82°ã\83\8aã\83«ã\81®é\9b\86"
+"合 を持っている。このため、あるプロセスは、 B<sigprocmask>(2)  を使用して、も"
+"ã\81\86ä¸\80æ\96¹ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81«å½±é\9f¿ã\82\92ä¸\8eã\81\88ã\81\9aã\81« ã\82·ã\82°ã\83\8aã\83«ã\82\92ç¦\81æ­¢ (block) ã\81\97ã\81\9fã\82\8a許å\8f¯ (unblock) "
+"したりできる。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:590
+#: build/C/man2/clone.2:576
 msgid ""
 "If B<CLONE_SIGHAND> is not set, the child process inherits a copy of the "
 "signal handlers of the calling process at the time B<clone>()  is called.  "
@@ -1717,12 +1674,12 @@ msgid ""
 "effect on the other process."
 msgstr ""
 "B<CLONE_SIGHAND> が設定されていない場合、子プロセスは B<clone>()  が実行され"
-"ã\81\9fæ\99\82ç\82¹ã\81§ã\81®ã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\82·ã\82°ã\83\8aã\83«ã\83»ã\83\8fã\83³ã\83\89ã\83©ã\81® ã\82³ã\83\94ã\83¼ã\82\92ç¶\99æ\89¿ã\81\99ã\82\8bã\80\82ã\81\93ã\82\8c"
-"以降は、一方のプロセスが B<sigaction>(2)  を呼び出しても、もう一方のプロセス"
-"ã\81«ã\81¯å½±é\9f¿ã\82\92ä¸\8eã\81\88ã\81ªã\81\84ã\80\82"
+"ã\81\9fæ\99\82ç\82¹ã\81§ã\81®ã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\81® ã\82³ã\83\94ã\83¼ã\82\92ç¶\99æ\89¿ã\81\99ã\82\8bã\80\82ã\81\93ã\82\8c以"
+"降は、一方のプロセスが B<sigaction>(2)  を呼び出しても、もう一方のプロセスに"
+"は影響を与えない。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:598
+#: build/C/man2/clone.2:584
 msgid ""
 "Since Linux 2.6.0-test6, I<flags> must also include B<CLONE_VM> if "
 "B<CLONE_SIGHAND> is specified"
@@ -1731,13 +1688,13 @@ msgstr ""
 "も I<flags> に含めなければならない。"
 
 #. type: TP
-#: build/C/man2/clone.2:598
+#: build/C/man2/clone.2:584
 #, no-wrap
 msgid "B<CLONE_STOPPED> (since Linux 2.6.0-test2)"
 msgstr "B<CLONE_STOPPED> (Linux 2.6.0-test2 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:607
+#: build/C/man2/clone.2:593
 msgid ""
 "If B<CLONE_STOPPED> is set, then the child is initially stopped (as though "
 "it was sent a B<SIGSTOP> signal), and must be resumed by sending it a "
@@ -1749,7 +1706,7 @@ msgstr ""
 
 #.  glibc 2.8 removed this defn from bits/sched.h
 #. type: Plain text
-#: build/C/man2/clone.2:615
+#: build/C/man2/clone.2:601
 msgid ""
 "This flag was I<deprecated> from Linux 2.6.25 onward, and was I<removed> "
 "altogether in Linux 2.6.38."
@@ -1758,38 +1715,41 @@ msgstr ""
 "Linux 2.6.38 で完全にI<削除>された。"
 
 #. type: TP
-#: build/C/man2/clone.2:615
+#: build/C/man2/clone.2:601
 #, no-wrap
 msgid "B<CLONE_SYSVSEM> (since Linux 2.5.10)"
 msgstr "B<CLONE_SYSVSEM> (Linux 2.5.10 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:624
+#: build/C/man2/clone.2:619
 #, fuzzy
 #| msgid ""
 #| "If B<CLONE_SYSVSEM> is set, then the child and the calling process share "
-#| "a single list of System V semaphore undo values (see B<semop>(2)).  If "
+#| "a single list of System\\ V semaphore undo values (see B<semop>(2)).  If "
 #| "this flag is not set, then the child has a separate undo list, which is "
 #| "initially empty."
 msgid ""
 "If B<CLONE_SYSVSEM> is set, then the child and the calling process share a "
-"single list of System\\ V semaphore undo values (see B<semop>(2)).  If this "
-"flag is not set, then the child has a separate undo list, which is initially "
-"empty."
+"single list of System V semaphore adjustment (I<semadj>)  values (see "
+"B<semop>(2)).  In this case, the shared list accumulates I<semadj> values "
+"across all processes sharing the list, and semaphore adjustments are "
+"performed only when the last process that is sharing the list terminates (or "
+"ceases sharing the list using B<unshare>(2)).  If this flag is not set, then "
+"the child has a separate I<semadj> list that is initially empty."
 msgstr ""
 "B<CLONE_SYSVSEM> がセットされると、子プロセスと呼び出し元プロセスは一つの "
-"System V セマフォのアンドゥ値リスト (B<semop>(2)  参照) を共有する。このフラ"
-"ã\82°ã\81\8cã\82»ã\83\83ã\83\88ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81°ã\80\81 å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81¯ç\8b¬è\87ªã\81®ã\82¢ã\83³ã\83\89ã\82¥ã\83ªã\82¹ã\83\88ã\82\92æ\8c\81ã\81¤ (ã\83ªã\82¹ã\83\88ã\81®"
-"初期値は空である)。"
+"System\\ V セマフォのアンドゥ値リスト (B<semop>(2)  参照) を共有する。このフ"
+"ã\83©ã\82°ã\81\8cã\82»ã\83\83ã\83\88ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81°ã\80\81 å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81¯ç\8b¬è\87ªã\81®ã\82¢ã\83³ã\83\89ã\82¥ã\83ªã\82¹ã\83\88ã\82\92æ\8c\81ã\81¤ (ã\83ªã\82¹ã\83\88"
+"初期値は空である)。"
 
 #. type: TP
-#: build/C/man2/clone.2:624
+#: build/C/man2/clone.2:619
 #, no-wrap
 msgid "B<CLONE_THREAD> (since Linux 2.4.0-test8)"
 msgstr "B<CLONE_THREAD> (Linux 2.4.0-test8以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:633
+#: build/C/man2/clone.2:628
 msgid ""
 "If B<CLONE_THREAD> is set, the child is placed in the same thread group as "
 "the calling process.  To make the remainder of the discussion of "
@@ -1797,26 +1757,26 @@ msgid ""
 "processes within a thread group."
 msgstr ""
 "B<CLONE_THREAD> が設定された場合、子プロセスは呼び出し元のプロセスと同じス"
-"ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81« ç½®ã\81\8bã\82\8cã\82\8bã\80\82 B<CLONE_THREAD> ã\81«ã\81¤ã\81\84ã\81¦ã\81®ä»¥é\99\8dã\81®è­°è«\96ã\82\92読ã\81¿ã\82\84ã\81\99"
-"ã\81\8fã\81\99ã\82\8bã\81\9fã\82\81ã\80\81 ã\80\8cã\82¹ã\83¬ã\83\83ã\83\89ã\80\8dã\81¨ã\81\84ã\81\86ç\94¨èª\9eã\81¯ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81®ä¸­ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\82\92 å\8f\82ç\85§"
-"ã\81\99ã\82\8bã\81®ã\81«ä½¿ã\81\86ã\81\93ã\81¨ã\81¨ã\81\99ã\82\8bã\80\82"
+"ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81« ç½®ã\81\8bã\82\8cã\82\8bã\80\82 B<CLONE_THREAD> ã\81«ã\81¤ã\81\84ã\81¦ã\81®ä»¥é\99\8dã\81®è­°è«\96ã\82\92読ã\81¿ã\82\84ã\81\99ã\81\8f"
+"ã\81\99ã\82\8bã\81\9fã\82\81ã\80\81 ã\80\8cã\82¹ã\83¬ã\83\83ã\83\89ã\80\8dã\81¨ã\81\84ã\81\86ç\94¨èª\9eã\81¯ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81®ä¸­ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\82\92 å\8f\82ç\85§ã\81\99ã\82\8b"
+"のに使うこととする。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:641
+#: build/C/man2/clone.2:636
 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<getpid>(2)  return the TGID of the caller."
 msgstr ""
-"ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81¯ã\80\81 ã\82¹ã\83¬ã\83\83ã\83\89é\9b\86å\90\88ã\81§ä¸\80ã\81¤ã\81® PID ã\82\92å\85±æ\9c\89ã\81\99ã\82\8bã\81¨ã\81\84ã\81\86 POSIX ã\82¹ã\83¬ã\83\83"
-"ã\83\89ã\81®æ¦\82念ã\82\92ã\82µã\83\9dã\83¼ã\83\88ã\81\99ã\82\8bã\81\9fã\82\81ã\81« Linux 2.4 ã\81«å\8a ã\81\88ã\82\89ã\82\8cã\81\9fæ©\9fè\83½ã\81§ã\81\82ã\81£ã\81\9fã\80\82 å\86\85é\83¨ç\9a\84ã\81«"
-"ã\81¯ã\80\81ã\81\93ã\81®å\85±æ\9c\89 PID ã\81¯ã\81\84ã\82\8fã\82\86ã\82\8bã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81® ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97è­\98å\88¥å­\90 "
-"(TGID) である。 Linux 2.4 以降では、 B<getpid>(2)  の呼び出しではそのプロセス"
-"ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\83»グループ ID を返す。"
+"ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81¯ã\80\81 ã\82¹ã\83¬ã\83\83ã\83\89é\9b\86å\90\88ã\81§ä¸\80ã\81¤ã\81® PID ã\82\92å\85±æ\9c\89ã\81\99ã\82\8bã\81¨ã\81\84ã\81\86 POSIX ã\82¹ã\83¬ã\83\83ã\83\89"
+"ã\81®æ¦\82念ã\82\92ã\82µã\83\9dã\83¼ã\83\88ã\81\99ã\82\8bã\81\9fã\82\81ã\81« Linux 2.4 ã\81«å\8a ã\81\88ã\82\89ã\82\8cã\81\9fæ©\9fè\83½ã\81§ã\81\82ã\81£ã\81\9fã\80\82 å\86\85é\83¨ç\9a\84ã\81«ã\81¯ã\80\81"
+"ã\81\93ã\81®å\85±æ\9c\89 PID ã\81¯ã\81\84ã\82\8fã\82\86ã\82\8bã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81® ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97è­\98å\88¥å­\90 (TGID) "
+"である。 Linux 2.4 以降では、 B<getpid>(2)  の呼び出しではそのプロセスのス"
+"ã\83¬ã\83\83ã\83\89グループ ID を返す。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:650
+#: build/C/man2/clone.2:645
 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 "
@@ -1828,18 +1788,18 @@ msgstr ""
 "返され、 スレッドは自分自身の TID を B<gettid>(2)  で取得できる。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:660
+#: build/C/man2/clone.2:655
 msgid ""
 "When a call is made to B<clone>()  without specifying B<CLONE_THREAD>, 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<leader> of the new thread group."
 msgstr ""
 "B<CLONE_THREAD> を指定せずに B<clone>()  の呼び出しが行われると、 生成された"
-"ã\82¹ã\83¬ã\83\83ã\83\89ã\81¯ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81® TID ã\81¨å\90\8cã\81\98å\80¤ã\81® TGID ã\82\92æ\8c\81ã\81¤ æ\96°ã\81\97ã\81\84ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97"
-"に置かれる。このスレッドは 新しいスレッド・グループの「リーダー」である。"
+"ã\82¹ã\83¬ã\83\83ã\83\89ã\81¯ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81® TID ã\81¨å\90\8cã\81\98å\80¤ã\81® TGID ã\82\92æ\8c\81ã\81¤ æ\96°ã\81\97ã\81\84ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81«"
+"置かれる。このスレッドは 新しいスレッドグループの「リーダー」である。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:682
+#: build/C/man2/clone.2:677
 msgid ""
 "A new thread created with B<CLONE_THREAD> has the same parent process as the "
 "caller of B<clone>()  (i.e., like B<CLONE_PARENT>), so that calls to "
@@ -1851,45 +1811,45 @@ msgid ""
 msgstr ""
 "B<CLONE_THREAD> を指定して作成された新しいスレッドは、 (B<CLONE_PARENT> の場"
 "合と同様に)  B<clone>()  を呼び出し元と同じ親プロセスを持つ。 そのため、 "
-"B<getppid>(2)  ã\82\92å\91¼ã\81¶ã\81¨ã\80\81ä¸\80ã\81¤ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81«å±\9eã\81\99ã\82¹ã\83¬ã\83\83ã\83\89ã\81¯å\85¨ã\81¦å\90\8cã\81\98å\80¤ã\82\92"
-"す。 B<CLONE_THREAD> で作られたスレッドが終了した際に、 そのスレッドを "
+"B<getppid>(2)  ã\82\92å\91¼ã\81¶ã\81¨ã\80\81ä¸\80ã\81¤ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81«å±\9eã\81\99ã\82¹ã\83¬ã\83\83ã\83\89ã\81¯å\85¨ã\81¦å\90\8cã\81\98å\80¤ã\82\92è¿\94"
+"す。 B<CLONE_THREAD> で作られたスレッドが終了した際に、 そのスレッドを "
 "B<clone>()  を使って生成したスレッドには B<SIGCHLD> (もしくは他の終了シグナ"
 "ル) は送信されない。 また、 B<wait>(2)  を使って終了したスレッドの状態を取得"
 "することもできない (そのようなスレッドは I<detached> (分離された) といわれ"
 "る)。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:687
+#: build/C/man2/clone.2:682
 msgid ""
 "After all of the threads in a thread group terminate the parent process of "
 "the thread group is sent a B<SIGCHLD> (or other termination) signal."
 msgstr ""
-"ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81«å±\9eã\81\99å\85¨ã\81¦ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81\8cçµ\82äº\86ã\81\97ã\81\9få¾\8cã\80\81 ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81®"
-"親プロセスに B<SIGCHLD> (もしくは他の終了シグナル) が送られる。"
+"ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81«å±\9eã\81\99å\85¨ã\81¦ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81\8cçµ\82äº\86ã\81\97ã\81\9få¾\8cã\80\81 ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81®è¦ªã\83\97"
+"ロセスに B<SIGCHLD> (もしくは他の終了シグナル) が送られる。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:692
+#: build/C/man2/clone.2:687
 msgid ""
 "If any of the threads in a thread group performs an B<execve>(2), then all "
 "threads other than the thread group leader are terminated, and the new "
 "program is executed in the thread group leader."
 msgstr ""
-"ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81«å±\9eã\81\99ã\81\84ã\81\9aã\82\8cã\81\8bã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81\8c B<execve>(2)  ã\82\92å®\9fè¡\8cã\81\99ã\82\8bã\81¨ã\80\81ã\82¹"
-"ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\83»ã\83ªã\83¼ã\83\80ã\83¼ä»¥å¤\96ã\81®å\85¨ã\81¦ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81¯ çµ\82äº\86ã\81\95ã\82\8cã\80\81æ\96°ã\81\97ã\81\84ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\81\9d"
-"ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\83»リーダーの下で 実行される。"
+"ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81«å±\9eã\81\99ã\81\84ã\81\9aã\82\8cã\81\8bã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81\8c B<execve>(2)  ã\82\92å®\9fè¡\8cã\81\99ã\82\8bã\81¨ã\80\81ã\82¹ã\83¬ã\83\83"
+"ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\83ªã\83¼ã\83\80ã\83¼ä»¥å¤\96ã\81®å\85¨ã\81¦ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81¯ çµ\82äº\86ã\81\95ã\82\8cã\80\81æ\96°ã\81\97ã\81\84ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\81\9dã\81®ã\82¹ã\83¬ã\83\83"
+"ã\83\89ã\82°ã\83«ã\83¼ã\83\97リーダーの下で 実行される。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:698
+#: build/C/man2/clone.2:693
 msgid ""
 "If one of the threads in a thread group creates a child using B<fork>(2), "
 "then any thread in the group can B<wait>(2)  for that child."
 msgstr ""
-"ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81«å±\9eã\81\99ã\82¹ã\83¬ã\83\83ã\83\89ã\81®ä¸\80ã\81¤ã\81\8c B<fork>(2)  ã\82\92使ã\81£ã\81¦å­\90ã\83\97ã\83­ã\82»ã\82¹ã\82\92ä½\9cæ\88\90"
-"ã\81\97ã\81\9få ´å\90\88ã\80\81 ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81®ã\81©ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81§ã\81\82ã\81£ã\81¦ã\82\82 ã\81\9dã\81®å­\90ä¾\9bã\82\92 B<wait>(2)  "
-"ã\81§ã\81\8dã\82\8bã\80\82"
+"ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81«å±\9eã\81\99ã\82¹ã\83¬ã\83\83ã\83\89ã\81®ä¸\80ã\81¤ã\81\8c B<fork>(2)  ã\82\92使ã\81£ã\81¦å­\90ã\83\97ã\83­ã\82»ã\82¹ã\82\92ä½\9cæ\88\90ã\81\97"
+"ã\81\9få ´å\90\88ã\80\81 ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81®ã\81©ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81§ã\81\82ã\81£ã\81¦ã\82\82 ã\81\9dã\81®å­\90ä¾\9bã\82\92 B<wait>(2)  ã\81§ã\81\8d"
+"る。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:711
+#: build/C/man2/clone.2:706
 msgid ""
 "Since Linux 2.5.35, I<flags> must also include B<CLONE_SIGHAND> if "
 "B<CLONE_THREAD> is specified (and note that, since Linux 2.6.0-test6, "
@@ -1901,28 +1861,28 @@ msgstr ""
 "こと)。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:716
+#: build/C/man2/clone.2:711
 msgid ""
 "Signals may be sent to a thread group as a whole (i.e., a TGID) using "
 "B<kill>(2), or to a specific thread (i.e., TID) using B<tgkill>(2)."
 msgstr ""
-"B<kill>(2)  ã\82\92使ã\81£ã\81¦ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97å\85¨ä½\93 (ã\81¤ã\81¾ã\82\8a TGID) ã\81«ã\82·ã\82°ã\83\8aã\83«ã\82\92é\80\81ã\82\8bã\81\93ã\81¨"
-"ã\82\82ã\81§ã\81\8dã\82\8cã\81°ã\80\81 B<tgkill>(2)  ã\82\92使ã\81£ã\81¦ç\89¹å®\9aã\81®ã\82¹ã\83¬ã\83\83ã\83\89 (ã\81¤ã\81¾ã\82\8a TID) ã\81«ã\82·ã\82°ã\83\8aã\83«ã\82\92é\80\81"
-"ã\82\8bã\81\93ã\81¨ã\82\82ã\81§ã\81\8dã\82\8bã\80\82"
+"B<kill>(2)  ã\82\92使ã\81£ã\81¦ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97å\85¨ä½\93 (ã\81¤ã\81¾ã\82\8a TGID) ã\81«ã\82·ã\82°ã\83\8aã\83«ã\82\92é\80\81ã\82\8bã\81\93ã\81¨ã\82\82"
+"ã\81§ã\81\8dã\82\8cã\81°ã\80\81 B<tgkill>(2)  ã\82\92使ã\81£ã\81¦ç\89¹å®\9aã\81®ã\82¹ã\83¬ã\83\83ã\83\89 (ã\81¤ã\81¾ã\82\8a TID) ã\81«ã\82·ã\82°ã\83\8aã\83«ã\82\92é\80\81ã\82\8b"
+"こともできる。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:721
+#: build/C/man2/clone.2:716
 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 ""
 "シグナルの配送と処理はプロセス全体に影響する: ハンドラを設定していないシグナ"
-"ã\83«ã\81\8cã\81\82ã\82\8bã\82¹ã\83¬ã\83\83ã\83\89ã\81«é\85\8dé\80\81ã\81\95ã\82\8cã\82\8bã\81¨ã\80\81 ã\81\9dã\81®ã\82·ã\82°ã\83\8aã\83«ã\81¯ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81®å\85¨ã\83¡ã\83³ã\83\90ã\83¼"
-"影響を及ぼす (終了したり、停止したり、動作を継続したり、無視されたりする)。"
+"ã\83«ã\81\8cã\81\82ã\82\8bã\82¹ã\83¬ã\83\83ã\83\89ã\81«é\85\8dé\80\81ã\81\95ã\82\8cã\82\8bã\81¨ã\80\81 ã\81\9dã\81®ã\82·ã\82°ã\83\8aã\83«ã\81¯ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81®å\85¨ã\83¡ã\83³ã\83\90ã\83¼ã\81«"
+"影響を及ぼす (終了したり、停止したり、動作を継続したり、無視されたりする)。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:734
+#: build/C/man2/clone.2:729
 msgid ""
 "Each thread has its own signal mask, as set by B<sigprocmask>(2), but "
 "signals can be pending either: for the whole process (i.e., deliverable to "
@@ -1933,13 +1893,13 @@ msgid ""
 msgstr ""
 "各々のスレッドは独自のシグナルマスクを持っており、 B<sigprocmask>(2)  で設定"
 "できる。 だが、処理待ちのシグナルには、 B<kill>(2)  で送信されるプロセス全体"
-"ã\81«å¯¾ã\81\99ã\82\8bã\82\82ã\81® (ã\81¤ã\81¾ã\82\8aã\80\81ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81® ã\81©ã\81®ã\83¡ã\83³ã\83\90ã\83¼ã\81«ã\82\82é\85\8dé\80\81ã\81§ã\81\8dã\82\8bã\82\82ã\81®) "
+"に対するもの (つまり、スレッドグループの どのメンバーにも配送できるもの) "
 "と、 B<tgkill>(2)  で送信される個々のスレッドに対するものがありえる。 "
 "B<sigpending>(2)  を呼び出すと、プロセス全体に対する処理待ちシグナルと呼び出"
 "し元の スレッドに対する処理待ちシグナルを結合したシグナル集合が返される。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:746
+#: build/C/man2/clone.2:741
 msgid ""
 "If B<kill>(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 "
@@ -1948,23 +1908,23 @@ msgid ""
 "accept the same signal using B<sigwaitinfo>(2), the kernel will arbitrarily "
 "select one of these threads to receive a signal sent using B<kill>(2)."
 msgstr ""
-"B<kill>(2)  ã\82\92使ã\81£ã\81¦ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81«ã\82·ã\82°ã\83\8aã\83«ã\81\8cé\80\81ã\82\89ã\82\8cã\81\9få ´å\90\88ã\81§ã\80\81 ã\81\9dã\81®ã\82¹ã\83¬ã\83\83"
-"ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81\8cã\81\9dã\81®ã\82·ã\82°ã\83\8aã\83«ã\81«å¯¾ã\81\99ã\82\8bã\82·ã\82°ã\83\8aã\83«ã\83»ã\83\8fã\83³ã\83\89ã\83©ã\81\8c ç\99»é\8c²ã\81\95ã\82\8cã\81¦ã\81\84ã\81\9fã\81¨ã\81\8dã\81«"
-"ã\81¯ã\80\81ã\82·ã\82°ã\83\8aã\83«ã\83»ã\83\8fã\83³ã\83\89ã\83©ã\81¯ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81® ã\83¡ã\83³ã\83\90ã\83¼ã\81®ã\81\86ã\81¡ã\80\81ã\81\9fã\81 ä¸\80ã\81¤ã\81®ã\82¹ã\83¬ã\83\83"
-"ã\83\89ã\81§ã\81 ã\81\91èµ·å\8b\95ã\81\95ã\82\8cã\82\8bã\80\82ã\83\8fã\83³ã\83\89ã\83©ã\81\8c èµ·å\8b\95ã\81\95ã\82\8cã\82\8bã\82¹ã\83¬ã\83\83ã\83\89ã\81¯ã\80\81ã\81\9dã\81®ã\82·ã\82°ã\83\8aã\83«ã\82\92ç¦\81æ­¢ "
-"(block) していない メンバーの中から一つだけが勝手に (arbitrarily) 選ばれる。 "
-"ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81«å±\9eã\81\99è¤\87æ\95°ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81\8c B<sigwaitinfo>(2)  ã\82\92使ã\81£ã\81¦å\90\8cã\81\98ã\82·ã\82°"
-"ナルを待っている場合、 これらのスレッドの中から一つをカーネルが勝手に選択"
-"し、 そのスレッドが B<kill (2)> を使って送信されたシグナルを受信する。"
+"B<kill>(2)  ã\82\92使ã\81£ã\81¦ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81«ã\82·ã\82°ã\83\8aã\83«ã\81\8cé\80\81ã\82\89ã\82\8cã\81\9få ´å\90\88ã\81§ã\80\81 ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89"
+"ã\82°ã\83«ã\83¼ã\83\97ã\81\8cã\81\9dã\81®ã\82·ã\82°ã\83\8aã\83«ã\81«å¯¾ã\81\99ã\82\8bã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\81\8c ç\99»é\8c²ã\81\95ã\82\8cã\81¦ã\81\84ã\81\9fã\81¨ã\81\8dã\81«ã\81¯ã\80\81ã\82·ã\82°"
+"ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\81¯ã\82¹ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81® ã\83¡ã\83³ã\83\90ã\83¼ã\81®ã\81\86ã\81¡ã\80\81ã\81\9fã\81 ä¸\80ã\81¤ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81§ã\81 ã\81\91èµ·å\8b\95"
+"ã\81\95ã\82\8cã\82\8bã\80\82ã\83\8fã\83³ã\83\89ã\83©ã\81\8c èµ·å\8b\95ã\81\95ã\82\8cã\82\8bã\82¹ã\83¬ã\83\83ã\83\89ã\81¯ã\80\81ã\81\9dã\81®ã\82·ã\82°ã\83\8aã\83«ã\82\92ç¦\81æ­¢ (block) ã\81\97ã\81¦ã\81\84ã\81ª"
+"い メンバーの中から一つだけが勝手に (arbitrarily) 選ばれる。 スレッドグループ"
+"ã\81«å±\9eã\81\99è¤\87æ\95°ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81\8c B<sigwaitinfo>(2)  ã\82\92使ã\81£ã\81¦å\90\8cã\81\98ã\82·ã\82°ã\83\8aã\83«ã\82\92å¾\85ã\81£ã\81¦ã\81\84ã\82\8bå ´"
+"合、 これらのスレッドの中から一つをカーネルが勝手に選択し、 そのスレッドが "
+"B<kill (2)> を使って送信されたシグナルを受信する。"
 
 #. type: TP
-#: build/C/man2/clone.2:746
+#: build/C/man2/clone.2:741
 #, no-wrap
 msgid "B<CLONE_UNTRACED> (since Linux 2.5.46)"
 msgstr "B<CLONE_UNTRACED> (Linux 2.5.46 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:753
+#: build/C/man2/clone.2:748
 msgid ""
 "If B<CLONE_UNTRACED> is specified, then a tracing process cannot force "
 "B<CLONE_PTRACE> on this child process."
@@ -1973,13 +1933,13 @@ msgstr ""
 "スに B<CLONE_PTRACE> を適用することができない。"
 
 #. type: TP
-#: build/C/man2/clone.2:753
+#: build/C/man2/clone.2:748
 #, no-wrap
 msgid "B<CLONE_VFORK> (since Linux 2.2)"
 msgstr "B<CLONE_VFORK> (Linux 2.2 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:765
+#: build/C/man2/clone.2:760
 msgid ""
 "If B<CLONE_VFORK> is set, the execution of the calling process is suspended "
 "until the child releases its virtual memory resources via a call to "
@@ -1990,7 +1950,7 @@ msgstr ""
 "元のプロセスの実行は停止される。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:771
+#: build/C/man2/clone.2:766
 msgid ""
 "If B<CLONE_VFORK> is not set, then both the calling process and the child "
 "are schedulable after the call, and an application should not rely on "
@@ -2001,13 +1961,13 @@ msgstr ""
 "らのプロセスの 実行順序に依存しないようにすべきである。"
 
 #. type: TP
-#: build/C/man2/clone.2:771
+#: build/C/man2/clone.2:766
 #, no-wrap
 msgid "B<CLONE_VM> (since Linux 2.0)"
 msgstr "B<CLONE_VM> (Linux 2.0 以降)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:784
+#: build/C/man2/clone.2:779
 msgid ""
 "If B<CLONE_VM> is set, the calling process and the child process run in the "
 "same memory space.  In particular, memory writes performed by the calling "
@@ -2022,7 +1982,7 @@ msgstr ""
 "プしたりアンマップした場合、 もう一方のプロセスにも影響が及ぶ。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:793
+#: build/C/man2/clone.2:788
 msgid ""
 "If B<CLONE_VM> is not set, the child process runs in a separate copy of the "
 "memory space of the calling process at the time of B<clone>().  Memory "
@@ -2035,13 +1995,13 @@ msgstr ""
 "B<fork>(2)  の場合と同様、もう一方のプロセスには影響しない。"
 
 #. type: SS
-#: build/C/man2/clone.2:793
+#: build/C/man2/clone.2:788 build/C/man2/sched_setaffinity.2:212
 #, no-wrap
-msgid "The raw system call interface"
-msgstr "素のシステムコールのインターフェース"
+msgid "C library/kernel ABI differences"
+msgstr "C ライブラリとカーネル ABI の違い"
 
 #. type: Plain text
-#: build/C/man2/clone.2:809
+#: build/C/man2/clone.2:804
 msgid ""
 "The raw B<clone>()  system call corresponds more closely to B<fork>(2)  in "
 "that execution in the child continues from the point of the call.  As such, "
@@ -2056,7 +2016,7 @@ msgstr ""
 "ターフェースは、 おおまかには次のようになっている。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:815
+#: build/C/man2/clone.2:810
 #, no-wrap
 msgid ""
 "B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
@@ -2068,7 +2028,7 @@ msgstr ""
 "B<           struct pt_regs *>I<regs>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:826
+#: build/C/man2/clone.2:821
 msgid ""
 "Another difference for the raw system call is that the I<child_stack> "
 "argument may be zero, in which case copy-on-write semantics ensure that the "
@@ -2078,12 +2038,12 @@ msgid ""
 msgstr ""
 "生のシステムコールのもう一つの違いは、 I<child_stack> 引き数がゼロでも良いこ"
 "とである。この場合には、どちらかのプロセスが スタックを変更した時に、書き込み"
-"æ\99\82ã\82³ã\83\94ã\83¼ (copy-on-write) æ\96¹å¼\8fã\81«ã\82\88ã\82\8a å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\82¹ã\82¿ã\83\83ã\82¯ã\83»ã\83\9aã\83¼ã\82¸ã\81®ç\8b¬ç«\8bã\81\97ã\81\9fã\82³"
+"時コピー (copy-on-write) 方式により 子プロセスがスタックページの独立したコ"
 "ピーを得られることが保証される。 この場合、正常に動作させるためには、 "
 "B<CLONE_VM> オプションを指定してはならない。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:834
+#: build/C/man2/clone.2:829
 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-"
@@ -2097,18 +2057,13 @@ msgstr ""
 "クチャでは、最初と 2 番目の引き数の順番が逆である。"
 
 #. type: SS
-#: build/C/man2/clone.2:834
+#: build/C/man2/clone.2:829
 #, no-wrap
 msgid "blackfin, m68k, and sparc"
 msgstr "blackfin, m68k, sparc"
 
 #. type: Plain text
-#: build/C/man2/clone.2:838
-#, fuzzy
-#| msgid ""
-#| "The argument-passing conventions on blackfin, m68k, and sparc are "
-#| "different from descriptions above.  For details, see the kernel (and "
-#| "glibc) source."
+#: build/C/man2/clone.2:833
 msgid ""
 "The argument-passing conventions on blackfin, m68k, and sparc are different "
 "from the descriptions above.  For details, see the kernel (and glibc) source."
@@ -2117,18 +2072,18 @@ msgstr ""
 "カーネル (と glibc) のソースを参照のこと。"
 
 #. type: SS
-#: build/C/man2/clone.2:838
+#: build/C/man2/clone.2:833
 #, no-wrap
 msgid "ia64"
 msgstr "ia64"
 
 #. type: Plain text
-#: build/C/man2/clone.2:840
+#: build/C/man2/clone.2:835
 msgid "On ia64, a different interface is used:"
 msgstr "ia64 では、別のインターフェースが使用される:"
 
 #. type: Plain text
-#: build/C/man2/clone.2:847
+#: build/C/man2/clone.2:842
 #, no-wrap
 msgid ""
 "B<int __clone2(int (*>I<fn>B<)(void *), >\n"
@@ -2142,7 +2097,7 @@ msgstr ""
 "B<          /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:859
+#: build/C/man2/clone.2:854
 msgid ""
 "The prototype shown above is for the glibc wrapper function; the raw system "
 "call interface has no I<fn> or I<arg> argument, and changes the order of the "
@@ -2154,7 +2109,7 @@ msgstr ""
 "り、 I<flags> が最初の引き数で、 I<tls> が最後の引き数である。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:870
+#: build/C/man2/clone.2:865
 msgid ""
 "B<__clone2>()  operates in the same way as B<clone>(), except that "
 "I<child_stack_base> points to the lowest address of the child's stack area, "
@@ -2166,13 +2121,13 @@ msgstr ""
 "I<stack_size> は I<child_stack_base> が指し示すスタックエリアの大きさを示す。"
 
 #. type: SS
-#: build/C/man2/clone.2:870
+#: build/C/man2/clone.2:865
 #, no-wrap
 msgid "Linux 2.4 and earlier"
 msgstr "Linux 2.4 以前"
 
 #. type: Plain text
-#: build/C/man2/clone.2:878
+#: build/C/man2/clone.2:873
 msgid ""
 "In Linux 2.4 and earlier, B<clone>()  does not take arguments I<ptid>, "
 "I<tls>, and I<ctid>."
@@ -2183,7 +2138,7 @@ msgstr ""
 #.  gettid(2) returns current->pid;
 #.  getpid(2) returns current->tgid;
 #. type: Plain text
-#: build/C/man2/clone.2:887
+#: build/C/man2/clone.2:882
 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 "
@@ -2194,45 +2149,49 @@ msgstr ""
 "成されず、 I<errno> が適切に設定される。"
 
 #. type: SH
-#: build/C/man2/clone.2:887 build/C/man2/kcmp.2:170
+#: build/C/man2/clone.2:882 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:145 build/C/man2/sched_yield.2:48
-#: build/C/man2/setns.2:77 build/C/man2/unshare.2:212
+#: build/C/man2/sched_setaffinity.2:116 build/C/man2/sched_setattr.2:271
+#: build/C/man2/sched_setparam.2:96 build/C/man2/sched_setscheduler.2:145
+#: build/C/man2/sched_yield.2:48 build/C/man2/setns.2:145
+#: build/C/man2/unshare.2:282
 #, no-wrap
 msgid "ERRORS"
 msgstr "エラー"
 
 #. type: TP
-#: build/C/man2/clone.2:888
+#: build/C/man2/clone.2:883
 #, no-wrap
 msgid "B<EAGAIN>"
 msgstr "B<EAGAIN>"
 
 #. type: Plain text
-#: build/C/man2/clone.2:891
-msgid "Too many processes are already running."
-msgstr "すでに実行中のプロセスが多すぎる。"
+#: build/C/man2/clone.2:887
+msgid "Too many processes are already running; see B<fork>(2)."
+msgstr "すでに実行中のプロセスが多すぎる。 B<fork>(2) 参照。"
 
 #. type: TP
-#: 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/clone.2:887 build/C/man2/clone.2:894 build/C/man2/clone.2:909
+#: build/C/man2/clone.2:926 build/C/man2/clone.2:934 build/C/man2/clone.2:946
+#: build/C/man2/clone.2:952 build/C/man2/clone.2:962 build/C/man2/clone.2:970
+#: build/C/man2/clone.2:978 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_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
+#: build/C/man2/sched_setattr.2:276 build/C/man2/sched_setattr.2:300
+#: build/C/man2/sched_setattr.2:323 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:150 build/C/man2/setns.2:155 build/C/man2/setns.2:159
+#: build/C/man2/setns.2:163 build/C/man2/setns.2:170
+#: build/C/man2/unshare.2:283 build/C/man2/unshare.2:287
 #, no-wrap
 msgid "B<EINVAL>"
 msgstr "B<EINVAL>"
 
 #. type: Plain text
-#: build/C/man2/clone.2:898
+#: build/C/man2/clone.2:894
 msgid ""
 "B<CLONE_SIGHAND> was specified, but B<CLONE_VM> was not.  (Since Linux 2.6.0-"
 "test6.)"
@@ -2249,7 +2208,7 @@ msgstr ""
 #.  was specified.
 #.  (Since Linux 2.6.0-test6.)
 #. type: Plain text
-#: build/C/man2/clone.2:913
+#: build/C/man2/clone.2:909
 msgid ""
 "B<CLONE_THREAD> was specified, but B<CLONE_SIGHAND> was not.  (Since Linux "
 "2.5.35.)"
@@ -2257,29 +2216,45 @@ msgstr ""
 "B<CLONE_THREAD> が指定されていたが、 B<CLONE_SIGHAND> が指定されていなかっ"
 "た。 (Linux 2.5.35 以降)"
 
+#.  commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71
 #. type: Plain text
-#: build/C/man2/clone.2:921
+#: build/C/man2/clone.2:918
 msgid "Both B<CLONE_FS> and B<CLONE_NEWNS> were specified in I<flags>."
 msgstr "B<CLONE_FS> と B<CLONE_NEWNS> の両方が I<flags> に指定された。"
 
+#. type: TP
+#: build/C/man2/clone.2:918
+#, no-wrap
+msgid "B<EINVAL> (since Linux 3.9)"
+msgstr "B<EINVAL> (Linux 3.9 以降)"
+
 #. type: Plain text
-#: build/C/man2/clone.2:929
+#: build/C/man2/clone.2:926
+msgid "Both B<CLONE_NEWUSER> and B<CLONE_FS> were specified in I<flags>."
+msgstr "B<CLONE_NEWUSER> と B<CLONE_FS> の両方が I<flags> に指定された。"
+
+#. type: Plain text
+#: build/C/man2/clone.2:934
 msgid "Both B<CLONE_NEWIPC> and B<CLONE_SYSVSEM> were specified in I<flags>."
 msgstr "B<CLONE_NEWIPC> と B<CLONE_SYSVSEM> の両方が I<flags> に指定された。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:937
-msgid "Both B<CLONE_NEWPID> and B<CLONE_THREAD> were specified in I<flags>."
+#: build/C/man2/clone.2:946
+#, fuzzy
+#| msgid "Both B<CLONE_NEWPID> and B<CLONE_THREAD> were specified in I<flags>."
+msgid ""
+"One (or both) of B<CLONE_NEWPID> or B<CLONE_NEWUSER> and one (or both) of "
+"B<CLONE_THREAD> or B<CLONE_PARENT> were specified in I<flags>."
 msgstr "B<CLONE_NEWPID> と B<CLONE_THREAD> の両方が I<flags> に指定された。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:943
+#: build/C/man2/clone.2:952
 msgid ""
 "Returned by B<clone>()  when a zero value is specified for I<child_stack>."
 msgstr "I<child_stack> にゼロを指定した場合に B<clone>()  が返す。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:953
+#: build/C/man2/clone.2:962
 msgid ""
 "B<CLONE_NEWIPC> was specified in I<flags>, but the kernel was not configured "
 "with the B<CONFIG_SYSVIPC> and B<CONFIG_IPC_NS> options."
@@ -2288,7 +2263,7 @@ msgstr ""
 "B<CONFIG_SYSVIPC> と B<CONFIG_IPC_NS> が有効になっていなかった。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:961
+#: build/C/man2/clone.2:970
 msgid ""
 "B<CLONE_NEWNET> was specified in I<flags>, but the kernel was not configured "
 "with the B<CONFIG_NET_NS> option."
@@ -2297,7 +2272,7 @@ msgstr ""
 "B<CONFIG_NET_NS> が有効になっていなかった。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:969
+#: build/C/man2/clone.2:978
 msgid ""
 "B<CLONE_NEWPID> was specified in I<flags>, but the kernel was not configured "
 "with the B<CONFIG_PID_NS> option."
@@ -2306,7 +2281,7 @@ msgstr ""
 "B<CONFIG_PID_NS> が有効になっていなかった。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:977
+#: build/C/man2/clone.2:986
 msgid ""
 "B<CLONE_NEWUTS> was specified in I<flags>, but the kernel was not configured "
 "with the B<CONFIG_UTS> option."
@@ -2315,13 +2290,14 @@ msgstr ""
 "B<CONFIG_UTS> が有効になっていなかった。"
 
 #. type: TP
-#: build/C/man2/clone.2:977 build/C/man2/setns.2:89 build/C/man2/unshare.2:217
+#: build/C/man2/clone.2:986 build/C/man2/setns.2:174
+#: build/C/man2/unshare.2:296
 #, no-wrap
 msgid "B<ENOMEM>"
 msgstr "B<ENOMEM>"
 
 #. type: Plain text
-#: build/C/man2/clone.2:982
+#: build/C/man2/clone.2:991
 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."
@@ -2330,16 +2306,18 @@ msgstr ""
 "コピーするのに必要なメモリを十分に割り当てることができない。"
 
 #. type: TP
-#: 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
+#: build/C/man2/clone.2:991 build/C/man2/clone.2:1000
+#: build/C/man2/clone.2:1004 build/C/man2/kcmp.2:185
+#: build/C/man2/sched_setaffinity.2:135 build/C/man2/sched_setattr.2:339
+#: build/C/man2/sched_setattr.2:342 build/C/man2/sched_setparam.2:109
+#: build/C/man2/sched_setscheduler.2:164 build/C/man2/setns.2:177
+#: build/C/man2/unshare.2:300 build/C/man2/unshare.2:303
 #, no-wrap
 msgid "B<EPERM>"
 msgstr "B<EPERM>"
 
 #. type: Plain text
-#: build/C/man2/clone.2:991
+#: build/C/man2/clone.2:1000
 msgid ""
 "B<CLONE_NEWIPC>, B<CLONE_NEWNET>, B<CLONE_NEWNS>, B<CLONE_NEWPID>, or "
 "B<CLONE_NEWUTS> was specified by an unprivileged process (process without "
@@ -2350,12 +2328,50 @@ msgstr ""
 "た。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:995
+#: build/C/man2/clone.2:1004
 msgid "B<CLONE_PID> was specified by a process other than process 0."
 msgstr "PID が 0 以外のプロセスによって B<CLONE_PID> が指定された。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1002
+#: build/C/man2/clone.2:1012 build/C/man2/unshare.2:311
+msgid ""
+"B<CLONE_NEWUSER> was specified in I<flags>, but either the effective user ID "
+"or the effective group ID of the caller does not have a mapping in the "
+"parent namespace (see B<user_namespaces>(7))."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/clone.2:1012 build/C/man2/unshare.2:311
+#, no-wrap
+msgid "B<EPERM> (since Linux 3.9)"
+msgstr "B<EPERM> (Linux 3.9 以降)"
+
+#.  commit 3151527ee007b73a0ebd296010f1c0454a919c7d
+#.  FIXME What is the rationale for this restriction?
+#. type: Plain text
+#: build/C/man2/clone.2:1021 build/C/man2/unshare.2:320
+msgid ""
+"B<CLONE_NEWUSER was specified in> I<flags> and the caller is in a chroot "
+"environment (i.e., the caller's root directory does not match the root "
+"directory of the mount namespace in which it resides)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/clone.2:1021 build/C/man2/unshare.2:320
+#, no-wrap
+msgid "B<EUSERS> (since Linux 3.11)"
+msgstr "B<EUSERS> (Linux 3.11 以降)"
+
+#. type: Plain text
+#: build/C/man2/clone.2:1030 build/C/man2/unshare.2:329
+msgid ""
+"B<CLONE_NEWUSER> was specified in I<flags>, and the call would cause the "
+"limit on the number of nested user namespaces to be exceeded.  See "
+"B<user_namespaces>(7)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:1037
 msgid ""
 "There is no entry for B<clone>()  in libc5.  glibc2 provides B<clone>()  as "
 "described in this manual page."
@@ -2364,7 +2380,7 @@ msgstr ""
 "マニュアルページに記載の通りである。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1006
+#: build/C/man2/clone.2:1041
 msgid ""
 "B<clone>()  is Linux-specific and should not be used in programs intended to "
 "be portable."
@@ -2373,7 +2389,7 @@ msgstr ""
 "い。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1016
+#: build/C/man2/clone.2:1051
 msgid ""
 "In the kernel 2.4.x series, B<CLONE_THREAD> generally does not make the "
 "parent of the new thread the same as the parent of the calling process.  "
@@ -2386,7 +2402,7 @@ msgstr ""
 "グを指定すると、 暗黙のうちに CLONE_PARENT フラグを指定したことになる。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1026
+#: build/C/man2/clone.2:1061
 msgid ""
 "For a while there was B<CLONE_DETACHED> (introduced in 2.5.32): parent wants "
 "no child-exit signal.  In 2.6.2 the need to give this together with "
@@ -2398,7 +2414,7 @@ msgstr ""
 "要はなくなった。 このフラグはまだ定義されているが、何の効果もない。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1031
+#: build/C/man2/clone.2:1066
 msgid ""
 "On i386, B<clone>()  should not be called through vsyscall, but directly "
 "through I<int $0x80>."
@@ -2407,7 +2423,7 @@ msgstr ""
 "呼び出すべきである。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1062
+#: build/C/man2/clone.2:1097
 msgid ""
 "Versions of the GNU C library that include the NPTL threading library "
 "contain a wrapper function for B<getpid>(2)  that performs caching of PIDs.  "
@@ -2424,8 +2440,8 @@ msgid ""
 "also does not occur if the I<flags> argument includes B<CLONE_VM>.)  To get "
 "the truth, it may be necessary to use code such as the following:"
 msgstr ""
-"NPTL ã\82¹ã\83¬ã\83\83ã\83\89ã\83»ã\83©ã\82¤ã\83\96ã\83©ã\83ªã\82\92å\90«ã\82\93ã\81§ã\81\84ã\82\8b GNU C ã\83©ã\82¤ã\83\96ã\83©ã\83ªã\81®ã\81\84ã\81\8fã\81¤ã\81\8bã\81®ã\83\90ã\83¼ã\82¸ã\83§ã\83³ "
-"ã\81«ã\81¯ã\80\81 B<getpid>(2)  ã\81®ã\83©ã\83\83ã\83\91ã\83¼é\96¢æ\95°ã\81\8cå\90«ã\81¾ã\82\8cã\81¦ã\81\8aã\82\8aã\80\81ã\81\93ã\81®ã\83©ã\83\83ã\83\91ã\83¼é\96¢æ\95°ã\81¯ PID ã\82\92"
+"NPTL ã\82¹ã\83¬ã\83\83ã\83\89ã\83©ã\82¤ã\83\96ã\83©ã\83ªã\82\92å\90«ã\82\93ã\81§ã\81\84ã\82\8b GNU C ã\83©ã\82¤ã\83\96ã\83©ã\83ªã\81®ã\81\84ã\81\8fã\81¤ã\81\8bã\81®ã\83\90ã\83¼ã\82¸ã\83§ã\83³ ã\81«"
+"は、 B<getpid>(2)  のラッパー関数が含まれており、このラッパー関数は PID を"
 "キャッシュする。 このキャッシュ処理が正しく動作するためには glibc の "
 "B<clone>()  のラッパー関数での助けが必要だが、現状の実装では、 ある状況下にお"
 "いてキャッシュが最新とならない可能性がある。 特に、 B<clone>()  の呼び出し直"
@@ -2435,32 +2451,32 @@ msgstr ""
 "ロセス\") の PID が 返される可能性がある。 (この議論では、子プロセスが "
 "B<CLONE_THREAD> を使って作成された場合のことは無視している。 子プロセスが "
 "B<CLONE_THREAD> を作って作成された場合には、 呼び出し元と子プロセスは同じス"
-"ã\83¬ã\83\83ã\83\89ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81«å±\9eã\81\99ã\81®ã\81§ã\80\81 B<getpid>(2)  ã\81¯å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81¨ B<clone>()  ã\82\92å\91¼ã\81³"
-"したプロセスで同じ値を返すのが「正しい」。 キャッシュが最新とならない問題 "
+"ã\83¬ã\83\83ã\83\89ã\82°ã\83«ã\83¼ã\83\97ã\81«å±\9eã\81\99ã\81®ã\81§ã\80\81 B<getpid>(2)  ã\81¯å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81¨ B<clone>()  ã\82\92å\91¼ã\81³å\87º"
+"したプロセスで同じ値を返すのが「正しい」。 キャッシュが最新とならない問題 "
 "(stale-cache problem) は、 I<flags> に B<CLONE_VM> が含まれている場合にも発生"
 "しない。)  本当の値を得るためには、次のようなコードを使う必要があるかもしれな"
 "い。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1065
+#: build/C/man2/clone.2:1100
 #, no-wrap
 msgid "    #include E<lt>syscall.hE<gt>\n"
 msgstr "    #include E<lt>syscall.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1067
+#: build/C/man2/clone.2:1102
 #, no-wrap
 msgid "    pid_t mypid;\n"
 msgstr "    pid_t mypid;\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1069
+#: build/C/man2/clone.2:1104
 #, no-wrap
 msgid "    mypid = syscall(SYS_getpid);\n"
 msgstr "    mypid = syscall(SYS_getpid);\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1083
+#: build/C/man2/clone.2:1118
 msgid ""
 "The following program demonstrates the use of B<clone>()  to create a child "
 "process that executes in a separate UTS namespace.  The child changes the "
@@ -2476,13 +2492,14 @@ msgstr ""
 "このプログラムの使用方法については B<setns>(2) を参照。"
 
 #. type: SS
-#: build/C/man2/clone.2:1083 build/C/man2/setns.2:166
+#: build/C/man2/clone.2:1118 build/C/man2/setns.2:250
+#: build/C/man2/unshare.2:395
 #, no-wrap
 msgid "Program source"
 msgstr "プログラムのソース"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1093
+#: build/C/man2/clone.2:1128
 #, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
@@ -2504,7 +2521,8 @@ msgstr ""
 "#include E<lt>unistd.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1096 build/C/man2/setns.2:177
+#: build/C/man2/clone.2:1131 build/C/man2/setns.2:261
+#: build/C/man2/unshare.2:414
 #, no-wrap
 msgid ""
 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
@@ -2514,7 +2532,7 @@ msgstr ""
 "                        } while (0)\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1101
+#: build/C/man2/clone.2:1136
 #, no-wrap
 msgid ""
 "static int              /* Start function for cloned child */\n"
@@ -2528,13 +2546,13 @@ msgstr ""
 "    struct utsname uts;\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1103
+#: build/C/man2/clone.2:1138
 #, no-wrap
 msgid "    /* Change hostname in UTS namespace of child */\n"
 msgstr "    /* 子プロセスの UTS 名前空間でホスト名を変更する */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1106
+#: build/C/man2/clone.2:1141
 #, no-wrap
 msgid ""
 "    if (sethostname(arg, strlen(arg)) == -1)\n"
@@ -2544,13 +2562,13 @@ msgstr ""
 "        errExit(\"sethostname\");\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1108
+#: build/C/man2/clone.2:1143
 #, no-wrap
 msgid "    /* Retrieve and display hostname */\n"
 msgstr "    /* ホスト名を取得し表示する */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1112
+#: build/C/man2/clone.2:1147
 #, no-wrap
 msgid ""
 "    if (uname(&uts) == -1)\n"
@@ -2562,7 +2580,7 @@ msgstr ""
 "    printf(\"uts.nodename in child:  %s\\en\", uts.nodename);\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1116
+#: build/C/man2/clone.2:1151
 #, no-wrap
 msgid ""
 "    /* Keep the namespace open for a while, by sleeping.\n"
@@ -2574,13 +2592,13 @@ msgstr ""
 "       別のプロセスがこの名前空間に参加するなど。 */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1118
+#: build/C/man2/clone.2:1153
 #, no-wrap
 msgid "    sleep(200);\n"
 msgstr "    sleep(200);\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1121
+#: build/C/man2/clone.2:1156
 #, no-wrap
 msgid ""
 "    return 0;           /* Child terminates now */\n"
@@ -2590,13 +2608,13 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1123
+#: build/C/man2/clone.2:1158
 #, 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:1131
+#: build/C/man2/clone.2:1166
 #, no-wrap
 msgid ""
 "int\n"
@@ -2616,7 +2634,7 @@ msgstr ""
 "    struct utsname uts;\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1136
+#: build/C/man2/clone.2:1171
 #, no-wrap
 msgid ""
 "    if (argc E<lt> 2) {\n"
@@ -2630,13 +2648,13 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1138
+#: build/C/man2/clone.2:1173
 #, no-wrap
 msgid "    /* Allocate stack for child */\n"
 msgstr "    /* 子プロセス用のスタックを割り当てる */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1143
+#: build/C/man2/clone.2:1178
 #, no-wrap
 msgid ""
 "    stack = malloc(STACK_SIZE);\n"
@@ -2650,7 +2668,7 @@ msgstr ""
 "    stackTop = stack + STACK_SIZE;  /* スタックは下方向に伸びるものとする */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1146
+#: build/C/man2/clone.2:1181
 #, no-wrap
 msgid ""
 "    /* Create child that has its own UTS namespace;\n"
@@ -2660,7 +2678,7 @@ msgstr ""
 "       子プロセスは childFunc() の実行を開始する */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1151
+#: build/C/man2/clone.2:1186
 #, no-wrap
 msgid ""
 "    pid = clone(childFunc, stackTop, CLONE_NEWUTS | SIGCHLD, argv[1]);\n"
@@ -2674,19 +2692,19 @@ msgstr ""
 "    printf(\"clone() returned %ld\\en\", (long) pid);\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1153
+#: build/C/man2/clone.2:1188
 #, no-wrap
 msgid "    /* Parent falls through to here */\n"
 msgstr "    /* 親プロセスの実行はここに来る */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1155
+#: build/C/man2/clone.2:1190
 #, 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:1158
+#: build/C/man2/clone.2:1193
 #, no-wrap
 msgid ""
 "    /* Display hostname in parent\\(aqs UTS namespace. This will be\n"
@@ -2696,7 +2714,7 @@ msgstr ""
 "       これは子プロセスの UTS 名前空間でのホスト名とは異なる */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1162
+#: build/C/man2/clone.2:1197
 #, no-wrap
 msgid ""
 "    if (uname(&uts) == -1)\n"
@@ -2708,7 +2726,7 @@ msgstr ""
 "    printf(\"uts.nodename in parent: %s\\en\", uts.nodename);\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1166
+#: build/C/man2/clone.2:1201
 #, no-wrap
 msgid ""
 "    if (waitpid(pid, NULL, 0) == -1)    /* Wait for child */\n"
@@ -2720,7 +2738,7 @@ msgstr ""
 "    printf(\"child has terminated\\en\");\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1169
+#: build/C/man2/clone.2:1204
 #, no-wrap
 msgid ""
 "    exit(EXIT_SUCCESS);\n"
@@ -2730,15 +2748,17 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1184
+#: build/C/man2/clone.2:1220
 msgid ""
 "B<fork>(2), B<futex>(2), B<getpid>(2), B<gettid>(2), B<kcmp>(2), "
 "B<set_thread_area>(2), B<set_tid_address>(2), B<setns>(2), B<tkill>(2), "
-"B<unshare>(2), B<wait>(2), B<capabilities>(7), B<pthreads>(7)"
+"B<unshare>(2), B<wait>(2), B<capabilities>(7), B<namespaces>(7), "
+"B<pthreads>(7)"
 msgstr ""
 "B<fork>(2), B<futex>(2), B<getpid>(2), B<gettid>(2), B<kcmp>(2), "
 "B<set_thread_area>(2), B<set_tid_address>(2), B<setns>(2), B<tkill>(2), "
-"B<unshare>(2), B<wait>(2), B<capabilities>(7), B<pthreads>(7)"
+"B<unshare>(2), B<wait>(2), B<capabilities>(7), B<namespaces>(7), "
+"B<pthreads>(7)"
 
 #. type: TH
 #: build/C/man2/kcmp.2:28
@@ -2888,16 +2908,12 @@ msgstr "B<KCMP_SYSVSEM>"
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:109
-#, fuzzy
-#| msgid ""
-#| "Check whether the processes share the same list of System V semaphore "
-#| "undo operations.  The arguments I<idx1> and I<idx2> are ignored."
 msgid ""
 "Check whether the processes share the same list of System\\ V semaphore undo "
 "operations.  The arguments I<idx1> and I<idx2> are ignored."
 msgstr ""
-"二つのプロセスが同じ System V セマフォ undo 操作のリストを共有しているかを検"
-"査する。 引き数 I<idx1> と I<idx2> は無視される。"
+"二つのプロセスが同じ System\\ V セマフォ undo 操作のリストを共有しているかを"
+"æ¤\9cæ\9f»ã\81\99ã\82\8bã\80\82 å¼\95ã\81\8dæ\95° I<idx1> ã\81¨ I<idx2> ã\81¯ç\84¡è¦\96ã\81\95ã\82\8cã\82\8bã\80\82"
 
 #. type: TP
 #: build/C/man2/kcmp.2:109
@@ -3012,7 +3028,7 @@ msgstr ""
 "リプタを比較する必要がある場合に、特に役に立つ。"
 
 #. type: TP
-#: build/C/man2/kcmp.2:171 build/C/man2/setns.2:78
+#: build/C/man2/kcmp.2:171 build/C/man2/setns.2:146
 #, no-wrap
 msgid "B<EBADF>"
 msgstr "B<EBADF>"
@@ -3041,8 +3057,8 @@ msgstr ""
 
 #. type: TP
 #: 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
+#: build/C/man2/sched_setaffinity.2:145 build/C/man2/sched_setattr.2:284
+#: build/C/man2/sched_setparam.2:116 build/C/man2/sched_setscheduler.2:167
 #, no-wrap
 msgid "B<ESRCH>"
 msgstr "B<ESRCH>"
@@ -3114,10 +3130,9 @@ msgstr "SCHED_GET_PRIORITY_MAX"
 
 #. type: TH
 #: build/C/man2/sched_get_priority_max.2:29
-#, fuzzy, no-wrap
-#| msgid "2014-02-27"
+#, no-wrap
 msgid "2014-05-12"
-msgstr "2014-02-27"
+msgstr "2014-05-12"
 
 #. type: Plain text
 #: build/C/man2/sched_get_priority_max.2:32
@@ -3145,15 +3160,6 @@ msgstr "B<int sched_get_priority_min(int >I<policy>B<);>"
 
 #. type: Plain text
 #: build/C/man2/sched_get_priority_max.2:59
-#, fuzzy
-#| msgid ""
-#| "B<sched_get_priority_max>()  returns the maximum priority value that can "
-#| "be used with the scheduling algorithm identified by I<policy>.  "
-#| "B<sched_get_priority_min>()  returns the minimum priority value that can "
-#| "be used with the scheduling algorithm identified by I<policy>.  Supported "
-#| "I<policy> values are B<SCHED_FIFO>, B<SCHED_RR>, B<SCHED_OTHER>, "
-#| "B<SCHED_BATCH>, and B<SCHED_IDLE>.  Further details about these policies "
-#| "can be found in B<sched_setscheduler>(2)."
 msgid ""
 "B<sched_get_priority_max>()  returns the maximum priority value that can be "
 "used with the scheduling algorithm identified by I<policy>.  "
@@ -3168,8 +3174,8 @@ msgstr ""
 "B<sched_get_priority_min>()  はI<policy> によって指定されたスケジューリングの"
 "アルゴリズムで 使用されるプライオリティの最小値を返す。 サポートされる "
 "I<policy> の値は B<SCHED_FIFO>、 B<SCHED_RR>、 B<SCHED_OTHER>、 "
-"B<SCHED_BATCH>, B<SCHED_IDLE> である。これらのスケジューリング方針に関する詳"
-"細は B<sched_setscheduler>(2)  に書かれている。"
+"B<SCHED_BATCH>, B<SCHED_IDLE>, B<SCHED_DEADLINE> である。これらのスケジューリ"
+"ング方針に関する詳細は B<sched>(7)  に書かれている。"
 
 #. type: Plain text
 #: build/C/man2/sched_get_priority_max.2:68
@@ -3185,21 +3191,15 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_get_priority_max.2:76
-#, fuzzy
-#| msgid ""
-#| "Linux allows the static priority value range 1 to 99 for B<SCHED_FIFO> "
-#| "and B<SCHED_RR> and the priority 0 for B<SCHED_OTHER>, B<SCHED_BATCH>, "
-#| "and B<SCHED_IDLE>.  Scheduling priority ranges for the various policies "
-#| "are not alterable."
 msgid ""
 "Linux allows the static priority range 1 to 99 for the B<SCHED_FIFO> and "
 "B<SCHED_RR> policies, and the priority 0 for the remaining policies.  "
 "Scheduling priority ranges for the various policies are not alterable."
 msgstr ""
-"Linux では B<SCHED_FIFO> と B<SCHED_RR> では 1 から 99 の範囲の静的プライオリ"
-"ティーを持ち、B<SCHED_OTHER>, B<SCHED_BATCH>, B<SCHED_IDLE> では プライオリ"
-"ã\83\86ã\82£ã\81¨ã\81\97ã\81¦ 0 ã\82\92æ\8c\81ã\81¤ã\80\82 ã\81\9dã\82\8cã\81\9eã\82\8cã\81®æ\96¹é\87\9dã\81®ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83»ã\83\97ã\83©ã\82¤ã\82ªã\83ªã\83\86ã\82£ã\81®ç¯\84å\9b²"
-"ã\81¯ å¤\89æ\9b´ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81ªã\81\84ã\80\82"
+"Linux では、 ポリシー B<SCHED_FIFO> と B<SCHED_RR> では 1 から 99 の範囲の静"
+"的プライオリティーを持ち、それ以外のポリシーでは プライオリティとして 0 を持"
+"ã\81¤ã\80\82 ã\81\9dã\82\8cã\81\9eã\82\8cã\81®æ\96¹é\87\9dã\81®ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83\97ã\83©ã\82¤ã\82ªã\83ªã\83\86ã\82£ã\81®ç¯\84å\9b²ã\81¯ å¤\89æ\9b´ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§"
+"きない。"
 
 #. type: Plain text
 #: build/C/man2/sched_get_priority_max.2:88
@@ -3210,10 +3210,10 @@ msgid ""
 "B<sched_get_priority_min>().  POSIX.1-2001 requires a spread of at least 32 "
 "between the maximum and the minimum values for B<SCHED_FIFO> and B<SCHED_RR>."
 msgstr ""
-"ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83»ã\83\97ã\83©ã\82¤ã\82ªã\83ªã\83\86ã\82£ã\81®ç¯\84å\9b²ã\81¯ä»\96ã\81® POSIX ã\82·ã\82¹ã\83\86ã\83 ã\81¨ ç\95°ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\81\8b"
-"ã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82ã\81\9dã\82\8cã\81§ã\80\81移æ¤\8dæ\80§(portable)ã\81®ã\81\82ã\82\8b ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³ã\81§ã\81¯ä»®æ\83³ç\9a\84ã\81ªç¯\84å\9b²ã\82\92"
-"用い B<sched_get_priority_max>()  と B<sched_get_priority_min>()  で与えられ"
-"間隔にマップして使用することはいい考えである。 POSIX.1-2001 では "
+"ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83\97ã\83©ã\82¤ã\82ªã\83ªã\83\86ã\82£ã\81®ç¯\84å\9b²ã\81¯ä»\96ã\81® POSIX ã\82·ã\82¹ã\83\86ã\83 ã\81¨ ç\95°ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\81\8bã\82\82"
+"ã\81\97ã\82\8cã\81ªã\81\84ã\80\82ã\81\9dã\82\8cã\81§ã\80\81移æ¤\8dæ\80§(portable)ã\81®ã\81\82ã\82\8b ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³ã\81§ã\81¯ä»®æ\83³ç\9a\84ã\81ªç¯\84å\9b²ã\82\92ç\94¨"
+"い B<sched_get_priority_max>()  と B<sched_get_priority_min>()  で与えられた"
+"間隔にマップして使用することはいい考えである。 POSIX.1-2001 では "
 "B<SCHED_FIFO> と B<SCHED_RR> における 最大値と最小値の間隔を少なくとも 32 に"
 "することを要求している。"
 
@@ -3253,17 +3253,14 @@ msgstr "POSIX.1-2001."
 
 #. type: Plain text
 #: build/C/man2/sched_get_priority_max.2:125
-#, fuzzy
-#| msgid ""
-#| "B<sched_getaffinity>(2), B<sched_getparam>(2), B<sched_getscheduler>(2), "
-#| "B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2)"
 msgid ""
 "B<sched_getaffinity>(2), B<sched_getparam>(2), B<sched_getscheduler>(2), "
 "B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2), "
 "B<sched>(7)"
 msgstr ""
-"B<sched_getaffinity>(2), B<sched_getparam>(2)  B<sched_getscheduler>(2), "
-"B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2),"
+"B<sched_getaffinity>(2), B<sched_getparam>(2), B<sched_getscheduler>(2), "
+"B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2), "
+"B<sched>(7)"
 
 #. type: TH
 #: build/C/man3/sched_getcpu.3:26
@@ -3272,11 +3269,10 @@ msgid "SCHED_GETCPU"
 msgstr "SCHED_GETCPU"
 
 #. type: TH
-#: build/C/man3/sched_getcpu.3:26 build/C/man2/sched_setaffinity.2:34
-#, fuzzy, no-wrap
-#| msgid "2014-02-27"
+#: build/C/man3/sched_getcpu.3:26
+#, no-wrap
 msgid "2014-05-10"
-msgstr "2014-02-27"
+msgstr "2014-05-10"
 
 #. type: Plain text
 #: build/C/man3/sched_getcpu.3:29
@@ -3338,20 +3334,18 @@ msgstr "この関数は glibc 2.6 以降で利用可能である。"
 #: build/C/man3/sched_getcpu.3:72
 #, no-wrap
 msgid "ATTRIBUTES"
-msgstr ""
+msgstr "属性"
 
 #. type: SS
 #: build/C/man3/sched_getcpu.3:73
 #, no-wrap
 msgid "Multithreading (see pthreads(7))"
-msgstr ""
+msgstr "マルチスレッディング (pthreads(7) 参照)"
 
 #. type: Plain text
 #: build/C/man3/sched_getcpu.3:77
-#, fuzzy
-#| msgid "B<sched_getcpu>()  is glibc-specific."
 msgid "The B<sched_getcpu>()  function is thread-safe."
-msgstr "B<sched_getcpu>()  は glibc 固有である。"
+msgstr "B<sched_getcpu>() 関数はスレッドセーフである。"
 
 #. type: Plain text
 #: build/C/man3/sched_getcpu.3:80
@@ -3388,10 +3382,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/sched_getcpu.3:103
-#, fuzzy
-#| msgid "B<clone>(2), B<unshare>(2)"
 msgid "B<getcpu>(2), B<sched>(7)"
-msgstr "B<clone>(2), B<unshare>(2)"
+msgstr "B<getcpu>(2), B<sched>(7)"
 
 #. type: TH
 #: build/C/man2/sched_rr_get_interval.2:29
@@ -3401,10 +3393,9 @@ msgstr "SCHED_RR_GET_INTERVAL"
 
 #. type: TH
 #: build/C/man2/sched_rr_get_interval.2:29 build/C/man2/sched_yield.2:29
-#, fuzzy, no-wrap
-#| msgid "2014-02-27"
+#, no-wrap
 msgid "2014-04-28"
-msgstr "2014-02-27"
+msgstr "2014-04-28"
 
 #. type: Plain text
 #: build/C/man2/sched_rr_get_interval.2:32
@@ -3496,7 +3487,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 ""
-"ã\82·ã\82¹ã\83\86ã\83 ã\83»ã\82³ã\83¼ã\83«ã\81\8cã\81¾ã\81 å®\9fè£\85ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84 (ã\81\8bã\81ªã\82\8aå\8f¤ã\81\84ã\82«ã\83¼ã\83\8dã\83«ã\81«ã\81\8aã\81\84ã\81¦ã\81®ã\81¿)ã\80\82"
+"システムコールがまだ実装されていない (かなり古いカーネルにおいてのみ)。"
 
 #. type: Plain text
 #: build/C/man2/sched_rr_get_interval.2:94
@@ -3563,10 +3554,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_rr_get_interval.2:134 build/C/man2/sched_yield.2:81
-#, fuzzy
-#| msgid "B<sched_getcpu>():"
 msgid "B<sched>(7)"
-msgstr "B<sched_getcpu>():"
+msgstr "B<sched>(7)"
 
 #. type: TH
 #: build/C/man2/sched_setaffinity.2:34
@@ -3574,6 +3563,12 @@ msgstr "B<sched_getcpu>():"
 msgid "SCHED_SETAFFINITY"
 msgstr "SCHED_SETAFFINITY"
 
+#. type: TH
+#: build/C/man2/sched_setaffinity.2:34
+#, no-wrap
+msgid "2014-12-31"
+msgstr "2014-12-31"
+
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:38
 msgid ""
@@ -3585,16 +3580,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:45
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int sched_setaffinity(pid_t >I<pid>B<, size_t >I<cpusetsize>B<,>\n"
-#| "B<                      cpu_set_t *>I<mask>B<);>\n"
+#, no-wrap
 msgid ""
 "B<int sched_setaffinity(pid_t >I<pid>B<, size_t >I<cpusetsize>B<,>\n"
 "B<                      const cpu_set_t *>I<mask>B<);>\n"
 msgstr ""
 "B<int sched_setaffinity(pid_t >I<pid>B<, size_t >I<cpusetsize>B<,>\n"
-"B<                      cpu_set_t *>I<mask>B<);>\n"
+"B<                      const cpu_set_t *>I<mask>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:48
@@ -3621,13 +3613,13 @@ msgid ""
 "CPU."
 msgstr ""
 "スレッドの CPU affinity (親和度) マスクは、そのスレッドが 実行を許可されてい"
-"ã\82\8b CPU ã\81®é\9b\86å\90\88ã\82\92決å®\9aã\81\99ã\82\8bã\80\82 ã\83\9eã\83«ã\83\81ã\83\97ã\83­ã\82»ã\83\83ã\82µã\83»ã\82·ã\82¹ã\83\86ã\83 ã\81§ã\81¯ã\80\81CPU affinity ã\83\9eã\82¹ã\82¯"
-"を設定することで 性能上のメリットを得られる可能性がある。 例えば、特定のス"
-"ã\83¬ã\83\83ã\83\89ã\82\92ä¸\80ã\81¤ã\81® CPU ã\81«æ\8b¬ã\82\8aä»\98ã\81\91 (ã\81\99ã\81ªã\82\8fã\81¡ã\80\81ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81® affinity ã\83\9eã\82¹ã\82¯ã\82\92ä¸\80ã\81¤"
-"の CPU に設定し)、 他の全てのスレッドの affinity マスクからその CPU を除外す"
-"ã\82\8bã\81\93ã\81¨ã\81§ã\80\81 ç¢ºå®\9fã\81«ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81®å®\9fè¡\8cé\80\9f度ã\82\92æ\9c\80大ã\81«ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82 ã\81¾ã\81\9fã\80\81ã\81\82ã\82\8b"
-"ã\82¹ã\83¬ã\83\83ã\83\89ã\81®å®\9fè¡\8cã\82\92ä¸\80ã\81¤ã\81® CPU ã\81«é\99\90å®\9aã\81\99ã\82\8bã\81\93ã\81¨ã\81§ã\80\81 ä¸\80ã\81¤ã\81® CPU ã\81§ã\81®å®\9fè¡\8cã\82\92å\81\9cæ­¢ã\81\97ã\81¦ã\81\8b"
-"別の CPU で実行を再開するときに発生する キャッシュ無効化 (cache "
+"ã\82\8b CPU ã\81®é\9b\86å\90\88ã\82\92決å®\9aã\81\99ã\82\8bã\80\82 ã\83\9eã\83«ã\83\81ã\83\97ã\83­ã\82»ã\83\83ã\82µã\82·ã\82¹ã\83\86ã\83 ã\81§ã\81¯ã\80\81CPU affinity ã\83\9eã\82¹ã\82¯ã\82\92"
+"設定することで 性能上のメリットを得られる可能性がある。 例えば、特定のスレッ"
+"ã\83\89ã\82\92ä¸\80ã\81¤ã\81® CPU ã\81«æ\8b¬ã\82\8aä»\98ã\81\91 (ã\81\99ã\81ªã\82\8fã\81¡ã\80\81ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81® affinity ã\83\9eã\82¹ã\82¯ã\82\92ä¸\80ã\81¤ã\81® "
+"CPU に設定し)、 他の全てのスレッドの affinity マスクからその CPU を除外するこ"
+"ã\81¨ã\81§ã\80\81 ç¢ºå®\9fã\81«ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81®å®\9fè¡\8cé\80\9f度ã\82\92æ\9c\80大ã\81«ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82 ã\81¾ã\81\9fã\80\81ã\81\82ã\82\8bã\82¹"
+"ã\83¬ã\83\83ã\83\89ã\81®å®\9fè¡\8cã\82\92ä¸\80ã\81¤ã\81® CPU ã\81«é\99\90å®\9aã\81\99ã\82\8bã\81\93ã\81¨ã\81§ã\80\81 ä¸\80ã\81¤ã\81® CPU ã\81§ã\81®å®\9fè¡\8cã\82\92å\81\9cæ­¢ã\81\97ã\81¦ã\81\8bã\82\89"
+"別の CPU で実行を再開するときに発生する キャッシュ無効化 (cache "
 "invalidation) による性能面の劣化を避けることもできる。"
 
 #. type: Plain text
@@ -3729,7 +3721,8 @@ msgstr ""
 "なければならない。"
 
 #. type: Plain text
-#: build/C/man2/sched_setaffinity.2:148 build/C/man2/sched_setscheduler.2:170
+#: build/C/man2/sched_setaffinity.2:148 build/C/man2/sched_setattr.2:289
+#: build/C/man2/sched_setscheduler.2:170
 msgid "The thread whose ID is I<pid> could not be found."
 msgstr "ID が I<pid> のスレッドが見つからなかった。"
 
@@ -3772,18 +3765,22 @@ msgstr ""
 "CPU 集合に対する制限はカーネルにより 暗黙のうちに適用される。"
 
 #. type: Plain text
-#: build/C/man2/sched_setaffinity.2:177
-#, fuzzy
-#| msgid ""
-#| "B<sched_setscheduler>(2)  has a description of the Linux scheduling "
-#| "scheme."
-msgid "B<sched>(7)  has a description of the Linux scheduling scheme."
+#: build/C/man2/sched_setaffinity.2:186
+msgid ""
+"There are various ways of determining the number of CPUs available on the "
+"system, including: inspecting the contents of I</proc/cpuinfo>; using "
+"B<syconf>(3)  to obtain the values of the B<_SC_NPROCESSORS_CONF> and "
+"B<_SC_NPROCESSORS_ONLN> parameters; and inspecting the list CPU directories "
+"under I</sys/devices/system/cpu/>."
 msgstr ""
-"B<sched_setscheduler>(2) に Linux のスケジューリング方式についての説明\n"
-"がある。"
 
 #. type: Plain text
-#: build/C/man2/sched_setaffinity.2:194
+#: build/C/man2/sched_setaffinity.2:189
+msgid "B<sched>(7)  has a description of the Linux scheduling scheme."
+msgstr "B<sched>(7) に Linux のスケジューリング方式についての説明がある。"
+
+#. type: Plain text
+#: build/C/man2/sched_setaffinity.2:206
 msgid ""
 "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 "
@@ -3803,7 +3800,7 @@ msgstr ""
 "B<pthread_setaffinity_np>(3)  を使用すること)。"
 
 #. type: Plain text
-#: build/C/man2/sched_setaffinity.2:200
+#: build/C/man2/sched_setaffinity.2:212
 msgid ""
 "A child created via B<fork>(2)  inherits its parent's CPU affinity mask.  "
 "The affinity mask is preserved across an B<execve>(2)."
@@ -3812,7 +3809,7 @@ msgstr ""
 "承する。 affinity マスクは B<execve>(2)  の前後で保存される。"
 
 #. type: Plain text
-#: build/C/man2/sched_setaffinity.2:214
+#: build/C/man2/sched_setaffinity.2:226
 msgid ""
 "This manual page describes the glibc interface for the CPU affinity calls.  "
 "The actual system call interface is slightly different, with the I<mask> "
@@ -3823,695 +3820,2167 @@ msgid ""
 "the CPU set bit mask."
 msgstr ""
 "このマニュアルページでは CPU affinity コールの glibc インタフェースを 説明し"
-"ã\81¦ã\81\84ã\82\8bã\80\82å®\9fé\9a\9bã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\83»ã\82¤ã\83³ã\82¿ã\83\95ã\82§ã\83¼ã\82¹ã\81¯å°\91ã\81\97é\81\95ã\81£ã\81¦ã\81\8aã\82\8aã\80\81 å®\9fé\9a\9bã\81®å®\9fè£\85ã\81§"
-"は CPU 集合は簡単なビットマスクであるという実状を反映し、 I<mask> の型が "
+"ã\81¦ã\81\84ã\82\8bã\80\82å®\9fé\9a\9bã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\82¤ã\83³ã\82¿ã\83\95ã\82§ã\83¼ã\82¹ã\81¯å°\91ã\81\97é\81\95ã\81£ã\81¦ã\81\8aã\82\8aã\80\81 å®\9fé\9a\9bã\81®å®\9fè£\85ã\81§ã\81¯ "
+"CPU 集合は簡単なビットマスクであるという実状を反映し、 I<mask> の型が "
 "I<unsigned long\\ *> となっている。 成功時には、生の B<sched_getaffinity>()  "
 "システムコール自身は I<cpumask_t> データ型の (バイト単位の) 大きさを返す。 "
 "I<cpumask_t> はカーネル内部で CPU 集合のビットマスクを表現するのに 使われてい"
 "るデータ型である。"
 
 #. type: Plain text
-#: build/C/man2/sched_setaffinity.2:234
-#, fuzzy
-#| msgid ""
-#| "B<taskset>(1), B<clone>(2), B<getcpu>(2), B<getpriority>(2), "
-#| "B<gettid>(2), B<nice>(2), B<sched_get_priority_max>(2), "
-#| "B<sched_get_priority_min>(2), B<sched_getscheduler>(2), "
-#| "B<sched_setscheduler>(2), B<setpriority>(2), B<CPU_SET>(3), "
-#| "B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), B<capabilities>(7), "
-#| "B<cpuset>(7)"
-msgid ""
-"B<taskset>(1), B<clone>(2), B<getcpu>(2), B<getpriority>(2), B<gettid>(2), "
-"B<nice>(2), B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), "
-"B<sched_getscheduler>(2), B<sched_setscheduler>(2), B<setpriority>(2), "
-"B<CPU_SET>(3), B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), "
-"B<capabilities>(7), B<cpuset>(7), B<sched>(7)"
-msgstr ""
-"B<taskset>(1), B<clone>(2), B<getcpu>(2), B<getpriority>(2), B<gettid>(2), "
-"B<nice>(2), B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), "
-"B<sched_getscheduler>(2), B<sched_setscheduler>(2), B<setpriority>(2), "
-"B<CPU_SET>(3), B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), "
-"B<capabilities>(7), B<cpuset>(7)"
+#: build/C/man2/sched_setaffinity.2:248
+msgid ""
+"B<lscpu>(1), B<nproc>(1), B<taskset>(1), B<clone>(2), B<getcpu>(2), "
+"B<getpriority>(2), B<gettid>(2), B<nice>(2), B<sched_get_priority_max>(2), "
+"B<sched_get_priority_min>(2), B<sched_getscheduler>(2), "
+"B<sched_setscheduler>(2), B<setpriority>(2), B<CPU_SET>(3), "
+"B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), B<capabilities>(7), "
+"B<cpuset>(7), B<sched>(7)"
+msgstr "B<lscpu>(1), B<nproc>(1), B<taskset>(1), B<clone>(2), B<getcpu>(2), B<getpriority>(2), B<gettid>(2), B<nice>(2), B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), B<sched_getscheduler>(2), B<sched_setscheduler>(2), B<setpriority>(2), B<CPU_SET>(3), B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), B<capabilities>(7), B<cpuset>(7), B<sched>(7)"
 
 #. type: TH
-#: build/C/man2/sched_setparam.2:30
+#: build/C/man2/sched_setattr.2:26
 #, no-wrap
-msgid "SCHED_SETPARAM"
-msgstr "SCHED_SETPARAM"
+msgid "SCHED_SETATTR"
+msgstr "SCHED_SETATTR"
 
 #. type: TH
-#: build/C/man2/sched_setparam.2:30
-#, fuzzy, no-wrap
-#| msgid "2014-02-27"
-msgid "2014-05-11"
-msgstr "2014-02-27"
+#: build/C/man2/sched_setattr.2:26 build/C/man2/sched_setscheduler.2:26
+#: build/C/man7/sched.7:32
+#, no-wrap
+msgid "2014-10-02"
+msgstr "2014-10-02"
 
 #. type: Plain text
-#: build/C/man2/sched_setparam.2:33
-msgid "sched_setparam, sched_getparam - set and get scheduling parameters"
+#: build/C/man2/sched_setattr.2:30
+msgid ""
+"sched_setattr, sched_getattr - set and get scheduling policy and attributes"
 msgstr ""
-"sched_setparam, sched_getparam - スケジューリング・パラメータの設定と取得を行"
+"sched_setattr, sched_getattr - スケジューリングポリシーと属性の設定と取得を行"
 "なう"
 
 #. type: Plain text
-#: build/C/man2/sched_setparam.2:38
-#, no-wrap
-msgid "B<int sched_setparam(pid_t >I<pid>B<, const struct sched_param *>I<param>B<);>\n"
-msgstr "B<int sched_setparam(pid_t >I<pid>B<, const struct sched_param *>I<param>B<);>\n"
-
-#. type: Plain text
-#: build/C/man2/sched_setparam.2:40
+#: build/C/man2/sched_setattr.2:36
 #, no-wrap
-msgid "B<int sched_getparam(pid_t >I<pid>B<, struct sched_param *>I<param>B<);>\n"
-msgstr "B<int sched_getparam(pid_t >I<pid>B<, struct sched_param *>I<param>B<);>\n"
+msgid ""
+"B<int sched_setattr(pid_t >I<pid>B<, const struct sched_attr *>I<attr>B<,>\n"
+"B<                  unsigned int >I<flags>B<);>\n"
+msgstr ""
+"B<int sched_setattr(pid_t >I<pid>B<, const struct sched_attr *>I<attr>B<,>\n"
+"B<                  unsigned int >I<flags>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/sched_setparam.2:46
+#: build/C/man2/sched_setattr.2:39
 #, no-wrap
 msgid ""
-"B<struct sched_param {\n"
-"    ...\n"
-"    int >I<sched_priority>B<;\n"
-"    ...\n"
-"};>\n"
+"B<int sched_getattr(pid_t >I<pid>B<, const struct sched_attr *>I<attr>B<,>\n"
+"B<                  unsigned int >I<size>B<, unsigned int >I<flags>B<);>\n"
 msgstr ""
-"B<struct sched_param {\n"
-"    ...\n"
-"    int >I<sched_priority>B<;\n"
-"    ...\n"
-"};>\n"
+"B<int sched_getattr(pid_t >I<pid>B<, const struct sched_attr *>I<attr>B<,>\n"
+"B<                  unsigned int >I<size>B<, unsigned int >I<flags>B<);>\n"
+
+#. type: SS
+#: build/C/man2/sched_setattr.2:42
+#, no-wrap
+msgid "sched_setattr()"
+msgstr "sched_setattr()"
 
 #. type: Plain text
-#: build/C/man2/sched_setparam.2:60
+#: build/C/man2/sched_setattr.2:52
 #, fuzzy
 #| msgid ""
-#| "B<sched_setparam>()  sets the scheduling parameters associated with the "
-#| "scheduling policy for the process identified by I<pid>.  If I<pid> is "
-#| "zero, then the parameters of the calling process are set.  The "
-#| "interpretation of the argument I<param> depends on the scheduling policy "
-#| "of the process identified by I<pid>.  See B<sched_setscheduler>(2)  for a "
-#| "description of the scheduling policies supported under Linux."
+#| "The B<sched_setscheduler>()  system call sets both the scheduling policy "
+#| "and parameters for the thread whose ID is specified in I<pid>.  If I<pid> "
+#| "equals zero, the scheduling policy and parameters of the calling thread "
+#| "will be set."
 msgid ""
-"B<sched_setparam>()  sets the scheduling parameters associated with the "
-"scheduling policy for the process identified by I<pid>.  If I<pid> is zero, "
-"then the parameters of the calling process are set.  The interpretation of "
-"the argument I<param> depends on the scheduling policy of the process "
-"identified by I<pid>.  See B<sched>(7)  for a description of the scheduling "
-"policies supported under Linux."
+"The B<sched_setattr>()  system call sets the scheduling policy and "
+"associated attributes for the thread whose ID is specified in I<pid>.  If "
+"I<pid> equals zero, the scheduling policy and attributes of the calling "
+"thread will be set."
 msgstr ""
-"B<sched_setparam>()  は I<pid> で指定されたプロセスのスケジューリング方針 "
-"(scheduling policy) に 関連するスケジューリング・パラメータを設定する。 "
-"I<pid> が 0 ならば、呼び出し元のプロセスのパラメータが設定される。 引き数 "
-"I<param> の解釈は、 I<pid> で指定されたプロセスのスケジューリング方針によって"
-"異なる。 Linux でサポートされているスケジューリング方針の説明は "
-"B<sched_setscheduler>(2)  を参照のこと。"
+"B<sched_setscheduler>() システムコールは、 I<pid> で指定された ID を持つス"
+"レッドのスケジューリングポリシーとスケジューリングパラメーターの両方を設定す"
+"る。 I<pid> が 0 の場合、呼び出したスレッド自身のスケジューリングポリシーとス"
+"ケジューリングパラメーターが設定される。"
 
 #. type: Plain text
-#: build/C/man2/sched_setparam.2:66
+#: build/C/man2/sched_setattr.2:56 build/C/man2/sched_setscheduler.2:73
 msgid ""
-"B<sched_getparam>()  retrieves the scheduling parameters for the process "
-"identified by I<pid>.  If I<pid> is zero, then the parameters of the calling "
-"process are retrieved."
+"Currently, Linux supports the following \"normal\" (i.e., non-real-time) "
+"scheduling policies as values that may be specified in I<policy>:"
 msgstr ""
-"B<sched_getparam>()  は I<pid> で指定されたプロセスのスケジューリング・パラ"
-"メータを取得する。 I<pid> が 0 ならば、呼び出し元のプロセスのパラメータを取得"
-"する。"
 
-#. type: Plain text
-#: build/C/man2/sched_setparam.2:75
-msgid ""
-"B<sched_setparam>()  checks the validity of I<param> for the scheduling "
-"policy of the thread.  The value I<param-E<gt>sched_priority> must lie "
-"within the range given by B<sched_get_priority_min>(2)  and "
-"B<sched_get_priority_max>(2)."
-msgstr ""
-"B<sched_setparam>()  はスレッドのスケジューリング方針における I<param> の妥当"
-"性をチェックする。 I<param-E<gt>sched_priority> の値は "
-"B<sched_get_priority_min>(2)  と B<sched_get_priority_max>(2)  の範囲に入って"
-"いなければならない。"
+#. type: TP
+#: build/C/man2/sched_setattr.2:56 build/C/man2/sched_setscheduler.2:73
+#, no-wrap
+msgid "B<SCHED_OTHER>"
+msgstr "B<SCHED_OTHER>"
 
+#.  In the 2.6 kernel sources, SCHED_OTHER is actually called
+#.  SCHED_NORMAL.
 #. type: Plain text
-#: build/C/man2/sched_setparam.2:79
-#, fuzzy
-#| msgid ""
-#| "For a discussion of the privileges and resource limits related to "
-#| "scheduling priority and policy, see B<sched_setscheduler>(2)."
-msgid ""
-"For a discussion of the privileges and resource limits related to scheduling "
-"priority and policy, see B<sched>(7)."
-msgstr ""
-"スケジューリングの優先度と方針に関連する特権とリソース制限の 議論に関しては "
-"B<sched_setscheduler>(2)  を参照のこと。"
+#: build/C/man2/sched_setattr.2:61 build/C/man2/sched_setscheduler.2:78
+msgid "the standard round-robin time-sharing policy;"
+msgstr "標準の、ラウンドロビンによる時分割型のスケジューリングポリシー。"
 
-#. type: Plain text
-#: build/C/man2/sched_setparam.2:87
-msgid ""
-"POSIX systems on which B<sched_setparam>()  and B<sched_getparam>()  are "
-"available define B<_POSIX_PRIORITY_SCHEDULING> in I<E<lt>unistd.hE<gt>>."
-msgstr ""
-"B<sched_setparam>()  と B<sched_getparam>()  が使用できる POSIX システムで"
-"は、 I<E<lt>unistd.hE<gt>> に B<_POSIX_PRIORITY_SCHEDULING> が定義されてい"
-"る。"
+#. type: TP
+#: build/C/man2/sched_setattr.2:61 build/C/man2/sched_setscheduler.2:78
+#, no-wrap
+msgid "B<SCHED_BATCH>"
+msgstr "B<SCHED_BATCH>"
 
 #. type: Plain text
-#: build/C/man2/sched_setparam.2:96
-msgid ""
-"On success, B<sched_setparam>()  and B<sched_getparam>()  return 0.  On "
-"error, -1 is returned, and I<errno> is set appropriately."
+#: build/C/man2/sched_setattr.2:64 build/C/man2/sched_setscheduler.2:81
+msgid "for \"batch\" style execution of processes; and"
+msgstr "「バッチ」形式でのプロセスの実行用。"
+
+#. type: TP
+#: build/C/man2/sched_setattr.2:64 build/C/man2/sched_setscheduler.2:81
+#, no-wrap
+msgid "B<SCHED_IDLE>"
+msgstr "B<SCHED_IDLE>"
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:69 build/C/man2/sched_setscheduler.2:86
+msgid "for running I<very> low priority background jobs."
+msgstr "「非常に」低い優先度で動作するバックグラウンドジョブ用。"
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:78 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<sched>(7).  The real-time policies that may be "
+"specified in I<policy> are:"
 msgstr ""
-"成功した場合は B<sched_setparam>()  と B<sched_getparam>()  は 0 を返す。 エ"
-"ラーの場合は -1 が返され、 I<errno> が適切に設定される。"
+"どの実行可能スレッドを選択するかについて、より正確な制御を必要とする 時間の制"
+"約が厳しい特別なアプリケーション用として、 いろいろな「リアルタイム」ポリシー"
+"もサポートされている。 プロセスがこれらのポリシーをいつ使用できるかを決める"
+"ルールについては、B<sched>(7) を参照。 I<policy> には以下のリアルタイムポリ"
+"シーを指定できる。"
+
+#. type: TP
+#: build/C/man2/sched_setattr.2:78 build/C/man2/sched_setscheduler.2:99
+#, no-wrap
+msgid "B<SCHED_FIFO>"
+msgstr "B<SCHED_FIFO>"
 
 #. type: Plain text
-#: build/C/man2/sched_setparam.2:104
-msgid "Invalid arguments: I<param> is NULL or I<pid> is negative"
+#: build/C/man2/sched_setattr.2:81 build/C/man2/sched_setscheduler.2:102
+msgid "a first-in, first-out policy; and"
+msgstr "ファーストイン、ファーストアウト型のポリシー。"
+
+#. type: TP
+#: build/C/man2/sched_setattr.2:81 build/C/man2/sched_setscheduler.2:102
+#, no-wrap
+msgid "B<SCHED_RR>"
+msgstr "B<SCHED_RR>"
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:84 build/C/man2/sched_setscheduler.2:105
+msgid "a round-robin policy."
+msgstr "ラウンドロビン型のポリシー。"
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:86
+msgid "Linux also provides the following policy:"
 msgstr ""
 
+#. type: TP
+#: build/C/man2/sched_setattr.2:86
+#, no-wrap
+msgid "B<SCHED_DEADLINE>"
+msgstr "B<SCHED_DEADLINE>"
+
 #. type: Plain text
-#: build/C/man2/sched_setparam.2:109
-#, fuzzy
-#| msgid ""
-#| "The argument I<param> does not make sense for the current scheduling "
-#| "policy."
+#: build/C/man2/sched_setattr.2:91
+msgid "a deadline scheduling policy; see B<sched>(7)  for details."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:97
 msgid ""
-"(B<sched_setparam>())  The argument I<param> does not make sense for the "
-"current scheduling policy."
-msgstr "引き数 I<param> が現在のスケジューリング方針においては 無意味である。"
+"The I<attr> argument is a pointer to a structure that defines the new "
+"scheduling policy and attributes for the specified thread.  This structure "
+"has the following form:"
+msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sched_setparam.2:116
-#, fuzzy
-#| msgid ""
-#| "The calling process does not have appropriate privileges (Linux: does not "
-#| "have the B<CAP_SYS_NICE> capability)."
+#: build/C/man2/sched_setattr.2:113
+#, no-wrap
 msgid ""
-"(B<sched_setparam>())  The calling process does not have appropriate "
-"privileges (Linux: does not have the B<CAP_SYS_NICE> capability)."
+"struct sched_attr {\n"
+"    u32 size;              /* Size of this structure */\n"
+"    u32 sched_policy;      /* Policy (SCHED_*) */\n"
+"    u64 sched_flags;       /* Flags */\n"
+"    s32 sched_nice;        /* Nice value (SCHED_OTHER,\n"
+"                              SCHED_BATCH) */\n"
+"    u32 sched_priority;    /* Static priority (SCHED_FIFO,\n"
+"                              SCHED_RR) */\n"
+"    /* Remaining fields are for SCHED_DEADLINE */\n"
+"    u64 sched_runtime;\n"
+"    u64 sched_deadline;\n"
+"    u64 sched_period;\n"
+"};\n"
 msgstr ""
-"呼び出し元のプロセスが適切な特権を持っていない (Linux では、 B<CAP_SYS_NICE> "
-"ケーパビリティを持っていない)。"
 
 #. type: Plain text
-#: build/C/man2/sched_setparam.2:119
-msgid "The process whose ID is I<pid> could not be found."
-msgstr "プロセス ID I<pid> のプロセスが見つからなかった。"
+#: build/C/man2/sched_setattr.2:117
+msgid "The fields of this structure are as follows:"
+msgstr "この構造体のフィールドは以下の通りである。"
+
+#. type: TP
+#: build/C/man2/sched_setattr.2:117
+#, no-wrap
+msgid "B<size>"
+msgstr "B<size>"
 
 #. type: Plain text
-#: build/C/man2/sched_setparam.2:127
-#, fuzzy
-#| msgid ""
-#| "Scheduling parameters are in fact per-thread attributes on Linux; see "
-#| "B<sched_setscheduler>(2)."
+#: build/C/man2/sched_setattr.2:132
 msgid ""
-"Scheduling parameters are in fact per-thread attributes on Linux; see "
-"B<sched>(7)."
+"This field should be set to the size of the structure in bytes, as in "
+"I<sizeof(struct sched_attr)>.  If the provided structure is smaller than the "
+"kernel structure, any additional fields are assumed to be '0'.  If the "
+"provided structure is larger than the kernel structure, the kernel verifies "
+"that all additional fields are 0; if they are not, B<sched_setattr>()  fails "
+"with the error B<E2BIG> and updates I<size> to contain the size of the "
+"kernel structure."
 msgstr ""
-"Linux では、スケジューリングパラメータは実際にはスレッド単位の属性である。 "
-"B<sched_setscheduler>(2) 参照。"
 
 #. type: Plain text
-#: build/C/man2/sched_setparam.2:142
+#: build/C/man2/sched_setattr.2:146
+msgid ""
+"The above behavior when the size of the user-space I<sched_attr> structure "
+"does not match the size of the kernel structure allows for future "
+"extensibility of the interface.  Malformed applications that pass oversize "
+"structures won't break in the future if the size of the kernel I<sched_attr> "
+"structure is increased.  In the future, it could also allow applications "
+"that know about a larger user-space I<sched_attr> structure to determine "
+"whether they are running on an older kernel that does not support the larger "
+"structure."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/sched_setattr.2:146
+#, no-wrap
+msgid "I<sched_policy>"
+msgstr "I<sched_policy>"
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:151
+msgid ""
+"This field specifies the scheduling policy, as one of the B<SCHED_*> values "
+"listed above."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/sched_setattr.2:151
+#, no-wrap
+msgid "I<sched_flags>"
+msgstr "I<sched_flags>"
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:162
 #, fuzzy
 #| msgid ""
-#| "B<getpriority>(2), B<nice>(2), B<sched_get_priority_max>(2), "
-#| "B<sched_get_priority_min>(2), B<sched_getaffinity>(2), "
-#| "B<sched_getscheduler>(2), B<sched_setaffinity>(2), "
-#| "B<sched_setscheduler>(2), B<setpriority>(2), B<capabilities>(7)"
+#| "Since Linux 2.6.32, the B<SCHED_RESET_ON_FORK> flag can be ORed in "
+#| "I<policy> when calling B<sched_setscheduler>().  As a result of including "
+#| "this flag, children created by B<fork>(2)  do not inherit privileged "
+#| "scheduling policies.  See B<sched>(7)  for details."
 msgid ""
-"B<getpriority>(2), B<nice>(2), B<sched_get_priority_max>(2), "
-"B<sched_get_priority_min>(2), B<sched_getaffinity>(2), "
-"B<sched_getscheduler>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
-"B<sched_setattr>(2), B<setpriority>(2), B<capabilities>(7), B<sched>(7)"
+"This field contains flags controlling scheduling behavior.  Only one such "
+"flag is currently defined: B<SCHED_FLAG_RESET_ON_FORK>.  As a result of "
+"including this flag, children created by B<fork>(2)  do not inherit "
+"privileged scheduling policies.  See B<sched>(7)  for details."
 msgstr ""
-"B<getpriority>(2), B<nice>(2), B<sched_get_priority_max>(2), "
-"B<sched_get_priority_min>(2), B<sched_getaffinity>(2), "
-"B<sched_getscheduler>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
-"B<setpriority>(2), B<capabilities>(7)"
+"Linux 2.6.32 以降では、 B<sched_setscheduler>() を呼び出す際に I<policy> に "
+"B<SCHED_RESET_ON_FORK> フラグを OR で指定できる。このフラグが指定されると、 "
+"B<fork>(2) で作成された子プロセスは特権が必要なスケジューリングポリシーを継承"
+"しない。 詳細は B<sched>(7) を参照。"
 
-#. type: TH
-#: build/C/man2/sched_setscheduler.2:26
+#. type: TP
+#: build/C/man2/sched_setattr.2:162
 #, no-wrap
-msgid "SCHED_SETSCHEDULER"
-msgstr "SCHED_SETSCHEDULER"
+msgid "I<sched_nice>"
+msgstr ""
 
-#. type: TH
-#: build/C/man2/sched_setscheduler.2:26
-#, fuzzy, no-wrap
-#| msgid "2014-02-27"
-msgid "2014-05-21"
-msgstr "2014-02-27"
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:173
+msgid ""
+"This field specifies the nice value to be set when specifying "
+"I<sched_policy> as B<SCHED_OTHER> or B<SCHED_BATCH>.  The nice value is a "
+"number in the range -20 (high priority)  to +19 (low priority); see "
+"B<setpriority>(2)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/sched_setattr.2:173
+#, no-wrap
+msgid "I<sched_priority>"
+msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:30
+#: build/C/man2/sched_setattr.2:186
 msgid ""
-"sched_setscheduler, sched_getscheduler - set and get scheduling policy/"
-"parameters"
+"This field specifies the static priority to be set when specifying "
+"I<sched_policy> as B<SCHED_FIFO> or B<SCHED_RR>.  The allowed range of "
+"priorities for these policies can be determined using "
+"B<sched_get_priority_min>(2)  and B<sched_get_priority_max>(2).  For other "
+"policies, this field must be specified as 0."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/sched_setattr.2:186
+#, no-wrap
+msgid "I<sched_runtime>"
 msgstr ""
-"sched_setscheduler, sched_getscheduler - スケジューリング・ポリシーとパラメー"
-"タを設定/取得する"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:35
+#: build/C/man2/sched_setattr.2:195
+msgid ""
+"This field specifies the \"Runtime\" parameter for deadline scheduling.  The "
+"value is expressed in nanoseconds.  This field, and the next two fields, are "
+"used only for B<SCHED_DEADLINE> scheduling; for further details, see "
+"B<sched>(7)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/sched_setattr.2:195
 #, no-wrap
-msgid "B<int sched_setscheduler(pid_t >I<pid>B<, int >I<policy>B<,>\n"
-msgstr "B<int sched_setscheduler(pid_t >I<pid>B<, int >I<policy>B<,>\n"
+msgid "I<sched_deadline>"
+msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:37
+#: build/C/man2/sched_setattr.2:199
+msgid ""
+"This field specifies the \"Deadline\" parameter for deadline scheduling.  "
+"The value is expressed in nanoseconds."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/sched_setattr.2:199
 #, no-wrap
-msgid "B<                       const struct sched_param *>I<param>B<);>\n"
-msgstr "B<                       const struct sched_param *>I<param>B<);>\n"
+msgid "I<sched_period>"
+msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:39
+#: build/C/man2/sched_setattr.2:203
+msgid ""
+"This field specifies the \"Period\" parameter for deadline scheduling.  The "
+"value is expressed in nanoseconds."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:210 build/C/man2/sched_setattr.2:262
+msgid ""
+"The I<flags> argument is provided to allow for future extensions to the "
+"interface; in the current implementation it must be specified as 0."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/sched_setattr.2:210
 #, no-wrap
-msgid "B<int sched_getscheduler(pid_t >I<pid>B<);>\n"
-msgstr "B<int sched_getscheduler(pid_t >I<pid>B<);>\n"
+msgid "sched_getattr()"
+msgstr "sched_getattr()"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:49
+#: build/C/man2/sched_setattr.2:221
 #, fuzzy
 #| msgid ""
-#| "B<sched_getscheduler>()  queries the scheduling policy currently applied "
-#| "to the thread identified by I<pid>.  If I<pid> equals zero, the policy of "
-#| "the calling thread will be retrieved."
+#| "The B<sched_setscheduler>()  system call sets both the scheduling policy "
+#| "and parameters for the thread whose ID is specified in I<pid>.  If I<pid> "
+#| "equals zero, the scheduling policy and parameters of the calling thread "
+#| "will be set."
+msgid ""
+"The B<sched_getattr>()  system call fetches the scheduling policy and the "
+"associated attributes for the thread whose ID is specified in I<pid>.  If "
+"I<pid> equals zero, the scheduling policy and attributes of the calling "
+"thread will be retrieved."
+msgstr ""
+"B<sched_setscheduler>() システムコールは、 I<pid> で指定された ID を持つス"
+"レッドのスケジューリングポリシーとスケジューリングパラメーターの両方を設定す"
+"る。 I<pid> が 0 の場合、呼び出したスレッド自身のスケジューリングポリシーとス"
+"ケジューリングパラメーターが設定される。"
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:231
 msgid ""
-"The B<sched_setscheduler>()  system call sets both the scheduling policy and "
-"parameters for the thread whose ID is specified in I<pid>.  If I<pid> equals "
-"zero, the scheduling policy and parameters of the calling thread will be set."
+"The I<size> argument should be set to the size of the I<sched_attr> "
+"structure as known to user space.  The value must be at least as large as "
+"the size of the initially published I<sched_attr> structure, or the call "
+"fails with the error B<EINVAL>."
 msgstr ""
-"B<sched_getscheduler>()  は I<pid> で識別されるスレッドに現在適用されている "
-"スケジューリング・ポリシーを尋ねる。I<pid> が 0 ならば、呼び出した スレッド自"
-"身のスケジューリング・ポリシーが返される。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:53
+#: build/C/man2/sched_setattr.2:241
 msgid ""
-"The scheduling parameters are specified in the I<param> argument, which is a "
-"pointer to a structure of the following form:"
+"The retrieved scheduling attributes are placed in the fields of the "
+"I<sched_attr> structure pointed to by I<attr>.  The kernel sets I<attr.size> "
+"to the size of its I<sched_attr> structure."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:61
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<struct sched_param {\n"
-#| "    ...\n"
-#| "    int >I<sched_priority>B<;\n"
-#| "    ...\n"
-#| "};>\n"
+#: build/C/man2/sched_setattr.2:257
 msgid ""
-"struct sched_param {\n"
-"    ...\n"
-"    int sched_priority;\n"
-"    ...\n"
-"};\n"
+"If the caller-provided I<attr> buffer is larger than the kernel's "
+"I<sched_attr> structure, the additional bytes in the user-space structure "
+"are not touched.  If the caller-provided structure is smaller than the "
+"kernel I<sched_attr> structure and the kernel needs to return values outside "
+"the provided space, B<sched_getattr>()  fails with the error B<E2BIG>.  As "
+"with B<sched_setattr>(), these semantics allow for future extensibility of "
+"the interface."
 msgstr ""
-"B<struct sched_param {\n"
-"    ...\n"
-"    int >I<sched_priority>B<;\n"
-"    ...\n"
-"};>\n"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:69
+#: build/C/man2/sched_setattr.2:271
+#, fuzzy
+#| msgid ""
+#| "On success, B<sched_setparam>()  and B<sched_getparam>()  return 0.  On "
+#| "error, -1 is returned, and I<errno> is set appropriately."
 msgid ""
-"In the current implementation, the structure contains only one field, "
-"I<sched_priority>.  The interpretation of I<param> depends on the selected "
-"policy."
+"On success, B<sched_setattr>()  and B<sched_getattr>()  return 0.  On error, "
+"-1 is returned, and I<errno> is set to indicate the cause of the error."
 msgstr ""
+"成功した場合は B<sched_setparam>()  と B<sched_getparam>()  は 0 を返す。 エ"
+"ラーの場合は -1 が返され、 I<errno> が適切に設定される。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:73
+#: build/C/man2/sched_setattr.2:276
 msgid ""
-"Currently, Linux supports the following \"normal\" (i.e., non-real-time) "
-"scheduling policies as values that may be specified in I<policy>:"
+"B<sched_getattr>()  and B<sched_setattr>()  can both fail for the following "
+"reasons:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:284
+#, fuzzy
+#| msgid "Invalid arguments: I<pid> is negative or I<param> is NULL."
+msgid "I<attr> is NULL; or I<pid> is negative; or I<flags> is not zero."
+msgstr "無効な引き数: I<pid> が負である、または I<param> が NULL である。"
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:293
+msgid "In addition, B<sched_getattr>()  can fail for the following reasons:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/sched_setscheduler.2:73
+#: build/C/man2/sched_setattr.2:293 build/C/man2/sched_setattr.2:310
 #, no-wrap
-msgid "B<SCHED_OTHER>"
-msgstr "B<SCHED_OTHER>"
+msgid "B<E2BIG>"
+msgstr ""
 
-#.  In the 2.6 kernel sources, SCHED_OTHER is actually called
-#.  SCHED_NORMAL.
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:78
-msgid "the standard round-robin time-sharing policy;"
-msgstr "標準の、ラウンドロビンによる時分割型のスケジューリング・ポリシー。"
+#: build/C/man2/sched_setattr.2:300
+msgid "The buffer specified by I<size> and I<attr> is too small."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:306
+msgid ""
+"I<size> is invalid; that is, it is smaller than the initial version of the "
+"I<sched_attr> structure (48 bytes) or larger than the system page size."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:310
+msgid "In addition, B<sched_setattr>()  can fail for the following reasons:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:318
+msgid ""
+"The buffer specified by I<size> and I<attr> is larger than the kernel "
+"structure, and one or more of the excess bytes is nonzero."
+msgstr ""
 
 #. type: TP
-#: build/C/man2/sched_setscheduler.2:78
+#: build/C/man2/sched_setattr.2:318
 #, no-wrap
-msgid "B<SCHED_BATCH>"
-msgstr "B<SCHED_BATCH>"
+msgid "B<EBUSY>"
+msgstr "B<EBUSY>"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:81
-msgid "for \"batch\" style execution of processes; and"
-msgstr "「バッチ」形式でのプロセスの実行用。"
+#: build/C/man2/sched_setattr.2:323
+msgid "B<SCHED_DEADLINE> admission control failure, see B<sched>(7)."
+msgstr ""
 
-#. type: TP
-#: build/C/man2/sched_setscheduler.2:81
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:339
+msgid ""
+"I<attr.sched_policy> is not one of the recognized policies; I<attr."
+"sched_flags> contains a flag other than B<SCHED_FLAG_RESET_ON_FORK>; or "
+"I<attr.sched_priority> is invalid; or I<attr.sched_policy> is "
+"B<SCHED_DEADLINE> and the deadline scheduling parameters in I<attr> are "
+"invalid."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:342
+msgid "The caller does not have appropriate privileges."
+msgstr "呼び出した元が適切な特権を持っていない。"
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:348
+msgid ""
+"The caller's CPU affinity mask does not include all CPUs in the system (see "
+"B<sched_setaffinity>(2))."
+msgstr ""
+
+#.  FIXME . Add glibc version
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:351
+msgid "These system calls first appeared in Linux 3.14."
+msgstr "これらのシステムコールは Linux 3.14 で初めて登場した。"
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:353
+msgid "These system calls are nonstandard Linux extensions."
+msgstr "これらのシステムコールは非標準の Linux による拡張である。"
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:369
+msgid ""
+"B<sched_setattr>()  provides a superset of the functionality of "
+"B<sched_setscheduler>(2), B<sched_setparam>(2), B<nice>(2), and (other than "
+"the ability to set the priority of all processes belonging to a specified "
+"user or all processes in a specified group)  B<setpriority>(2).  "
+"Analogously, B<sched_getattr()> provides a superset of the functionality of "
+"B<sched_getscheduler>(2), B<sched_getparam>(2), and (partially)  "
+"B<getpriority>(2)."
+msgstr ""
+
+#.  FIXME . patch sent to Peter Zijlstra
+#.  In Linux versions up to up 3.15,
+#.  FIXME . patch from Peter Zijlstra pending
+#.  .BR sched_setattr ()
+#.  allowed a negative
+#.  .I attr.sched_policy
+#.  value.
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:385
+msgid ""
+"In Linux versions up to 3.15, B<sched_settattr>()  failed with the error "
+"B<EFAULT> instead of B<E2BIG> for the case described in ERRORS."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/sched_setattr.2:407
+msgid ""
+"B<chrt>(1), B<nice>(2), B<sched_get_priority_max>(2), "
+"B<sched_get_priority_min>(2), B<sched_getaffinity>(2), "
+"B<sched_getscheduler>(2), B<sched_getparam>(2), B<sched_rr_get_interval>(2), "
+"B<sched_setaffinity>(2), B<sched_setscheduler>(2), B<sched_setparam>(2), "
+"B<sched_yield>(2), B<setpriority>(2), B<pthread_getschedparam>(3), "
+"B<pthread_setschedparam>(3), B<pthread_setschedprio>(3), B<capabilities>(7), "
+"B<cpuset>(7), B<sched>(7)"
+msgstr ""
+"B<chrt>(1), B<nice>(2), B<sched_get_priority_max>(2), "
+"B<sched_get_priority_min>(2), B<sched_getaffinity>(2), "
+"B<sched_getscheduler>(2), B<sched_getparam>(2), B<sched_rr_get_interval>(2), "
+"B<sched_setaffinity>(2), B<sched_setscheduler>(2), B<sched_setparam>(2), "
+"B<sched_yield>(2), B<setpriority>(2), B<pthread_getschedparam>(3), "
+"B<pthread_setschedparam>(3), B<pthread_setschedprio>(3), B<capabilities>(7), "
+"B<cpuset>(7), B<sched>(7)"
+
+#. type: TH
+#: build/C/man2/sched_setparam.2:30
 #, no-wrap
-msgid "B<SCHED_IDLE>"
-msgstr "B<SCHED_IDLE>"
+msgid "SCHED_SETPARAM"
+msgstr "SCHED_SETPARAM"
+
+#. type: TH
+#: build/C/man2/sched_setparam.2:30
+#, no-wrap
+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 - スケジューリングパラメータの設定と取得を行な"
+"う"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:38
+#, no-wrap
+msgid "B<int sched_setparam(pid_t >I<pid>B<, const struct sched_param *>I<param>B<);>\n"
+msgstr "B<int sched_setparam(pid_t >I<pid>B<, const struct sched_param *>I<param>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:40
+#, no-wrap
+msgid "B<int sched_getparam(pid_t >I<pid>B<, struct sched_param *>I<param>B<);>\n"
+msgstr "B<int sched_getparam(pid_t >I<pid>B<, struct sched_param *>I<param>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:46
+#, no-wrap
+msgid ""
+"B<struct sched_param {\n"
+"    ...\n"
+"    int >I<sched_priority>B<;\n"
+"    ...\n"
+"};>\n"
+msgstr ""
+"B<struct sched_param {\n"
+"    ...\n"
+"    int >I<sched_priority>B<;\n"
+"    ...\n"
+"};>\n"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:60
+msgid ""
+"B<sched_setparam>()  sets the scheduling parameters associated with the "
+"scheduling policy for the process identified by I<pid>.  If I<pid> is zero, "
+"then the parameters of the calling process are set.  The interpretation of "
+"the argument I<param> depends on the scheduling policy of the process "
+"identified by I<pid>.  See B<sched>(7)  for a description of the scheduling "
+"policies supported under Linux."
+msgstr ""
+"B<sched_setparam>()  は I<pid> で指定されたプロセスのスケジューリング方針 "
+"(scheduling policy) に 関連するスケジューリングパラメータを設定する。 I<pid> "
+"が 0 ならば、呼び出し元のプロセスのパラメータが設定される。 引き数 I<param> "
+"の解釈は、 I<pid> で指定されたプロセスのスケジューリング方針によって異なる。 "
+"Linux でサポートされているスケジューリング方針の説明は B<sched>(7)  を参照の"
+"こと。"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:66
+msgid ""
+"B<sched_getparam>()  retrieves the scheduling parameters for the process "
+"identified by I<pid>.  If I<pid> is zero, then the parameters of the calling "
+"process are retrieved."
+msgstr ""
+"B<sched_getparam>()  は I<pid> で指定されたプロセスのスケジューリングパラメー"
+"タを取得する。 I<pid> が 0 ならば、呼び出し元のプロセスのパラメータを取得す"
+"る。"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:75
+msgid ""
+"B<sched_setparam>()  checks the validity of I<param> for the scheduling "
+"policy of the thread.  The value I<param-E<gt>sched_priority> must lie "
+"within the range given by B<sched_get_priority_min>(2)  and "
+"B<sched_get_priority_max>(2)."
+msgstr ""
+"B<sched_setparam>()  はスレッドのスケジューリング方針における I<param> の妥当"
+"性をチェックする。 I<param-E<gt>sched_priority> の値は "
+"B<sched_get_priority_min>(2)  と B<sched_get_priority_max>(2)  の範囲に入って"
+"いなければならない。"
+
+#. type: Plain text
+#: 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<sched>(7)."
+msgstr ""
+"スケジューリングの優先度と方針に関連する特権とリソース制限の 議論に関しては "
+"B<sched>(7)  を参照のこと。"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:87
+msgid ""
+"POSIX systems on which B<sched_setparam>()  and B<sched_getparam>()  are "
+"available define B<_POSIX_PRIORITY_SCHEDULING> in I<E<lt>unistd.hE<gt>>."
+msgstr ""
+"B<sched_setparam>()  と B<sched_getparam>()  が使用できる POSIX システムで"
+"は、 I<E<lt>unistd.hE<gt>> に B<_POSIX_PRIORITY_SCHEDULING> が定義されてい"
+"る。"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:96
+msgid ""
+"On success, B<sched_setparam>()  and B<sched_getparam>()  return 0.  On "
+"error, -1 is returned, and I<errno> is set appropriately."
+msgstr ""
+"成功した場合は B<sched_setparam>()  と B<sched_getparam>()  は 0 を返す。 エ"
+"ラーの場合は -1 が返され、 I<errno> が適切に設定される。"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:104
+msgid "Invalid arguments: I<param> is NULL or I<pid> is negative"
+msgstr "無効な引き数: I<param> が NULL である、または I<pid> が負である。"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:109
+msgid ""
+"(B<sched_setparam>())  The argument I<param> does not make sense for the "
+"current scheduling policy."
+msgstr ""
+"(B<sched_setparam>()) 引き数 I<param> が現在のスケジューリング方針においては "
+"無意味である。"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:116
+msgid ""
+"(B<sched_setparam>())  The calling process does not have appropriate "
+"privileges (Linux: does not have the B<CAP_SYS_NICE> capability)."
+msgstr ""
+"(B<sched_setparam>()) 呼び出し元のプロセスが適切な特権を持っていない (Linux "
+"では、 B<CAP_SYS_NICE> ケーパビリティを持っていない)。"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:119
+msgid "The process whose ID is I<pid> could not be found."
+msgstr "プロセス ID I<pid> のプロセスが見つからなかった。"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:127
+msgid ""
+"Scheduling parameters are in fact per-thread attributes on Linux; see "
+"B<sched>(7)."
+msgstr ""
+"Linux では、スケジューリングパラメータは実際にはスレッド単位の属性である。 "
+"B<sched>(7) 参照。"
+
+#. type: Plain text
+#: build/C/man2/sched_setparam.2:142
+msgid ""
+"B<getpriority>(2), B<nice>(2), B<sched_get_priority_max>(2), "
+"B<sched_get_priority_min>(2), B<sched_getaffinity>(2), "
+"B<sched_getscheduler>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
+"B<sched_setattr>(2), B<setpriority>(2), B<capabilities>(7), B<sched>(7)"
+msgstr ""
+"B<getpriority>(2), B<nice>(2), B<sched_get_priority_max>(2), "
+"B<sched_get_priority_min>(2), B<sched_getaffinity>(2), "
+"B<sched_getscheduler>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
+"B<sched_setattr>(2), B<setpriority>(2), B<capabilities>(7), B<sched>(7)"
+
+#. type: TH
+#: build/C/man2/sched_setscheduler.2:26
+#, no-wrap
+msgid "SCHED_SETSCHEDULER"
+msgstr "SCHED_SETSCHEDULER"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:30
+msgid ""
+"sched_setscheduler, sched_getscheduler - set and get scheduling policy/"
+"parameters"
+msgstr ""
+"sched_setscheduler, sched_getscheduler - スケジューリングポリシーとパラメータ"
+"を設定/取得する"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:35
+#, no-wrap
+msgid "B<int sched_setscheduler(pid_t >I<pid>B<, int >I<policy>B<,>\n"
+msgstr "B<int sched_setscheduler(pid_t >I<pid>B<, int >I<policy>B<,>\n"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:37
+#, no-wrap
+msgid "B<                       const struct sched_param *>I<param>B<);>\n"
+msgstr "B<                       const struct sched_param *>I<param>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:39
+#, no-wrap
+msgid "B<int sched_getscheduler(pid_t >I<pid>B<);>\n"
+msgstr "B<int sched_getscheduler(pid_t >I<pid>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:49
+msgid ""
+"The B<sched_setscheduler>()  system call sets both the scheduling policy and "
+"parameters for the thread whose ID is specified in I<pid>.  If I<pid> equals "
+"zero, the scheduling policy and parameters of the calling thread will be set."
+msgstr ""
+"B<sched_setscheduler>() システムコールは、 I<pid> で指定された ID を持つス"
+"レッドのスケジューリングポリシーとスケジューリングパラメーターの両方を設定す"
+"る。 I<pid> が 0 の場合、呼び出したスレッド自身のスケジューリングポリシーとス"
+"ケジューリングパラメーターが設定される。"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:53
+msgid ""
+"The scheduling parameters are specified in the I<param> 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<sched_priority>.  The interpretation of I<param> depends on the selected "
+"policy."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:90
+msgid "For each of the above policies, I<param-E<gt>sched_priority> must be 0."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:116
+msgid ""
+"For each of the above policies, I<param-E<gt>sched_priority> specifies a "
+"scheduling priority for the thread.  This is a number in the range returned "
+"by calling B<sched_get_priority_min>(2)  and B<sched_get_priority_max>(2)  "
+"with the specified I<policy>.  On Linux, these system calls return, "
+"respectively, 1 and 99."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:129
+msgid ""
+"Since Linux 2.6.32, the B<SCHED_RESET_ON_FORK> flag can be ORed in I<policy> "
+"when calling B<sched_setscheduler>().  As a result of including this flag, "
+"children created by B<fork>(2)  do not inherit privileged scheduling "
+"policies.  See B<sched>(7)  for details."
+msgstr ""
+"Linux 2.6.32 以降では、 B<sched_setscheduler>() を呼び出す際に I<policy> に "
+"B<SCHED_RESET_ON_FORK> フラグを OR で指定できる。このフラグが指定されると、 "
+"B<fork>(2) で作成された子プロセスは特権が必要なスケジューリングポリシーを継承"
+"しない。 詳細は B<sched>(7) を参照。"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:135
+msgid ""
+"B<sched_getscheduler>()  returns the current scheduling policy of the thread "
+"identified by I<pid>.  If I<pid> equals zero, the policy of the calling "
+"thread will be retrieved."
+msgstr ""
+"B<sched_getscheduler>()  は I<pid> で識別されるスレッドの現在のスケジューリン"
+"グポリシーを返す。I<pid> が 0 ならば、呼び出した スレッド自身のスケジューリン"
+"グポリシーが返される。"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:145
+msgid ""
+"On success, B<sched_setscheduler>()  returns zero.  On success, "
+"B<sched_getscheduler>()  returns the policy for the thread (a nonnegative "
+"integer).  On error, both calls return -1, and I<errno> is set appropriately."
+msgstr ""
+"成功した場合、 B<sched_setscheduler>()  は 0 を返す。 成功した場合、 "
+"B<sched_getscheduler>()  は現在のそのスレッドのポリシー (非負の整数) を返"
+"す。 エラーの場合、 どちらのコールも -1 を返し、 I<errno> が適切に設定され"
+"る。"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:153
+msgid "Invalid arguments: I<pid> is negative or I<param> is NULL."
+msgstr "無効な引き数: I<pid> が負である、または I<param> が NULL である。"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:158
+msgid ""
+"(B<sched_setscheduler>())  I<policy> is not one of the recognized policies."
+msgstr "(B<sched_setscheduler>()) I<policy> が認識できるポリシーではない。"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:164
+msgid ""
+"(B<sched_setscheduler>())  I<param> does not make sense for the specified "
+"I<policy>."
+msgstr ""
+"(B<sched_setscheduler>()) 引き数 I<param> が指定された I<policy> では意味を持"
+"たない。"
+
+#. type: Plain text
+#: 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:173
+msgid ""
+"POSIX.1-2001 (but see BUGS below).  The B<SCHED_BATCH> and B<SCHED_IDLE> "
+"policies are Linux-specific."
+msgstr ""
+"POSIX.1-2001 (但し、下記のバグの節も参照)。 B<SCHED_BATCH> と B<SCHED_IDLE> "
+"ポリシーは Linux 固有である。"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:177
+msgid ""
+"Further details of the semantics of all of the above \"normal\" and \"real-"
+"time\" scheduling policies can be found in B<sched>(7)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:185
+msgid ""
+"POSIX systems on which B<sched_setscheduler>()  and B<sched_getscheduler>()  "
+"are available define B<_POSIX_PRIORITY_SCHEDULING> in I<E<lt>unistd.hE<gt>>."
+msgstr ""
+"POSIX システムでは I<E<lt>unistd.hE<gt>> に B<_POSIX_PRIORITY_SCHEDULING> が"
+"定義されている場合にのみ B<sched_setscheduler>()  と "
+"B<sched_getscheduler>()  が使用できる。"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:193
+msgid ""
+"POSIX.1 does not detail the permissions that an unprivileged thread requires "
+"in order to call B<sched_setscheduler>(), 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<sched_setscheduler>()  を呼び出すために必要な"
+"権限の詳細を規定しておらず、 詳細はシステムにより異なる。 例えば、Solaris 7 "
+"のマニュアルページでは、 呼び出し元の実ユーザ ID または実効ユーザ ID が 設定"
+"対象の実ユーザ ID か保存 (save) set-user-ID と 一致していなければならない、と"
+"なっている。"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:214
+msgid ""
+"The scheduling policy and parameters are in fact per-thread attributes on "
+"Linux.  The value returned from a call to B<gettid>(2)  can be passed in the "
+"argument I<pid>.  Specifying I<pid> as 0 will operate on the attributes of "
+"the calling thread, and passing the value returned from a call to "
+"B<getpid>(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<pthread_setschedparam>(3), B<pthread_getschedparam>(3), and "
+"B<pthread_setschedprio>(3), instead of the B<sched_*>(2)  system calls.)"
+msgstr ""
+"Linux では、 スケジューリングポリシーとスケジューリングパラメータは、 実際に"
+"はスレッド単位の属性である。 B<gettid>(2) の呼び出しの返り値をこのシステム"
+"コールの I<pid> 引き数として渡すことができる。 I<pid> に 0 を指定すると、 呼"
+"び出し元のスレッドの属性が設定される。 B<getpid>(2) コールからの返り値を "
+"I<pid> に指定すると、 スレッドグループのメインスレッドの属性が設定される "
+"(POSIX スレッド API を使用している場合は、 B<sched_*>(2) システムコールの代わ"
+"りに B<pthread_setschedparam>(3), B<pthread_getschedparam>(3), and "
+"B<pthread_setschedprio>(3) を使用すること)。"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:222
+msgid ""
+"POSIX says that on success, B<sched_setscheduler>()  should return the "
+"previous scheduling policy.  Linux B<sched_setscheduler>()  does not conform "
+"to this requirement, since it always returns 0 on success."
+msgstr ""
+"POSIX では、成功時に B<sched_setscheduler>()  は直前のスケジューリングポリ"
+"シーを返すべきとされている。 Linux の B<sched_setscheduler>()  はこの要求仕様"
+"に準拠しておらず、 成功時には常に 0 を返す。"
+
+#. type: Plain text
+#: build/C/man2/sched_setscheduler.2:241
+msgid ""
+"B<chrt>(1), B<nice>(2), B<sched_get_priority_max>(2), "
+"B<sched_get_priority_min>(2), B<sched_getaffinity>(2), B<sched_getattr>(2), "
+"B<sched_getparam>(2), B<sched_rr_get_interval>(2), B<sched_setaffinity>(2), "
+"B<sched_setattr>(2), B<sched_setparam>(2), B<sched_yield>(2), "
+"B<setpriority>(2), B<capabilities>(7), B<cpuset>(7), B<sched>(7)"
+msgstr ""
+"B<chrt>(1), B<nice>(2), B<sched_get_priority_max>(2), "
+"B<sched_get_priority_min>(2), B<sched_getaffinity>(2), B<sched_getattr>(2), "
+"B<sched_getparam>(2), B<sched_rr_get_interval>(2), B<sched_setaffinity>(2), "
+"B<sched_setattr>(2), B<sched_setparam>(2), B<sched_yield>(2), "
+"B<setpriority>(2), B<capabilities>(7), B<cpuset>(7), B<sched>(7)"
+
+#. type: TH
+#: build/C/man2/sched_yield.2:29
+#, no-wrap
+msgid "SCHED_YIELD"
+msgstr "SCHED_YIELD"
+
+#. 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<int sched_yield(void);>"
+msgstr "B<int sched_yield(void);>"
+
+#. type: Plain text
+#: build/C/man2/sched_yield.2:41
+msgid ""
+"B<sched_yield>()  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<sched_yield>()  を呼び出すことで、呼び出したスレッドが CPU の使用権を手放す"
+"ことができる。 そのスレッドは、そのスレッドの静的プライオリティのキューの末尾"
+"に 移動し、新しいスレッドが走り始める。"
+
+#. type: Plain text
+#: build/C/man2/sched_yield.2:48
+msgid ""
+"On success, B<sched_yield>()  returns 0.  On error, -1 is returned, and "
+"I<errno> is set appropriately."
+msgstr ""
+"成功した場合は B<sched_yield>()  は 0 を返す。 エラーの場合は -1 が返され、 "
+"I<errno> が適切に設定される。"
+
+#. type: Plain text
+#: build/C/man2/sched_yield.2:52
+msgid "In the Linux implementation, B<sched_yield>()  always succeeds."
+msgstr "Linux の実装では、 B<sched_yield>()  は常に成功する。"
+
+#. type: Plain text
+#: build/C/man2/sched_yield.2:59
+msgid ""
+"If the calling thread is the only thread in the highest priority list at "
+"that time, it will continue to run after a call to B<sched_yield>()."
+msgstr ""
+"B<sched_yield>()  を呼び出した時点で最大優先度のリストの中に呼び出し元のス"
+"レッドしか 存在しなければ、そのスレッドは呼び出し後も走り続けることになる。"
+
+#. type: Plain text
+#: build/C/man2/sched_yield.2:66
+msgid ""
+"POSIX systems on which B<sched_yield>()  is available define "
+"B<_POSIX_PRIORITY_SCHEDULING> in I<E<lt>unistd.hE<gt>>."
+msgstr ""
+"POSIX システムで B<sched_yield>()  は I<E<lt>unistd.hE<gt>> に "
+"B<_POSIX_PRIORITY_SCHEDULING> が定義されている場合にのみ使用可能である。"
+
+#. type: Plain text
+#: build/C/man2/sched_yield.2:79
+msgid ""
+"Strategic calls to B<sched_yield>()  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<sched_yield>()  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<sched_yield>()  を戦略的に呼び出すことで、(極度に) 競合するリソース (mutex "
+"など)  を呼び出し元が解放した際に他のスレッドやプロセスに実行機会を与えること"
+"で、 性能を上げることができる。 B<sched_yield>()  を必要もないのに呼び出した"
+"り、不適切な場面 (例えば、他のスケジューリング 対象となるスレッドが必要とする"
+"リソースを呼び出し元が保持したままの状態)  で呼び出したりするのは避けること。"
+"なぜなら、 B<sched_yield>()  の呼び出しより不必要なコンテキストスイッチが起こ"
+"り、システム性能が 劣化する結果になるからである。"
+
+#. type: TH
+#: build/C/man7/sched.7:32
+#, no-wrap
+msgid "SCHED"
+msgstr "SCHED"
+
+#. type: Plain text
+#: build/C/man7/sched.7:35
+msgid "sched - overview of scheduling APIs"
+msgstr ""
+
+#. type: SS
+#: build/C/man7/sched.7:36
+#, no-wrap
+msgid "API summary"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:38
+msgid "The Linux scheduling APIs are as follows:"
+msgstr ""
+
+#. type: TP
+#: build/C/man7/sched.7:38
+#, no-wrap
+msgid "B<sched_setscheduler>(2)"
+msgstr "B<sched_setscheduler>(2)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:41
+msgid "Set the scheduling policy and parameters of a specified thread."
+msgstr ""
+
+#. type: TP
+#: build/C/man7/sched.7:41
+#, no-wrap
+msgid "B<sched_getscheduler>(2)"
+msgstr "B<sched_getscheduler>(2)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:44
+msgid "Return the scheduling policy of a specified thread."
+msgstr "指定されたスレッドのスケジューリングポリシーを返す。"
+
+#. type: TP
+#: build/C/man7/sched.7:44
+#, no-wrap
+msgid "B<sched_setparam>(2)"
+msgstr "B<sched_setparam>(2)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:47
+msgid "Set the scheduling parameters of a specified thread."
+msgstr ""
+
+#. type: TP
+#: build/C/man7/sched.7:47
+#, no-wrap
+msgid "B<sched_getparam>(2)"
+msgstr "B<sched_getparam>(2)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:50
+msgid "Fetch the scheduling parameters of a specified thread."
+msgstr ""
+
+#. type: TP
+#: build/C/man7/sched.7:50
+#, no-wrap
+msgid "B<sched_get_priority_max>(2)"
+msgstr "B<sched_get_priority_max>(2)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:53
+#, fuzzy
+#| msgid ""
+#| "The argument I<policy> does not identify a defined scheduling policy."
+msgid "Return the minimum priority available in a specified scheduling policy."
+msgstr "引き数 I<policy> が定義されているスケジューリング方針と一致しない。"
+
+#. type: TP
+#: build/C/man7/sched.7:53
+#, no-wrap
+msgid "B<sched_get_priority_min>(2)"
+msgstr "B<sched_get_priority_min>(2)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:56
+#, fuzzy
+#| msgid ""
+#| "The argument I<policy> does not identify a defined scheduling policy."
+msgid "Return the maximum priority available in a specified scheduling policy."
+msgstr "引き数 I<policy> が定義されているスケジューリング方針と一致しない。"
+
+#. type: TP
+#: build/C/man7/sched.7:56
+#, no-wrap
+msgid "B<sched_rr_get_interval>(2)"
+msgstr "B<sched_rr_get_interval>(2)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:60
+msgid ""
+"Fetch the quantum used for threads that are scheduled under the \"round-robin"
+"\" scheduling policy."
+msgstr ""
+
+#. type: TP
+#: build/C/man7/sched.7:60
+#, no-wrap
+msgid "B<sched_yield>(2)"
+msgstr "B<sched_yield>(2)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:64
+msgid ""
+"Cause the caller to relinquish the CPU, so that some other thread be "
+"executed."
+msgstr ""
+
+#. type: TP
+#: build/C/man7/sched.7:64
+#, no-wrap
+msgid "B<sched_setaffinity>(2)"
+msgstr "B<sched_setaffinity>(2)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:68
+msgid "(Linux-specific)  Set the CPU affinity of a specified thread."
+msgstr ""
+
+#. type: TP
+#: build/C/man7/sched.7:68
+#, no-wrap
+msgid "B<sched_getaffinity>(2)"
+msgstr "B<sched_getaffinity>(2)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:72
+msgid "(Linux-specific)  Get the CPU affinity of a specified thread."
+msgstr ""
+
+#. type: TP
+#: build/C/man7/sched.7:72
+#, no-wrap
+msgid "B<sched_setattr>(2)"
+msgstr "B<sched_setattr>(2)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:79
+msgid ""
+"Set the scheduling policy and parameters of a specified thread.  This (Linux-"
+"specific) system call provides a superset of the functionality of "
+"B<sched_setscheduler>(2)  and B<sched_setparam>(2)."
+msgstr ""
+
+#. type: TP
+#: build/C/man7/sched.7:79
+#, no-wrap
+msgid "B<sched_getattr>(2)"
+msgstr "B<sched_getattr>(2)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:87
+msgid ""
+"Fetch the scheduling policy and parameters of a specified thread.  This "
+"(Linux-specific) system call provides a superset of the functionality of "
+"B<sched_getscheduler>(2)  and B<sched_getparam>(2)."
+msgstr ""
+
+#. type: SS
+#: build/C/man7/sched.7:87
+#, no-wrap
+msgid "Scheduling policies"
+msgstr "スケジューリングポリシー (scheduling policy)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:95
+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<static> scheduling priority, I<sched_priority>.  The "
+"scheduler makes its decisions based on knowledge of the scheduling policy "
+"and static priority of all threads on the system."
+msgstr ""
+"スケジューラ (scheduler) とはカーネルの構成要素で、 次に CPU で実行される実行"
+"可能なスレッドを決定するものである。 各々のスレッドには、スケジューリングポリ"
+"シーと 「静的」なスケジューリング優先度 I<sched_priority> が対応付けられる。 "
+"スケジューラは、システム上の全スレッドのスケジューリングポリシーと 静的優先度"
+"に関する知識に基づいて決定を行う。"
+
+#. type: Plain text
+#: build/C/man7/sched.7:100
+msgid ""
+"For threads scheduled under one of the normal scheduling policies "
+"(B<SCHED_OTHER>, B<SCHED_IDLE>, B<SCHED_BATCH>), I<sched_priority> is not "
+"used in scheduling decisions (it must be specified as 0)."
+msgstr ""
+"通常のスケジューリングポリシー (B<SCHED_OTHER>, B<SCHED_IDLE>, "
+"B<SCHED_BATCH>)  の下でスケジューリングされるスレッドでは、 "
+"I<sched_priority> はスケジューリングの決定に使用されない (I<sched_priority> "
+"には 0 を指定しなければならない)。"
+
+#. type: Plain text
+#: build/C/man7/sched.7:114
+msgid ""
+"Processes scheduled under one of the real-time policies (B<SCHED_FIFO>, "
+"B<SCHED_RR>) have a I<sched_priority> 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<sched_get_priority_min>(2)  and "
+"B<sched_get_priority_max>(2)  to find the range of priorities supported for "
+"a particular policy."
+msgstr ""
+"リアルタイムスケジューリングポリシー (B<SCHED_FIFO>, B<SCHED_RR>)  の下でスケ"
+"ジューリングされるスレッドは、 I<sched_priority> の値は 1 (最低) から 99 (最"
+"高) の範囲となる (数字から分かるように、リアルタイムスレッドは常に通常のス"
+"レッドよりも 高い優先度を持つ)。 ここで注意すべきなのは、POSIX.1-2001 が要求"
+"しているのは、 リアルタイムポリシーの実装において最低 32 種類の異なる優先度レ"
+"ベルが サポートされることだけであり、いくつかのシステムではこの最低限の数の "
+"優先度しか提供されていない、ということである。 移植性が必要なプログラムで"
+"は、 B<sched_get_priority_min>(2)  と B<sched_get_priority_max>(2)  を使っ"
+"て、あるポリシーがサポートする優先度の範囲を調べるべきである。"
+
+#. type: Plain text
+#: build/C/man7/sched.7:120
+msgid ""
+"Conceptually, the scheduler maintains a list of runnable threads for each "
+"possible I<sched_priority> 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<sched_priority> の値それぞれに対して 実行"
+"可能なスレッドのリストを管理している。 どのスレッドを次に実行するかを決定する"
+"ために、 スケジューラは静的優先度の最も高い空でないリストを探して、 そのリス"
+"トの先頭のスレッドを選択する。"
+
+#. type: Plain text
+#: build/C/man7/sched.7:124
+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 ""
+"各スレッドのスケジューリングポリシーは、 そのスレッドが同じ静的優先度を持つス"
+"レッドのリストの中のどこに挿入され、 このリストの中をどのように移動するかを決"
+"定する。"
+
+#. type: Plain text
+#: build/C/man7/sched.7:132
+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)、そのスレッドの静的優先度レベルの待ちリストに 戻される。スケ"
+"ジューリングポリシーは同じ静的優先度を持つ実行可能な スレッドのリストの中で順"
+"番のみを決定する。"
+
+#. type: SS
+#: build/C/man7/sched.7:132
+#, no-wrap
+msgid "SCHED_FIFO: First in-first out scheduling"
+msgstr "SCHED_FIFO: ファーストインファーストアウトスケジューリング"
+
+#. type: Plain text
+#: build/C/man7/sched.7:141
+msgid ""
+"B<SCHED_FIFO> can be used only with static priorities higher than 0, which "
+"means that when a B<SCHED_FIFO> threads becomes runnable, it will always "
+"immediately preempt any currently running B<SCHED_OTHER>, B<SCHED_BATCH>, or "
+"B<SCHED_IDLE> thread.  B<SCHED_FIFO> is a simple scheduling algorithm "
+"without time slicing.  For threads scheduled under the B<SCHED_FIFO> policy, "
+"the following rules apply:"
+msgstr ""
+"B<SCHED_FIFO> は 0 より大きな静的優先度でのみ使用できる。このポリシーでは、 "
+"B<SCHED_FIFO> スレッドが実行可能になった場合、 そのポリシーが "
+"B<SCHED_OTHER>、 B<SCHED_BATCH>、 B<SCHED_IDLE> の 現在実行中のスレッドは直ち"
+"に実行権を取り上げられる。 B<SCHED_FIFO> は時分割のない単純なスケジューリング"
+"アルゴリズムである。 B<SCHED_FIFO> ポリシーでスケジューリングされているスレッ"
+"ドには以下の ルールが適用される:"
+
+#. type: IP
+#: build/C/man7/sched.7:141 build/C/man7/sched.7:146 build/C/man7/sched.7:149
+#: build/C/man7/sched.7:164 build/C/man7/sched.7:412 build/C/man7/sched.7:421
+#: build/C/man7/sched.7:444 build/C/man7/sched.7:452 build/C/man7/sched.7:491
+#: build/C/man7/sched.7:499 build/C/man7/sched.7:504 build/C/man7/sched.7:509
+#, no-wrap
+msgid "*"
+msgstr "*"
+
+#. type: Plain text
+#: build/C/man7/sched.7:146
+msgid ""
+"A B<SCHED_FIFO> 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<SCHED_FIFO> スレッドは"
+"その優先度のリストの先頭に留まり続け、 より高い優先度のスレッド全てが停止 "
+"(block) した場合に実行を再開する。"
+
+#. type: Plain text
+#: build/C/man7/sched.7:149
+msgid ""
+"When a B<SCHED_FIFO> thread becomes runnable, it will be inserted at the end "
+"of the list for its priority."
+msgstr ""
+"B<SCHED_FIFO> スレッドが実行可能になった時、その優先度のリストの最後 に挿入さ"
+"れる。"
+
+#.  In 2.2.x and 2.4.x, the thread is placed at the front of the queue
+#.  In 2.0.x, the Right Thing happened: the thread went to the back -- MTK
+#. type: Plain text
+#: build/C/man7/sched.7:164
+msgid ""
+"A call to B<sched_setscheduler>(2), B<sched_setparam>(2), or "
+"B<sched_setattr>(2)  will put the B<SCHED_FIFO> (or B<SCHED_RR>) thread "
+"identified by I<pid> 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<sched_setscheduler>(2), B<sched_setparam>(2), B<sched_setattr>(2) は "
+"I<pid> で指定された B<SCHED_FIFO> (または B<SCHED_RR>) スレッドが 実行可能な"
+"場合、リストの最初に置く。 結果として、もし優先度が同じだった場合、 現在実行"
+"中のスレッドに先んじるかもしれない。 (POSIX.1-2001 ではスレッドはリストの最後"
+"に行くべきと規定されている。)"
+
+#. type: Plain text
+#: build/C/man7/sched.7:168
+msgid "A thread calling B<sched_yield>(2)  will be put at the end of the list."
+msgstr "B<sched_yield>(2)  を呼び出したスレッドはリストの最後に置かれる。"
+
+#. type: Plain text
+#: build/C/man7/sched.7:172
+msgid ""
+"No other events will move a thread scheduled under the B<SCHED_FIFO> policy "
+"in the wait list of runnable threads with equal static priority."
+msgstr ""
+"その他のイベントによって B<SCHED_FIFO> ポリシーでスケジューリングされるスレッ"
+"ドが同じ優先度の実行可能なスレッドの待ちリストの中を移動することはない。"
+
+#. type: Plain text
+#: build/C/man7/sched.7:177
+msgid ""
+"A B<SCHED_FIFO> thread runs until either it is blocked by an I/O request, it "
+"is preempted by a higher priority thread, or it calls B<sched_yield>(2)."
+msgstr ""
+"B<SCHED_FIFO> スレッドは I/O 要求によって停止するか、 より高い優先度のスレッ"
+"ドによって置きかえられるか、 B<sched_yield>(2)  を呼び出すまで実行を続ける。"
+
+#. type: SS
+#: build/C/man7/sched.7:177
+#, 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/man7/sched.7:196
+msgid ""
+"B<SCHED_RR> is a simple enhancement of B<SCHED_FIFO>.  Everything described "
+"above for B<SCHED_FIFO> also applies to B<SCHED_RR>, except that each thread "
+"is allowed to run only for a maximum time quantum.  If a B<SCHED_RR> 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<SCHED_RR> "
+"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<sched_rr_get_interval>(2)."
+msgstr ""
+"B<SCHED_RR> は B<SCHED_FIFO> の単純な拡張である。 上述された\n"
+"B<SCHED_FIFO> に関する記述は全て B<SCHED_RR> に 適用できる。異なるのは\n"
+"それぞれのスレッドは最大時間単位までしか実行できない ということである。\n"
+"B<SCHED_RR> スレッドが時間単位と同じかそれより 長い時間実行されると、\n"
+"その優先度のリストの最後に置かれる。 より高い優先度のスレッドによって\n"
+"置きかえられ、その後実行を再開した B<SCHED_RR> スレッドは、そのラウンド\n"
+"ロビン時間単位を完全に使い切る まで実行される。その時間単位の長さは\n"
+"B<sched_rr_get_interval>(2) を使って取得できる。"
+
+#. type: SS
+#: build/C/man7/sched.7:196
+#, no-wrap
+msgid "SCHED_DEADLINE: Sporadic task model deadline scheduling"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:208
+msgid ""
+"Since version 3.14, Linux provides a deadline scheduling policy "
+"(B<SCHED_DEADLINE>).  This policy is currently implemented using GEDF "
+"(Global Earliest Deadline First)  in conjunction with CBS (Constant "
+"Bandwidth Server).  To set and fetch this policy and associated attributes, "
+"one must use the Linux-specific B<sched_setattr>(2)  and "
+"B<sched_getattr>(2)  system calls."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:226
+msgid ""
+"A sporadic task is one that has a sequence of jobs, where each job is "
+"activated at most once per period.  Each job also has a I<relative "
+"deadline>, before which it should finish execution, and a I<computation "
+"time>, which is the CPU time necessary for executing the job.  The moment "
+"when a task wakes up because a new job has to be executed is called the "
+"I<arrival time> (also referred to as the request time or release time).  The "
+"I<start time> is the time at which a task starts its execution.  The "
+"I<absolute deadline> is thus obtained by adding the relative deadline to the "
+"arrival time."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:228
+msgid "The following diagram clarifies these terms:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:239
+#, no-wrap
+msgid ""
+"arrival/wakeup                    absolute deadline\n"
+"     |    start time                    |\n"
+"     |        |                         |\n"
+"     v        v                         v\n"
+"-----x--------xooooooooooooooooo--------x--------x---\n"
+"              |E<lt>- comp. time -E<gt>|\n"
+"     |E<lt>------- relative deadline ------E<gt>|\n"
+"     |E<lt>-------------- period -------------------E<gt>|\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:258
+msgid ""
+"When setting a B<SCHED_DEADLINE> policy for a thread using "
+"B<sched_setattr>(2), one can specify three parameters: I<Runtime>, "
+"I<Deadline>, and I<Period>.  These parameters do not necessarily correspond "
+"to the aforementioned terms: usual practice is to set Runtime to something "
+"bigger than the average computation time (or worst-case execution time for "
+"hard real-time tasks), Deadline to the relative deadline, and Period to the "
+"period of the task.  Thus, for B<SCHED_DEADLINE> scheduling, we have:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:269
+#, no-wrap
+msgid ""
+"arrival/wakeup                    absolute deadline\n"
+"     |    start time                    |\n"
+"     |        |                         |\n"
+"     v        v                         v\n"
+"-----x--------xooooooooooooooooo--------x--------x---\n"
+"              |E<lt>-- Runtime -------E<gt>|\n"
+"     |E<lt>----------- Deadline -----------E<gt>|\n"
+"     |E<lt>-------------- Period -------------------E<gt>|\n"
+msgstr ""
+
+#.  FIXME It looks as though specifying sched_period as 0 means
+#.        "make sched_period the same as sched_deadline".
+#.        This needs to be documented.
+#. type: Plain text
+#: build/C/man7/sched.7:289
+msgid ""
+"The three deadline-scheduling parameters correspond to the I<sched_runtime>, "
+"I<sched_deadline>, and I<sched_period> fields of the I<sched_attr> "
+"structure; see B<sched_setattr>(2).  These fields express value in "
+"nanoseconds.  If I<sched_period> is specified as 0, then it is made the same "
+"as I<sched_deadline>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:291
+msgid "The kernel requires that:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:293
+#, no-wrap
+msgid "    sched_runtime E<lt>= sched_deadline E<lt>= sched_period\n"
+msgstr ""
+
+#.  See __checkparam_dl in kernel/sched/core.c
+#. type: Plain text
+#: build/C/man7/sched.7:303
+msgid ""
+"In addition, under the current implementation, all of the parameter values "
+"must be at least 1024 (i.e., just over one microsecond, which is the "
+"resolution of the implementation), and less than 2^63.  If any of these "
+"checks fails, B<sched_setattr>(2)  fails with the error B<EINVAL>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:306
+msgid ""
+"The CBS guarantees non-interference between tasks, by throttling threads "
+"that attempt to over-run their specified Runtime."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:319
+msgid ""
+"To ensure deadline scheduling guarantees, the kernel must prevent situations "
+"where the set of B<SCHED_DEADLINE> threads is not feasible (schedulable) "
+"within the given constraints.  The kernel thus performs an admittance test "
+"when setting or changing B<SCHED_DEADLINE> policy and attributes.  This "
+"admission test calculates whether the change is feasible; if it is not "
+"B<sched_setattr>(2)  fails with the error B<EBUSY>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:325
+msgid ""
+"For example, it is required (but not necessarily sufficient) for the total "
+"utilization to be less than or equal to the total number of CPUs available, "
+"where, since each thread can maximally run for Runtime per Period, that "
+"thread's utilization is its Runtime divided by its Period."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:336
+msgid ""
+"In order to fulfil the guarantees that are made when a thread is admitted to "
+"the B<SCHED_DEADLINE> policy, B<SCHED_DEADLINE> threads are the highest "
+"priority (user controllable) threads in the system; if any B<SCHED_DEADLINE> "
+"thread is runnable, it will preempt any thread scheduled under one of the "
+"other policies."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:344
+msgid ""
+"A call to B<fork>(2)  by a thread scheduled under the B<SCHED_DEADLINE> "
+"policy will fail with the error B<EAGAIN>, unless the thread has its reset-"
+"on-fork flag set (see below)."
+msgstr ""
+
+#
+#.  FIXME Calling sched_getparam() on a SCHED_DEADLINE thread
+#.        fails with EINVAL, but sched_getscheduler() succeeds.
+#.        Is that intended? (Why?)
+#. type: Plain text
+#: build/C/man7/sched.7:355
+msgid ""
+"A B<SCHED_DEADLINE> thread that calls B<sched_yield>(2)  will yield the "
+"current job and wait for a new period to begin."
+msgstr ""
+
+#. type: SS
+#: build/C/man7/sched.7:355
+#, no-wrap
+msgid "SCHED_OTHER: Default Linux time-sharing scheduling"
+msgstr "SCHED_OTHER: Linux のデフォルトの時分割スケジューリング"
+
+#. type: Plain text
+#: build/C/man7/sched.7:372
+msgid ""
+"B<SCHED_OTHER> can be used at only static priority 0.  B<SCHED_OTHER> 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<dynamic> priority that "
+"is determined only inside this list.  The dynamic priority is based on the "
+"nice value (set by B<nice>(2), B<setpriority>(2), or B<sched_setattr>(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<SCHED_OTHER> threads."
+msgstr ""
+"B<SCHED_OTHER> は静的優先度 0 でのみ使用できる。 B<SCHED_OTHER> は Linux 標準"
+"の時分割スケジューラで、 特別なリアルタイム機構を必要としていない全てのスレッ"
+"ドで使用される。 実行するスレッドは、静的優先度 0 のリストから、このリストの"
+"中だけで 決定される「動的な」優先度 (dynamic priority) に基いて決定される。 "
+"動的な優先度は (B<nice>(2), B<setpriority>(2), B<sched_setattr>(2) により設定"
+"される) nice 値に基づいて決定されるもので、 単位時間毎に、スレッドが実行可能"
+"だが、スケジューラにより実行が拒否された 場合にインクリメントされる。 これに"
+"より、全ての B<SCHED_OTHER> スレッドでの公平性が保証される。"
+
+#. type: SS
+#: build/C/man7/sched.7:372
+#, no-wrap
+msgid "SCHED_BATCH: Scheduling batch processes"
+msgstr "SCHED_BATCH: バッチプロセスのスケジューリング"
+
+#. type: Plain text
+#: build/C/man7/sched.7:384
+msgid ""
+"(Since Linux 2.6.16.)  B<SCHED_BATCH> can be used only at static priority "
+"0.  This policy is similar to B<SCHED_OTHER> 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 behavior, so that this thread is "
+"mildly disfavored in scheduling decisions."
+msgstr ""
+"(Linux 2.6.16 以降)  B<SCHED_BATCH> は静的優先度 0 でのみ使用できる。 このポ"
+"リシーは (nice 値に基づく) 動的な優先度にしたがってスレッドの スケジューリン"
+"グが行われるという点で、B<SCHED_OTHER> に似ている。 異なるのは、このポリシー"
+"では、スレッドが常に CPU に負荷のかかる (CPU-intensive)  処理を行うと、スケ"
+"ジューラが仮定する点である。 スケジューラはスレッドを呼び起こす毎にそのスレッ"
+"ドにスケジューリング上の ペナルティを少し課し、その結果、このスレッドはスケ"
+"ジューリングの決定で 若干冷遇されるようになる。"
+
+#.  The following paragraph is drawn largely from the text that
+#.  accompanied Ingo Molnar's patch for the implementation of
+#.  SCHED_BATCH.
+#.  commit b0a9499c3dd50d333e2aedb7e894873c58da3785
+#. type: Plain text
+#: build/C/man7/sched.7:394
+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/man7/sched.7:394
+#, no-wrap
+msgid "SCHED_IDLE: Scheduling very low priority jobs"
+msgstr "SCHED_IDLE: 非常に優先度の低いジョブのスケジューリング"
+
+#. type: Plain text
+#: build/C/man7/sched.7:398
+msgid ""
+"(Since Linux 2.6.23.)  B<SCHED_IDLE> can be used only at static priority 0; "
+"the process nice value has no influence for this policy."
+msgstr ""
+"(Linux 2.6.23 以降)  B<SCHED_IDLE> は静的優先度 0 でのみ使用できる。 このポリ"
+"シーではプロセスの nice 値はスケジューリングに影響を与えない。"
+
+#. type: Plain text
+#: build/C/man7/sched.7:406
+msgid ""
+"This policy is intended for running jobs at extremely low priority (lower "
+"even than a +19 nice value with the B<SCHED_OTHER> or B<SCHED_BATCH> "
+"policies)."
+msgstr ""
+"非常に低い優先度でのジョブの実行を目的としたものである (非常に低い優先度と"
+"は、ポリシー B<SCHED_OTHER> か B<SCHED_BATCH> での nice 値 +19 よりさらに低い"
+"優先度である)。"
+
+#. type: SS
+#: build/C/man7/sched.7:406
+#, no-wrap
+msgid "Resetting scheduling policy for child processes"
+msgstr "子プロセスでのスケジューリングポリシーのリセット"
+
+#. type: Plain text
+#: build/C/man7/sched.7:412
+msgid ""
+"Each thread has a reset-on-fork scheduling flag.  When this flag is set, "
+"children created by B<fork>(2)  do not inherit privileged scheduling "
+"policies.  The reset-on-fork flag can be set by either:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:421
+#, fuzzy
+#| msgid ""
+#| "The B<SCHED_RESET_ON_FORK> flag is visible in the policy value returned "
+#| "by B<sched_getscheduler>()"
+msgid ""
+"ORing the B<SCHED_RESET_ON_FORK> flag into the I<policy> argument when "
+"calling B<sched_setscheduler>(2)  (since Linux 2.6.32); or"
+msgstr ""
+"B<SCHED_RESET_ON_FORK> フラグは、 B<sched_getscheduler>() が返すポリシー値で"
+"参照できる。"
+
+#. type: Plain text
+#: build/C/man7/sched.7:428
+msgid ""
+"specifying the B<SCHED_FLAG_RESET_ON_FORK> flag in I<attr.sched_flags> when "
+"calling B<sched_setattr>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:434
+msgid ""
+"Note that the constants used with these two APIs have different names.  The "
+"state of the reset-on-fork flag can analogously be retrieved using "
+"B<sched_getscheduler>(2)  and B<sched_getattr>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:441
+msgid ""
+"The reset-on-fork feature is intended for media-playback applications, and "
+"can be used to prevent applications evading the B<RLIMIT_RTTIME> resource "
+"limit (see B<getrlimit>(2))  by creating multiple child processes."
+msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:86
-msgid "for running I<very> low priority background jobs."
-msgstr "「非常に」低い優先度で動作するバックグラウンド・ジョブ用。"
+#: build/C/man7/sched.7:444
+msgid ""
+"More precisely, if the reset-on-fork flag is set, the following rules apply "
+"for subsequently created children:"
+msgstr ""
+"より正確には、 reset-on-fork フラグがセットされた場合、それ以降に作成される子"
+"プロセスに以下のルールが適用される。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:90
-msgid "For each of the above policies, I<param-E<gt>sched_priority> must be 0."
+#: build/C/man7/sched.7:452
+msgid ""
+"If the calling thread has a scheduling policy of B<SCHED_FIFO> or "
+"B<SCHED_RR>, the policy is reset to B<SCHED_OTHER> in child processes."
 msgstr ""
+"呼び出したスレッドのスケジューリングポリシーが B<SCHED_FIFO> か B<SCHED_RR> "
+"の場合、子プロセスのポリシーは B<SCHED_OTHER> にリセットされる。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:99
-#, fuzzy
-#| msgid ""
-#| "The following \"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:"
+#: build/C/man7/sched.7:455
 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<sched>(7).  The real-time policies that may be "
-"specified in I<policy> are:"
+"If the calling process has a negative nice value, the nice value is reset to "
+"zero in child processes."
 msgstr ""
-"どの実行可能スレッドを選択するかについて、より正確な制御を必要とする 時間の制"
-"約が厳しい特別なアプリケーション用として、 以下の「リアルタイム」ポリシーもサ"
-"ポートされている。"
-
-#. type: TP
-#: build/C/man2/sched_setscheduler.2:99
-#, no-wrap
-msgid "B<SCHED_FIFO>"
-msgstr "B<SCHED_FIFO>"
+"子プロセスが負の nice 値を持っている場合、子プロセスの nice 値は 0 にリセット"
+"される。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:102
-msgid "a first-in, first-out policy; and"
-msgstr "ファーストイン、ファーストアウト型のポリシー。"
+#: build/C/man7/sched.7:463
+msgid ""
+"After the reset-on-fork flag has been enabled, it can be reset only if the "
+"thread has the B<CAP_SYS_NICE> capability.  This flag is disabled in child "
+"processes created by B<fork>(2)."
+msgstr ""
+"一度 reset-on-fork フラグが有効にされた後は、このフラグをリセットできるのは、"
+"スレッドが B<CAP_SYS_NICE> ケーパビリティを持つ場合だけである。このフラグは "
+"B<fork>(2) で作成された子プロセスでは無効になる。"
 
-#. type: TP
-#: build/C/man2/sched_setscheduler.2:102
+#. type: SS
+#: build/C/man7/sched.7:463
 #, no-wrap
-msgid "B<SCHED_RR>"
-msgstr "B<SCHED_RR>"
+msgid "Privileges and resource limits"
+msgstr "特権とリソース制限"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:105
-msgid "a round-robin policy."
-msgstr "ラウンドロビン型のポリシー。"
+#: build/C/man7/sched.7:475
+msgid ""
+"In Linux kernels before 2.6.12, only privileged (B<CAP_SYS_NICE>)  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<SCHED_OTHER> policy, and this can be done only if the effective user ID of "
+"the caller matches the real or effective user ID of the target thread (i.e., "
+"the thread specified by I<pid>)  whose policy is being changed."
+msgstr ""
+"2.6.12 より前のバージョンの Linux カーネルでは、 特権スレッド "
+"(B<CAP_SYS_NICE> ケーパビリティを持つスレッド) だけが 0 以外の静的優先度を設"
+"定する (すなわち、リアルタイムスケジューリングポリシーを設定する) ことができ"
+"る。 非特権スレッドができる変更は B<SCHED_OTHER> ポリシーを設定することだけで"
+"あり、さらに、 この変更を行えるのは、 呼び出し元の実効ユーザ ID がポリシーの"
+"変更対象スレッド (I<pid> で指定されたスレッド) の実ユーザ ID か実効ユーザ ID "
+"と 一致する場合だけである。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:116
+#: build/C/man7/sched.7:481
 msgid ""
-"For each of the above policies, I<param-E<gt>sched_priority> specifies a "
-"scheduling priority for the thread.  This is a number in the range returned "
-"by calling B<sched_get_priority_min>(2)  and B<sched_get_priority_min>(2)  "
-"with the specified I<policy>.  On Linux, these system calls return, "
-"respectively, 1 and 99."
+"A thread must be privileged (B<CAP_SYS_NICE>)  in order to set or modify a "
+"B<SCHED_DEADLINE> policy."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:129
-#, fuzzy
-#| msgid ""
-#| "Since Linux 2.6.32, the B<SCHED_RESET_ON_FORK> flag can be ORed in "
-#| "I<policy> when calling B<sched_setscheduler>().  As a result of including "
-#| "this flag, children created by B<fork>(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<RLIMIT_RTTIME> resource limit (see B<getrlimit>(2))  by creating "
-#| "multiple child processes."
+#: build/C/man7/sched.7:491
 msgid ""
-"Since Linux 2.6.32, the B<SCHED_RESET_ON_FORK> flag can be ORed in I<policy> "
-"when calling B<sched_setscheduler>().  As a result of including this flag, "
-"children created by B<fork>(2)  do not inherit privileged scheduling "
-"policies.  See B<sched>(7)  for details."
+"Since Linux 2.6.12, the B<RLIMIT_RTPRIO> resource limit defines a ceiling on "
+"an unprivileged thread's static priority for the B<SCHED_RR> and "
+"B<SCHED_FIFO> policies.  The rules for changing scheduling policy and "
+"priority are as follows:"
 msgstr ""
-"Linux 2.6.32 以降では、 B<sched_setscheduler>() を呼び出す際に I<policy> に "
-"B<SCHED_RESET_ON_FORK> フラグを OR で指定できる。このフラグが指定されると、 "
-"B<fork>(2) で作成された子プロセスは特権が必要なスケジューリング・ポリシーを継"
-"承しない。この機能はメディア再生を行うアプリケーションを想定して作られ、この"
-"機能を使うことで、アプリケーションが複数の子プロセスを作成することで "
-"B<RLIMIT_RTTIME> リソース上限 (B<getrlimit>(2) 参照) を回避するのを防ぐことが"
-"できる。"
+"Linux 2.6.12 以降では、リソース制限 B<RLIMIT_RTPRIO> が定義されており、 スケ"
+"ジューリングポリシーが B<SCHED_RR> と B<SCHED_FIFO> の場合の、非特権スレッド"
+"の静的優先度の上限を定めている。 スケジューリングポリシーと優先度を変更する際"
+"のルールは以下の通りである。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:135
-#, fuzzy
-#| msgid ""
-#| "B<sched_getscheduler>()  queries the scheduling policy currently applied "
-#| "to the thread identified by I<pid>.  If I<pid> equals zero, the policy of "
-#| "the calling thread will be retrieved."
+#: build/C/man7/sched.7:499
 msgid ""
-"B<sched_getscheduler>()  returns the current scheduling policy of the thread "
-"identified by I<pid>.  If I<pid> equals zero, the policy of the calling "
-"thread will be retrieved."
+"If an unprivileged thread has a nonzero B<RLIMIT_RTPRIO> 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<RLIMIT_RTPRIO> soft limit."
 msgstr ""
-"B<sched_getscheduler>()  は I<pid> で識別されるスレッドに現在適用されている "
-"スケジューリング・ポリシーを尋ねる。I<pid> が 0 ならば、呼び出した スレッド自"
-"身のスケジューリング・ポリシーが返される。"
+"非特権スレッドに 0 以外の B<RLIMIT_RTPRIO> ソフトリミットが設定されている場"
+"合、 非特権スレッドはそのスレッドのスケジューリングポリシーと優先度を 変更で"
+"きるが、優先度を現在の自身の優先度と B<RLIMIT_RTPRIO> ソフトリミットの大きい"
+"方よりも高い値に設定できないという制限が課される。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:145
-#, fuzzy
-#| msgid ""
-#| "On success, B<sched_setscheduler>()  returns zero.  On success, "
-#| "B<sched_getscheduler>()  returns the policy for the thread (a nonnegative "
-#| "integer).  On error, -1 is returned, and I<errno> is set appropriately."
+#: build/C/man7/sched.7:504
 msgid ""
-"On success, B<sched_setscheduler>()  returns zero.  On success, "
-"B<sched_getscheduler>()  returns the policy for the thread (a nonnegative "
-"integer).  On error, both calls return -1, and I<errno> is set appropriately."
+"If the B<RLIMIT_RTPRIO> 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<sched_setscheduler>()  は 0 を返す。 成功した場合、 "
-"B<sched_getscheduler>()  は現在のそのスレッドのポリシー (非負の整数) を返"
-"す。 エラーの場合、-1 が返され、 I<errno> が適切に設定される。"
+"B<RLIMIT_RTPRIO> ソフトリミットが 0 の場合、優先度を下げるか、 リアルタイムで"
+"ないポリシーへ切り替えるかの変更だけが許可される。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:153
-msgid "Invalid arguments: I<pid> is negative or I<param> is NULL."
+#: build/C/man7/sched.7:509
+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 と 一致している場合に限られ"
+"る。"
 
+#.  commit c02aa73b1d18e43cfd79c2f193b225e84ca497c8
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:158
-#, fuzzy
-#| msgid ""
-#| "B<sched_setscheduler>(2)  has a description of the Linux scheduling "
-#| "scheme."
+#: build/C/man7/sched.7:528
 msgid ""
-"(B<sched_setscheduler>())  I<policy> is not one of the recognized policies."
+"Special rules apply for the B<SCHED_IDLE> policy.  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<RLIMIT_RTPRIO> resource limit.  In "
+"Linux kernels since 2.6.39, an unprivileged thread can switch to either the "
+"B<SCHED_BATCH> or the B<SCHED_NORMAL> policy so long as its nice value falls "
+"within the range permitted by its B<RLIMIT_NICE> resource limit (see "
+"B<getrlimit>(2))."
 msgstr ""
-"B<sched_setscheduler>(2) に Linux のスケジューリング方式についての説明\n"
-"がある。"
+"B<SCHED_IDLE> ポリシーの場合には特別なルールが適用される。 2.6.39 より前の "
+"Linux カーネルでは、このポリシーで動作する非特権スレッドは、 "
+"B<RLIMIT_RTPRIO> リソース上限の値に関わらず、自分のポリシーを変更することがで"
+"きない。 2.6.39 以降の Linux カーネルでは、非特権スレッドは、自分の nice 値"
+"が B<RLIMIT_NICE> リソース上限 (B<getrlimit>(2) 参照) で許可された範囲である"
+"限りは、自分のスケジューリングポリシーを B<SCHED_BATCH> か B<SCHED_NORMAL> ポ"
+"リシーに切り替えることができる。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:164
+#: build/C/man7/sched.7:539
+msgid ""
+"Privileged (B<CAP_SYS_NICE>)  threads ignore the B<RLIMIT_RTPRIO> limit; as "
+"with older kernels, they can make arbitrary changes to scheduling policy and "
+"priority.  See B<getrlimit>(2)  for further information on B<RLIMIT_RTPRIO>."
+msgstr ""
+"特権スレッド (B<CAP_SYS_NICE> ケーパビリティを持つスレッド) の場合、 "
+"B<RLIMIT_RTPRIO> の制限は無視される; 古いカーネルと同じように、スケジューリン"
+"グポリシーと優先度に対し 任意の変更を行うことができる。 B<RLIMIT_RTPRIO> に関"
+"するもっと詳しい情報は B<getrlimit>(2)  を参照のこと。"
+
+#. type: SS
+#: build/C/man7/sched.7:539
+#, no-wrap
+msgid "Limiting the CPU usage of real-time and deadline processes"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/sched.7:552
 #, fuzzy
 #| msgid ""
-#| "The argument I<param> does not make sense for the current scheduling "
-#| "policy."
-msgid ""
-"(B<sched_setscheduler>())  I<param> does not make sense for the specified "
-"I<policy>."
-msgstr "引き数 I<param> が現在のスケジューリング方針においては 無意味である。"
+#| "Since a nonblocking infinite loop in a thread scheduled under "
+#| "B<SCHED_FIFO> or B<SCHED_RR> 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<RLIMIT_RTTIME> resource limit in B<getrlimit>(2)."
+msgid ""
+"A nonblocking infinite loop in a thread scheduled under the B<SCHED_FIFO>, "
+"B<SCHED_RR>, or B<SCHED_DEADLINE> policy will block all threads with lower "
+"priority forever.  Prior to Linux 2.6.25, the only way of preventing a "
+"runaway real-time process from freezing the system was to run (at the "
+"console)  a shell scheduled under a higher static priority than the tested "
+"application.  This allows an emergency kill of tested real-time applications "
+"that do not block or terminate as expected."
+msgstr ""
+"B<SCHED_FIFO> や B<SCHED_RR> でスケジューリングされる スレッドが停止せずに無"
+"限ループに陥ると、 他の全てのより低い優先度のスレッドを永久に停止 (block) さ"
+"せてしまうので、 ソフトウェア開発者はコンソールのシェルの静的優先度をテストす"
+"る アプリケーションよりも常に高く保つべきである。 これによって期待通りに停止"
+"したり終了したりしないリアルタイム アプリケーションを緊急終了させることが可能"
+"になる。 B<getrlimit>(2)  のリソース制限 B<RLIMIT_RTTIME> の説明も参照のこ"
+"と。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:167
-msgid "The calling thread does not have appropriate privileges."
-msgstr "呼び出したスレッドが適切な特権を持っていない。"
+#: build/C/man7/sched.7:562
+msgid ""
+"Since Linux 2.6.25, there are other techniques for dealing with runaway real-"
+"time and deadline processes.  One of these is to use the B<RLIMIT_RTTIME> "
+"resource limit to set a ceiling on the CPU time that a real-time process may "
+"consume.  See B<getrlimit>(2)  for details."
+msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:173
+#: build/C/man7/sched.7:570
 msgid ""
-"POSIX.1-2001 (but see BUGS below).  The B<SCHED_BATCH> and B<SCHED_IDLE> "
-"policies are Linux-specific."
+"Since version 2.6.25, Linux also provides two I</proc> files that can be "
+"used to reserve a certain amount of CPU time to be used by non-real-time "
+"processes.  Reserving some CPU time in this fashion allows some CPU time to "
+"be allocated to (say) a root shell that can be used to kill a runaway "
+"process.  Both of these files specify time values in microseconds:"
+msgstr ""
+
+#. type: TP
+#: build/C/man7/sched.7:570
+#, no-wrap
+msgid "I</proc/sys/kernel/sched_rt_period_us>"
 msgstr ""
-"POSIX.1-2001 (但し、下記のバグの節も参照)。 B<SCHED_BATCH> と B<SCHED_IDLE> "
-"ポリシーは Linux 固有である。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:177
+#: build/C/man7/sched.7:578
 msgid ""
-"Further details of the semantics of all of the above \"normal\" and \"real-"
-"time\" scheduling policies can be found in B<sched>(7)."
+"This file specifies a scheduling period that is equivalent to 100% CPU "
+"bandwidth.  The value in this file can range from 1 to B<INT_MAX>, giving an "
+"operating range of 1 microsecond to around 35 minutes.  The default value in "
+"this file is 1,000,000 (1 second)."
+msgstr ""
+
+#. type: TP
+#: build/C/man7/sched.7:578
+#, no-wrap
+msgid "I</proc/sys/kernel/sched_rt_runtime_us>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:185
+#: build/C/man7/sched.7:591
 msgid ""
-"POSIX systems on which B<sched_setscheduler>()  and B<sched_getscheduler>()  "
-"are available define B<_POSIX_PRIORITY_SCHEDULING> in I<E<lt>unistd.hE<gt>>."
+"The value in this file specifies how much of the \"period\" time can be used "
+"by all real-time and deadline scheduled processes on the system.  The value "
+"in this file can range from -1 to B<INT_MAX>-1.  Specifying -1 makes the "
+"runtime the same as the period; that is, no CPU time is set aside for non-"
+"real-time processes (which was the Linux behavior before kernel 2.6.25).  "
+"The default value in this file is 950,000 (0.95 seconds), meaning that 5% of "
+"the CPU time is reserved for processes that don't run under a real-time or "
+"deadline scheduling policy."
 msgstr ""
-"POSIX システムでは I<E<lt>unistd.hE<gt>> に B<_POSIX_PRIORITY_SCHEDULING> が"
-"定義されている場合にのみ B<sched_setscheduler>()  と "
-"B<sched_getscheduler>()  が使用できる。"
 
+#. type: SS
+#: build/C/man7/sched.7:592
+#, no-wrap
+msgid "Response time"
+msgstr "応答時間 (response time)"
+
+#.  as described in
+#.  .BR request_irq (9).
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:193
+#: build/C/man7/sched.7:600
 msgid ""
-"POSIX.1 does not detail the permissions that an unprivileged thread requires "
-"in order to call B<sched_setscheduler>(), 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."
+"A blocked high priority thread waiting for 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 ""
-"POSIX.1 は、非特権スレッドが B<sched_setscheduler>()  を呼び出すために必要な"
-"権限の詳細を規定しておらず、 詳細はシステムにより異なる。 例えば、Solaris 7 "
-"のマニュアルページでは、 呼び出し元の実ユーザ ID または実効ユーザ ID が 設定"
-"対象の実ユーザ ID か保存 (save) set-user-ID と 一致していなければならない、と"
-"なっている。"
+"I/O 待ちで停止したより高い優先度のスレッドは再びスケジューリングされる 前にい"
+"くらかの応答時間がかかる。デバイスドライバーを書く場合には \"slow interrupt"
+"\" 割り込みハンドラーを使用することで この応答時間を劇的に減少させることがで"
+"きる。"
+
+#. type: SS
+#: build/C/man7/sched.7:600
+#, no-wrap
+msgid "Miscellaneous"
+msgstr "その他"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:214
-#, fuzzy
-#| msgid ""
-#| "The scheduling policy and parameters are in fact per-thread attributes on "
-#| "Linux.  The value returned from a call to B<gettid>(2)  can be passed in "
-#| "the argument I<pid>.  Specifying I<pid> as 0 will operate on the "
-#| "attribute for the calling thread, and passing the value returned from a "
-#| "call to B<getpid>(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<pthread_setschedparam>(3), B<pthread_getschedparam>(3), and "
-#| "B<pthread_setschedprio>(3), instead of the B<sched_*>(2)  system calls.)"
+#: build/C/man7/sched.7:605
 msgid ""
-"The scheduling policy and parameters are in fact per-thread attributes on "
-"Linux.  The value returned from a call to B<gettid>(2)  can be passed in the "
-"argument I<pid>.  Specifying I<pid> as 0 will operate on the attributes of "
-"the calling thread, and passing the value returned from a call to "
-"B<getpid>(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<pthread_setschedparam>(3), B<pthread_getschedparam>(3), and "
-"B<pthread_setschedprio>(3), instead of the B<sched_*>(2)  system calls.)"
+"Child processes inherit the scheduling policy and parameters across a "
+"B<fork>(2).  The scheduling policy and parameters are preserved across "
+"B<execve>(2)."
 msgstr ""
-"Linux では、 スケジューリングポリシーとスケジューリングパラメータは、 実際に"
-"はスレッド単位の属性である。 B<gettid>(2) の呼び出しの返り値をこのシステム"
-"コールの I<pid> 引き数として渡すことができる。 I<pid> に 0 を指定すると、 呼"
-"び出し元のスレッドの属性が設定される。 B<getpid>(2) コールからの返り値を "
-"I<pid> に指定すると、 スレッドグループのメインスレッドの属性が設定される "
-"(POSIX スレッド API を使用している場合は、 B<sched_*>(2) システムコールの代わ"
-"りに B<pthread_setschedparam>(3), B<pthread_getschedparam>(3), and "
-"B<pthread_setschedprio>(3) を使用すること)。"
+"子プロセスは B<fork>(2)  の際に親プロセスのスケジューリングポリシーとパラメー"
+"タを継承する。 B<execve>(2)  の前後で、スケジューリングポリシーとパラメータは"
+"保持される。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:222
+#: build/C/man7/sched.7:611
 msgid ""
-"POSIX says that on success, B<sched_setscheduler>()  should return the "
-"previous scheduling policy.  Linux B<sched_setscheduler>()  does not conform "
-"to this requirement, since it always returns 0 on success."
+"Memory locking is usually needed for real-time processes to avoid paging "
+"delays; this can be done with B<mlock>(2)  or B<mlockall>(2)."
 msgstr ""
-"POSIX では、成功時に B<sched_setscheduler>()  は直前のスケジューリング・ポリ"
-"シーを返すべきとされている。 Linux の B<sched_setscheduler>()  はこの要求仕様"
-"に準拠しておらず、 成功時には常に 0 を返す。"
+"リアルタイムプロセスは大抵、ページングの待ち時間を避けるために B<mlock>(2)  "
+"や B<mlockall>(2)  を使ってメモリロックをしなければならない。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:240
-#, fuzzy
-#| msgid ""
-#| "B<chrt>(1), B<getpriority>(2), B<mlock>(2), B<mlockall>(2), "
-#| "B<munlock>(2), B<munlockall>(2), B<nice>(2), "
-#| "B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), "
-#| "B<sched_getaffinity>(2), B<sched_getparam>(2), "
-#| "B<sched_rr_get_interval>(2), B<sched_setaffinity>(2), "
-#| "B<sched_setparam>(2), B<sched_yield>(2), B<setpriority>(2), "
-#| "B<capabilities>(7), B<cpuset>(7)"
-msgid ""
-"B<nice>(2), B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), "
-"B<sched_getaffinity>(2), B<sched_getattr>(2), B<sched_getparam>(2), "
-"B<sched_rr_get_interval>(2), B<sched_setaffinity>(2), B<sched_setattr>(2), "
-"B<sched_setparam>(2), B<sched_yield>(2), B<setpriority>(2), "
-"B<capabilities>(7), B<cpuset>(7), B<sched>(7)"
-msgstr ""
-"B<chrt>(1), B<getpriority>(2), B<mlock>(2), B<mlockall>(2), B<munlock>(2), "
-"B<munlockall>(2), B<nice>(2), B<sched_get_priority_max>(2), "
-"B<sched_get_priority_min>(2), B<sched_getaffinity>(2), B<sched_getparam>(2), "
-"B<sched_rr_get_interval>(2), B<sched_setaffinity>(2), B<sched_setparam>(2), "
-"B<sched_yield>(2), B<setpriority>(2), B<capabilities>(7), B<cpuset>(7)"
+#: build/C/man7/sched.7:622
+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: TH
-#: build/C/man2/sched_yield.2:29
+#. type: SS
+#: build/C/man7/sched.7:622
 #, no-wrap
-msgid "SCHED_YIELD"
-msgstr "SCHED_YIELD"
+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_yield.2:32
-msgid "sched_yield - yield the processor"
-msgstr "sched_yield - プロセッサーを空け渡す(yield)"
+#: build/C/man7/sched.7:636
+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<realtime-preempt> 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<realtime-preempt> パッチ\n"
+"からのものである。 これらのパッチが本流のカーネルに完全にマージされるま\n"
+"では (マージの完了はカーネル 2.6.30 あたりの予定)、 最高のリアルタイム\n"
+"性能を達成するには realtime-preempt パッチを 組み込まなければならない。\n"
+"これらのパッチは"
 
 #. type: Plain text
-#: build/C/man2/sched_yield.2:36
-msgid "B<int sched_yield(void);>"
-msgstr "B<int sched_yield(void);>"
+#: build/C/man7/sched.7:640
+#, no-wrap
+msgid "patch-I<kernelversion>-rtI<patchversion>\n"
+msgstr "patch-I<kernelversion>-rtI<patchversion>\n"
 
 #. type: Plain text
-#: build/C/man2/sched_yield.2:41
+#: build/C/man7/sched.7:646
 msgid ""
-"B<sched_yield>()  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."
+"and can be downloaded from E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/"
+"kernel\\:/projects\\:/rt/> E<.UE .>"
 msgstr ""
-"B<sched_yield>()  を呼び出すことで、呼び出したスレッドが CPU の使用権を手放す"
-"ことができる。 そのスレッドは、そのスレッドの静的プライオリティのキューの末尾"
-"に 移動し、新しいスレッドが走り始める。"
+"という名前で、 E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/kernel\\:/"
+"projects\\:/rt/> E<.UE> からダウンロードできる。"
 
 #. type: Plain text
-#: build/C/man2/sched_yield.2:48
+#: build/C/man7/sched.7:655
 msgid ""
-"On success, B<sched_yield>()  returns 0.  On error, -1 is returned, and "
-"I<errno> is set appropriately."
+"Without the patches and prior to their full inclusion into the mainline "
+"kernel, the kernel configuration offers only the three preemption classes "
+"B<CONFIG_PREEMPT_NONE>, B<CONFIG_PREEMPT_VOLUNTARY>, and "
+"B<CONFIG_PREEMPT_DESKTOP> which respectively provide no, some, and "
+"considerable reduction of the worst-case scheduling latency."
 msgstr ""
-"成功した場合は B<sched_yield>()  は 0 を返す。 エラーの場合は -1 が返され、 "
-"I<errno> が適切に設定される。"
+"このパッチが適用されず、かつパッチの内容の本流のカーネルへのマージが 完了する"
+"までは、カーネルの設定では B<CONFIG_PREEMPT_NONE>, "
+"B<CONFIG_PREEMPT_VOLUNTARY>, B<CONFIG_PREEMPT_DESKTOP> の 3つのプリエンプショ"
+"ンクラス (preemption class) だけが提供される。 これらのクラスでは、最悪の場合"
+"のスケジューリング遅延がそれぞれ 全く減らない、いくらか減る、かなり減る。"
 
 #. type: Plain text
-#: build/C/man2/sched_yield.2:52
-msgid "In the Linux implementation, B<sched_yield>()  always succeeds."
-msgstr "Linux の実装では、 B<sched_yield>()  は常に成功する。"
+#: build/C/man7/sched.7:664
+msgid ""
+"With the patches applied or after their full inclusion into the mainline "
+"kernel, the additional configuration item B<CONFIG_PREEMPT_RT> becomes "
+"available.  If this is selected, Linux is transformed into a regular real-"
+"time operating system.  The FIFO and RR scheduling policies are then used to "
+"run a thread with true real-time priority and a minimum worst-case "
+"scheduling latency."
+msgstr ""
+"パッチが適用された場合、またはパッチの内容の本流のカーネルへのマージが 完了し"
+"た後では、上記に加えて設定項目として B<CONFIG_PREEMPT_RT> が利用可能になる。"
+"この項目を選択すると、 Linux は通常のリアルタイムオペレーティングシステムに変"
+"身する。 この場合には、 FIFO と RR のスケジューリングポリシーは、 真のリアル"
+"タイム優先度を持つスレッドを最悪の場合のスケジューリング遅延が 最小となる環境"
+"で動作させるために使われることになる。"
 
 #. type: Plain text
-#: build/C/man2/sched_yield.2:59
+#: build/C/man7/sched.7:691
 msgid ""
-"If the calling thread is the only thread in the highest priority list at "
-"that time, it will continue to run after a call to B<sched_yield>()."
+"B<chrt>(1), B<taskset>(1), B<getpriority>(2), B<mlock>(2), B<mlockall>(2), "
+"B<munlock>(2), B<munlockall>(2), B<nice>(2), B<sched_get_priority_max>(2), "
+"B<sched_get_priority_min>(2), B<sched_getscheduler>(2), "
+"B<sched_getaffinity>(2), B<sched_getparam>(2), B<sched_rr_get_interval>(2), "
+"B<sched_setaffinity>(2), B<sched_setscheduler>(2), B<sched_setparam>(2), "
+"B<sched_yield>(2), B<setpriority>(2), B<pthread_getaffinity_np>(3), "
+"B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), B<capabilities>(7), "
+"B<cpuset>(7)"
 msgstr ""
-"B<sched_yield>()  を呼び出した時点で最大優先度のリストの中に呼び出し元のス"
-"レッドしか 存在しなければ、そのスレッドは呼び出し後も走り続けることになる。"
+"B<chrt>(1), B<taskset>(1), B<getpriority>(2), B<mlock>(2), B<mlockall>(2), "
+"B<munlock>(2), B<munlockall>(2), B<nice>(2), B<sched_get_priority_max>(2), "
+"B<sched_get_priority_min>(2), B<sched_getscheduler>(2), "
+"B<sched_getaffinity>(2), B<sched_getparam>(2), B<sched_rr_get_interval>(2), "
+"B<sched_setaffinity>(2), B<sched_setscheduler>(2), B<sched_setparam>(2), "
+"B<sched_yield>(2), B<setpriority>(2), B<pthread_getaffinity_np>(3), "
+"B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), B<capabilities>(7), "
+"B<cpuset>(7)"
 
 #. type: Plain text
-#: build/C/man2/sched_yield.2:66
+#: build/C/man7/sched.7:695
 msgid ""
-"POSIX systems on which B<sched_yield>()  is available define "
-"B<_POSIX_PRIORITY_SCHEDULING> in I<E<lt>unistd.hE<gt>>."
+"I<Programming for the real world - POSIX.4> by Bill O. Gallmeister, O'Reilly "
+"& Associates, Inc., ISBN 1-56592-074-0."
 msgstr ""
-"POSIX システムで B<sched_yield>()  は I<E<lt>unistd.hE<gt>> に "
-"B<_POSIX_PRIORITY_SCHEDULING> が定義されている場合にのみ使用可能である。"
+"I<Programming for the real world - POSIX.4> by Bill O. Gallmeister, O'Reilly "
+"& Associates, Inc., ISBN 1-56592-074-0."
 
 #. type: Plain text
-#: build/C/man2/sched_yield.2:79
+#: build/C/man7/sched.7:702
 msgid ""
-"Strategic calls to B<sched_yield>()  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<sched_yield>()  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."
+"The Linux kernel source files I<Documentation/scheduler/sched-deadline.txt>, "
+"I<Documentation/scheduler/sched-rt-group.txt>, I<Documentation/scheduler/"
+"sched-design-CFS.txt>, and I<Documentation/scheduler/sched-nice-design.txt>"
 msgstr ""
-"B<sched_yield>()  を戦略的に呼び出すことで、(極度に) 競合するリソース (mutex "
-"など)  を呼び出し元が解放した際に他のスレッドやプロセスに実行機会を与えること"
-"で、 性能を上げることができる。 B<sched_yield>()  を必要もないのに呼び出した"
-"り、不適切な場面 (例えば、他のスケジューリング 対象となるスレッドが必要とする"
-"リソースを呼び出し元が保持したままの状態)  で呼び出したりするのは避けること。"
-"なぜなら、 B<sched_yield>()  の呼び出しより不必要なコンテキストスイッチが起こ"
-"り、システム性能が 劣化する結果になるからである。"
 
 #. type: TH
 #: build/C/man2/setns.2:8
@@ -4519,12 +5988,6 @@ msgstr ""
 msgid "SETNS"
 msgstr "SETNS"
 
-#. type: TH
-#: build/C/man2/setns.2:8
-#, no-wrap
-msgid "2013-01-01"
-msgstr "2013-01-01"
-
 #. type: Plain text
 #: build/C/man2/setns.2:11
 msgid "setns - reassociate thread with a namespace"
@@ -4549,14 +6012,14 @@ msgstr ""
 #: build/C/man2/setns.2:34
 msgid ""
 "The I<fd> argument is a file descriptor referring to one of the namespace "
-"entries in a I</proc/[pid]/ns/> directory; see B<proc>(5)  for further "
+"entries in a I</proc/[pid]/ns/> directory; see B<namespaces>(7)  for further "
 "information on I</proc/[pid]/ns/>.  The calling thread will be reassociated "
 "with the corresponding namespace, subject to any constraints imposed by the "
 "I<nstype> argument."
 msgstr ""
 "I<fd> 引き数は、 I</proc/[pid]/ns/> ディレクトリ内の名前空間エントリ\n"
 "のいずれかを参照するファイルディスクリプタである。\n"
-"I</proc/[pid]/ns/> の詳細は B<proc>(5) を参照。\n"
+"I</proc/[pid]/ns/> の詳細は B<namespaces>(7) を参照。\n"
 "I<nstype> 引き数で指定された制限の範囲内で、\n"
 "呼び出したスレッドに I<fd> に対応する名前空間を関連付けしなおす。"
 
@@ -4585,8 +6048,8 @@ msgstr "どのタイプの名前空間も関連付けることができる。"
 #. type: TP
 #: build/C/man2/setns.2:43
 #, no-wrap
-msgid "B<CLONE_NEWIPC>"
-msgstr "B<CLONE_NEWIPC>"
+msgid "B<CLONE_NEWIPC> (since Linux 3.0)"
+msgstr "B<CLONE_NEWIPC> (Linux 3.0 以降)"
 
 #. type: Plain text
 #: build/C/man2/setns.2:47
@@ -4596,8 +6059,8 @@ msgstr "I<fd> は IPC 名前空間を参照していなければならない。"
 #. type: TP
 #: build/C/man2/setns.2:47
 #, no-wrap
-msgid "B<CLONE_NEWNET>"
-msgstr "B<CLONE_NEWNET>"
+msgid "B<CLONE_NEWNET> (since Linux 3.0)"
+msgstr "B<CLONE_NEWNET> (Linux 3.0 以降)"
 
 #. type: Plain text
 #: build/C/man2/setns.2:51
@@ -4607,16 +6070,49 @@ msgstr "I<fd> はネットワーク名前空間を参照していなければな
 #. type: TP
 #: build/C/man2/setns.2:51
 #, no-wrap
-msgid "B<CLONE_NEWUTS>"
-msgstr "B<CLONE_NEWUTS>"
+msgid "B<CLONE_NEWNS> (since Linux 3.8)"
+msgstr "B<CLONE_NEWNS> (Linux 3.8 以降)"
 
 #. type: Plain text
 #: build/C/man2/setns.2:55
+msgid "I<fd> must refer to a mount namespace."
+msgstr "I<fd> はマウント名前空間を参照していなければならない。"
+
+#. type: TP
+#: build/C/man2/setns.2:55 build/C/man2/unshare.2:149
+#, no-wrap
+msgid "B<CLONE_NEWPID> (since Linux 3.8)"
+msgstr "B<CLONE_NEWPID> (Linux 3.8 以降)"
+
+#. type: Plain text
+#: build/C/man2/setns.2:59
+msgid "I<fd> must refer to a PID namespace."
+msgstr "I<fd> は PID 名前空間を参照していなければならない。"
+
+#. type: TP
+#: build/C/man2/setns.2:59 build/C/man2/unshare.2:176
+#, no-wrap
+msgid "B<CLONE_NEWUSER> (since Linux 3.8)"
+msgstr "B<CLONE_NEWUSER> (Linux 3.8 以降)"
+
+#. type: Plain text
+#: build/C/man2/setns.2:63
+msgid "I<fd> must refer to a user namespace."
+msgstr "I<fd> はユーザー名前空間を参照していなければならない。"
+
+#. type: TP
+#: build/C/man2/setns.2:63
+#, no-wrap
+msgid "B<CLONE_NEWUTS> (since Linux 3.0)"
+msgstr "B<CLONE_NEWUTS> (Linux 3.0 以降)"
+
+#. type: Plain text
+#: build/C/man2/setns.2:67
 msgid "I<fd> must refer to a UTS namespace."
 msgstr "I<fd> は UTS 名前空間を参照していなければならない。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:70
+#: build/C/man2/setns.2:82
 msgid ""
 "Specifying I<nstype> as 0 suffices if the caller knows (or does not care)  "
 "what type of namespace is referred to by I<fd>.  Specifying a nonzero value "
@@ -4636,7 +6132,51 @@ msgstr ""
 "参照しているかを知らない可能性がある。)"
 
 #. type: Plain text
-#: build/C/man2/setns.2:77
+#: build/C/man2/setns.2:97
+msgid ""
+"B<CLONE_NEWPID> behaves somewhat differently from the other I<nstype> "
+"values: reassociating the calling thread with a PID namespace only changes "
+"the PID namespace that child processes of the caller will be created in; it "
+"does not change the PID namespace of the caller itself.  Reassociating with "
+"a PID namespace is only allowed if the PID namespace specified by I<fd> is a "
+"descendant (child, grandchild, etc.)  of the PID namespace of the caller.  "
+"For further details on PID namespaces, see B<pid_namespaces>(7)."
+msgstr ""
+
+#.  See kernel/user_namespace.c:userns_install() [3.8 source]
+#.  commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71
+#.  https://lwn.net/Articles/543273/
+#. type: Plain text
+#: build/C/man2/setns.2:124
+msgid ""
+"A process reassociating itself with a user namespace must have the "
+"B<CAP_SYS_ADMIN> capability in the target user namespace.  Upon successfully "
+"joining a user namespace, a process is granted all capabilities in that "
+"namespace, regardless of its user and group IDs.  A multithreaded process "
+"may not change user namespace with B<setns>().  It is not permitted to use "
+"B<setns>()  to reenter the caller's current user namespace.  This prevents a "
+"caller that has dropped capabilities from regaining those capabilities via a "
+"call to B<setns>().  For security reasons, a process can't join a new user "
+"namespace if it is sharing filesystem-related attributes (the attributes "
+"whose sharing is controlled by the B<clone>(2)  B<CLONE_FS> flag) with "
+"another process.  For further details on user namespaces, see "
+"B<user_namespaces>(7)."
+msgstr ""
+
+#.  Above check is in fs/namespace.c:mntns_install() [3.8 source]
+#. type: Plain text
+#: build/C/man2/setns.2:138
+msgid ""
+"A process may not be reassociated with a new mount namespace if it is "
+"multithreaded.  Changing the mount namespace requires that the caller "
+"possess both B<CAP_SYS_CHROOT> and B<CAP_SYS_ADMIN> capabilities in its own "
+"user namespace and B<CAP_SYS_ADMIN> in the target mount namespace.  See "
+"B<user_namespaces>(7)  for details on the interaction of user namespaces and "
+"mount namespaces."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/setns.2:145
 msgid ""
 "On success, I<setns>()  returns 0.  On failure, -1 is returned and I<errno> "
 "is set to indicate the error."
@@ -4645,37 +6185,60 @@ msgstr ""
 "失敗すると、 -1 が返され、 I<errno> にエラーを示す値が設定される。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:82
+#: build/C/man2/setns.2:150
 msgid "I<fd> is not a valid file descriptor."
 msgstr "I<fd> が有効なファイルディスクリプタではない。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:89
+#: build/C/man2/setns.2:155
+msgid ""
+"I<fd> refers to a namespace whose type does not match that specified in "
+"I<nstype>."
+msgstr ""
+"I<fd> が I<nstype> で指定されたタイプと一致しない名前空間を参照している。"
+
+#. type: Plain text
+#: build/C/man2/setns.2:159
+msgid ""
+"There is problem with reassociating the thread with the specified namespace."
+msgstr "スレッドを指定された名前空間に関連付けし直す際に問題が発生した。"
+
+#. type: Plain text
+#: build/C/man2/setns.2:163
+msgid ""
+"The caller attempted to join the user namespace in which it is already a "
+"member."
+msgstr ""
+
+#.  commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71
+#. type: Plain text
+#: build/C/man2/setns.2:170
 msgid ""
-"I<fd> refers to a namespace whose type does not match that specified in "
-"I<nstype>, or there is problem with reassociating the the thread with the "
-"specified namespace."
+"The caller shares filesystem (B<CLONE_FS>)  state (in particular, the root "
+"directory)  with other processes and tried to join a new user namespace."
+msgstr ""
+
+#.  See kernel/user_namespace.c::userns_install() [kernel 3.15 sources]
+#. type: Plain text
+#: build/C/man2/setns.2:174
+msgid "The caller is multithreaded and tried to join a new user namespace."
 msgstr ""
-"I<fd> が I<nstype> で指定されたタイプと一致しない名前空間を参照している。\n"
-"または、指定された名前空間をそのスレッドに関連付けし直す際に問題\n"
-"があった。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:92
+#: build/C/man2/setns.2:177
 msgid "Cannot allocate sufficient memory to change the specified namespace."
 msgstr "指定された名前空間に変更するのに必要なメモリが割り当てられない。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:97
+#: build/C/man2/setns.2:181
 msgid ""
-"The calling thread did not have the required privilege (B<CAP_SYS_ADMIN>)  "
-"for this operation."
+"The calling thread did not have the required capability for this operation."
 msgstr ""
-"呼び出したスレッドがこの操作を行うのに必要な特権 (B<CAP_SYS_ADMIN>) を\n"
-"持っていなかった。"
+"呼び出し元スレッドはこの操作を行うのに必要なケーパビリティを持っていなかっ"
+"た。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:102
+#: build/C/man2/setns.2:186
 msgid ""
 "The B<setns>()  system call first appeared in Linux in kernel 3.0; library "
 "support was added to glibc in version 2.14."
@@ -4684,12 +6247,12 @@ msgstr ""
 "ライブラリによるサポートは glibc バージョン 2.14 を追加された。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:106
+#: build/C/man2/setns.2:190
 msgid "The B<setns>()  system call is Linux-specific."
 msgstr "B<setns>() システムコールは Linux 固有である。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:112
+#: build/C/man2/setns.2:196
 msgid ""
 "Not all of the attributes that can be shared when a new thread is created "
 "using B<clone>(2)  can be changed using B<setns>()."
@@ -4698,7 +6261,7 @@ msgstr ""
 "B<setns>() を使って変更できるわけではない。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:121
+#: build/C/man2/setns.2:205
 msgid ""
 "The program below takes two or more arguments.  The first argument specifies "
 "the pathname of a namespace file in an existing I</proc/[pid]/ns/> "
@@ -4713,7 +6276,7 @@ msgstr ""
 "間内で実行する。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:131
+#: build/C/man2/setns.2:215
 msgid ""
 "The following shell session demonstrates the use of this program (compiled "
 "as a binary named I<ns_exec>)  in conjunction with the B<CLONE_NEWUTS> "
@@ -4725,7 +6288,7 @@ msgstr ""
 "B<CLONE_NEWUTS> のサンプルプログラムと組み合わせて使っている。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:139
+#: build/C/man2/setns.2:223
 msgid ""
 "We begin by executing the example program in B<clone>(2)  in the "
 "background.  That program creates a child in a separate UTS namespace.  The "
@@ -4739,7 +6302,7 @@ msgstr ""
 "れの UTS 名前空間のホスト名を表示し、 2 つのホスト名が違うことが確認できる。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:151
+#: build/C/man2/setns.2:235
 #, no-wrap
 msgid ""
 "$ B<su>                   # Need privilege for namespace operations\n"
@@ -4763,7 +6326,7 @@ msgstr ""
 "antero\n"
 
 #. type: Plain text
-#: build/C/man2/setns.2:158
+#: build/C/man2/setns.2:242
 msgid ""
 "We then run the program shown below, using it to execute a shell.  Inside "
 "that shell, we verify that the hostname is the one set by the child created "
@@ -4774,7 +6337,7 @@ msgstr ""
 "確認できる。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:164
+#: build/C/man2/setns.2:248
 #, no-wrap
 msgid ""
 "# B<./ns_exec /proc/3550/ns/uts /bin/bash>\n"
@@ -4786,7 +6349,7 @@ msgstr ""
 "bizarro\n"
 
 #. type: Plain text
-#: build/C/man2/setns.2:174
+#: build/C/man2/setns.2:258
 #, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
@@ -4804,7 +6367,7 @@ msgstr ""
 "#include E<lt>stdio.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man2/setns.2:182
+#: build/C/man2/setns.2:266
 #, no-wrap
 msgid ""
 "int\n"
@@ -4818,7 +6381,7 @@ msgstr ""
 "    int fd;\n"
 
 #. type: Plain text
-#: build/C/man2/setns.2:187
+#: build/C/man2/setns.2:271
 #, no-wrap
 msgid ""
 "    if (argc E<lt> 3) {\n"
@@ -4832,43 +6395,47 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
-#: build/C/man2/setns.2:191
+#: build/C/man2/setns.2:275
 #, no-wrap
 msgid ""
-"    fd = open(argv[1], O_RDONLY);   /* Get descriptor for namespace */\n"
+"    fd = open(argv[1], O_RDONLY);  /* Get descriptor for namespace */\n"
 "    if (fd == -1)\n"
 "        errExit(\"open\");\n"
 msgstr ""
-"    fd = open(argv[1], O_RDONLY);   /* 名前空間のディスクリプタを取得 */\n"
+"    fd = open(argv[1], O_RDONLY);  /* 名前空間のディスクリプタを取得 */\n"
 "    if (fd == -1)\n"
 "        errExit(\"open\");\n"
 
 #. type: Plain text
-#: build/C/man2/setns.2:194
+#: build/C/man2/setns.2:278
 #, no-wrap
 msgid ""
-"    if (setns(fd, 0) == -1)         /* Join that namespace */\n"
+"    if (setns(fd, 0) == -1)        /* Join that namespace */\n"
 "        errExit(\"setns\");\n"
 msgstr ""
-"    if (setns(fd, 0) == -1)         /* 名前空間に参加 */\n"
+"    if (setns(fd, 0) == -1)        /* 名前空間に参加 */\n"
 "        errExit(\"setns\");\n"
 
 #. type: Plain text
-#: build/C/man2/setns.2:198
+#: build/C/man2/setns.2:282
 #, no-wrap
 msgid ""
-"    execvp(argv[2], &argv[2]);      /* Execute a command in namespace */\n"
+"    execvp(argv[2], &argv[2]);     /* Execute a command in namespace */\n"
 "    errExit(\"execvp\");\n"
 "}\n"
 msgstr ""
-"    execvp(argv[2], &argv[2]);      /* 名前空間内でコマンドを実行 */\n"
+"    execvp(argv[2], &argv[2]);     /* 名前空間内でコマンドを実行 */\n"
 "    errExit(\"execvp\");\n"
 "}\n"
 
 #. type: Plain text
-#: build/C/man2/setns.2:205
-msgid "B<clone>(2), B<fork>(2), B<vfork>(2), B<proc>(5), B<unix>(7)"
-msgstr "B<clone>(2), B<fork>(2), B<vfork>(2), B<proc>(5), B<unix>(7)"
+#: build/C/man2/setns.2:290
+msgid ""
+"B<clone>(2), B<fork>(2), B<unshare>(2), B<vfork>(2), B<namespaces>(7), "
+"B<unix>(7)"
+msgstr ""
+"B<clone>(2), B<fork>(2), B<unshare>(2), B<vfork>(2), B<namespaces>(7), "
+"B<unix>(7)"
 
 #. type: TH
 #: build/C/man2/unshare.2:20
@@ -4876,12 +6443,6 @@ msgstr "B<clone>(2), B<fork>(2), B<vfork>(2), B<proc>(5), B<unix>(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"
@@ -4971,14 +6532,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/unshare.2:113
-#, fuzzy
-#| msgid ""
-#| "This flag has the same effect as the B<clone>(2)  B<CLONE_NEWIPC> 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 "
-#| "other process.  Specifying this flag automatically implies "
-#| "B<CLONE_SYSVSEM> as well.  Use of B<CLONE_NEWIPC> requires the "
-#| "B<CAP_SYS_ADMIN> capability."
 msgid ""
 "This flag has the same effect as the B<clone>(2)  B<CLONE_NEWIPC> flag.  "
 "Unshare the System\\ V IPC namespace, so that the calling process has a "
@@ -4987,8 +6540,8 @@ msgid ""
 "as well.  Use of B<CLONE_NEWIPC> requires the B<CAP_SYS_ADMIN> capability."
 msgstr ""
 "このフラグは B<clone>(2) B<CLONE_NEWIPC> フラグと同じ効果を持つ。\n"
-"System V IPC 名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは\n"
-"共有しない固有の System V IPC 名前空間のコピーを持つ。 このフラグを指定\n"
+"System\\ V IPC 名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは\n"
+"共有しない固有の System\\ V IPC 名前空間のコピーを持つ。 このフラグを指定\n"
 "すると、 B<CLONE_SYSVSEM> も暗黙のうちに指定される。 B<CLONE_NEWIPC> を\n"
 "使用するには B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
 
@@ -5031,7 +6584,66 @@ msgstr ""
 "ケーパビリティが必要である。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:163
+#: build/C/man2/unshare.2:176
+#, fuzzy
+#| msgid ""
+#| "This flag has the same effect as the B<clone>(2)  B<CLONE_NEWNS> flag.  "
+#| "Unshare the mount namespace, so that the calling process has a private "
+#| "copy of its namespace which is not shared with any other process.  "
+#| "Specifying this flag automatically implies B<CLONE_FS> as well.  Use of "
+#| "B<CLONE_NEWNS> requires the B<CAP_SYS_ADMIN> capability."
+msgid ""
+"This flag has the same effect as the B<clone>(2)  B<CLONE_NEWPID> flag.  "
+"Unshare the PID namespace, so that the calling process has a new PID "
+"namespace for its children which is not shared with any previously existing "
+"process.  The calling process is I<not> moved into the new namespace.  The "
+"first child created by the calling process will have the process ID 1 and "
+"will assume the role of B<init>(1)  in the new namespace.  B<CLONE_NEWPID> "
+"automatically implies B<CLONE_THREAD> as well.  Use of B<CLONE_NEWPID> "
+"requires the B<CAP_SYS_ADMIN> capability.  For further information, see "
+"B<pid_namespaces>(7)."
+msgstr ""
+"このフラグは B<clone>(2) B<CLONE_NEWNS> フラグと同じ効果を持つ。 マウン\n"
+"ト名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは共有しない固\n"
+"有の名前空間のコピーを持つ。 このフラグを指定すると、 B<CLONE_FS> も暗\n"
+"黙のうちに指定される。 B<CLONE_NEWNS> を使用するには B<CAP_SYS_ADMIN>\n"
+"ケーパビリティが必要である。"
+
+#. type: Plain text
+#: build/C/man2/unshare.2:190
+#, fuzzy
+#| msgid ""
+#| "This flag has the same effect as the B<clone>(2)  B<CLONE_NEWNET> flag.  "
+#| "Unshare the network namespace, so that the calling process is moved into "
+#| "a new network namespace which is not shared with any previously existing "
+#| "process.  Use of B<CLONE_NEWNET> requires the B<CAP_SYS_ADMIN> capability."
+msgid ""
+"This flag has the same effect as the B<clone>(2)  B<CLONE_NEWUSER> flag.  "
+"Unshare the user namespace, so that the calling process is moved into a new "
+"user namespace which is not shared with any previously existing process.  As "
+"with the child process created by B<clone>(2)  with the B<CLONE_NEWUSER> "
+"flag, the caller obtains a full set of capabilities in the new namespace."
+msgstr ""
+"このフラグは B<clone>(2) B<CLONE_NEWNET> フラグと同じ効果を持つ。ネット\n"
+"ワーク名前空間を共有せず、呼び出し元プロセスは他のプロセスとは共有しな\n"
+"い固有のネットワーク名前空間のコピーを持つ。B<CLONE_NEWNET> を使用する\n"
+"には B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
+
+#.  commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71
+#.  https://lwn.net/Articles/543273/
+#. type: Plain text
+#: build/C/man2/unshare.2:206
+msgid ""
+"B<CLONE_NEWUSER> requires that the calling process is not threaded; "
+"specifying B<CLONE_NEWUSER> automatically implies B<CLONE_THREAD>.  Since "
+"Linux 3.9, B<CLONE_NEWUSER> also automatically implies B<CLONE_FS>.  "
+"B<CLONE_NEWUSER> requires that the user ID and group ID of the calling "
+"process are mapped to user IDs and group IDs in the user namespace of the "
+"calling process at the time of the call."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/unshare.2:223
 msgid ""
 "This flag has the same effect as the B<clone>(2)  B<CLONE_NEWUTS> flag.  "
 "Unshare the UTS IPC namespace, so that the calling process has a private "
@@ -5045,54 +6657,55 @@ msgstr ""
 "B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
 
 #. type: TP
-#: build/C/man2/unshare.2:163
+#: build/C/man2/unshare.2:223
 #, no-wrap
 msgid "B<CLONE_SYSVSEM> (since Linux 2.6.26)"
 msgstr "B<CLONE_SYSVSEM> (Linux 2.6.26 以降)"
 
 #.  commit 9edff4ab1f8d82675277a04e359d0ed8bf14a7b7
-#.  As at 2.6.16, the following forced implications also apply,
-#.  although the relevant flags are not yet implemented.
-#.  If CLONE_THREAD is set force CLONE_VM.
-#.  If CLONE_VM is set, force CLONE_SIGHAND.
-#.  CLONE_NEWNSIf CLONE_SIGHAND is set and signals are also being shared
+#.  CLONE_NEWNS If CLONE_SIGHAND is set and signals are also being shared
 #.  (i.e., current->signal->count > 1), force CLONE_THREAD.
-#.  FIXME . CLONE_VM is not (yet, as at 2.6.16) implemented.
-#.  .TP
-#.  .B CLONE_VM
-#.  Reverse the effect of the
-#.  .BR clone (2)
-#.  .B CLONE_VM
-#.  flag.
-#.  .RB ( CLONE_VM
-#.  is also implicitly set by
-#.  .BR vfork (2),
-#.  and can be reversed using this
-#.  .BR unshare ()
-#.  flag.)
-#.  Unshare virtual memory, so that the calling process no
-#.  longer shares its virtual address space with any other process.
-#. type: Plain text
-#: build/C/man2/unshare.2:200
+#. type: Plain text
+#: build/C/man2/unshare.2:243
 #, fuzzy
 #| msgid ""
 #| "This flag reverses the effect of the B<clone>(2)  B<CLONE_SYSVSEM> flag.  "
-#| "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 "
+#| "Unshare System\\ V semaphore undo values, so that the calling process has "
+#| "private copy which is not shared with any other process.  Use of "
 #| "B<CLONE_SYSVSEM> requires the B<CAP_SYS_ADMIN> capability."
 msgid ""
 "This flag reverses the effect of the B<clone>(2)  B<CLONE_SYSVSEM> flag.  "
-"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<CLONE_SYSVSEM> requires the B<CAP_SYS_ADMIN> capability."
+"Unshare System\\ V semaphore adjustment (I<semadj>)  values, so that the "
+"calling process has a new empty I<semadj> list that is not shared with any "
+"other process.  If this is the last process that has a reference to the "
+"process's current I<semadj> list, then the adjustments in that list are "
+"applied to the corresponding semaphores, as described in B<semop>(2)."
 msgstr ""
 "このフラグは B<clone>(2) B<CLONE_SYSVSEM> フラグの効果を逆転させる。\n"
-"System V セマフォのアンドゥ値を共有せず、呼び出し元プロセスは 他のプロ\n"
+"System\\ V セマフォのアンドゥ値を共有せず、呼び出し元プロセスは 他のプロ\n"
 "セスとは共有しない固有のコピーを持つ。B<CLONE_SYSVSEM> を使用するには\n"
 "B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
 
+#
+#.  As at 3.9, the following forced implications also apply,
+#.  although the relevant flags are not yet implemented.
+#.  If CLONE_THREAD is set force CLONE_VM.
+#.  If CLONE_VM is set, force CLONE_SIGHAND.
+#.  See kernel/fork.c::check_unshare_flags()
+#. type: Plain text
+#: build/C/man2/unshare.2:270
+msgid ""
+"In addition, B<CLONE_THREAD>, B<CLONE_SIGHAND>, and B<CLONE_VM> can be "
+"specified in I<flags> if the caller is single threaded (i.e., it is not "
+"sharing its address space with another process or thread).  In this case, "
+"these flags have no effect.  (Note also that specifying B<CLONE_THREAD> "
+"automatically implies B<CLONE_VM>, and specifying B<CLONE_VM> automatically "
+"implies B<CLONE_SIGHAND>.)  If the process is multithreaded, then the use of "
+"these flags results in an error."
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/unshare.2:207
+#: build/C/man2/unshare.2:277
 msgid ""
 "If I<flags> is specified as zero, then B<unshare>()  is a no-op; no changes "
 "are made to the calling process's execution context."
@@ -5101,7 +6714,7 @@ msgstr ""
 "元プロセスの実行コンテキストは、何も変更されない。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:212
+#: build/C/man2/unshare.2:282
 msgid ""
 "On success, zero returned.  On failure, -1 is returned and I<errno> is set "
 "to indicate the error."
@@ -5110,12 +6723,19 @@ msgstr ""
 "ラーを示す値が設定される。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:217
+#: build/C/man2/unshare.2:287
 msgid "An invalid bit was specified in I<flags>."
 msgstr "I<flags> に不正なビットが指定された。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:221
+#: build/C/man2/unshare.2:296
+msgid ""
+"B<CLONE_THREAD>, B<CLONE_SIGHAND>, or B<CLONE_VM> was specified in I<flags>, "
+"and the caller is multithreaded."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/unshare.2:300
 msgid ""
 "Cannot allocate sufficient memory to copy parts of caller's context that "
 "need to be unshared."
@@ -5124,18 +6744,18 @@ msgstr ""
 "に、 十分なメモリが確保できなかった。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:224
+#: build/C/man2/unshare.2:303
 msgid ""
 "The calling process did not have the required privileges for this operation."
 msgstr "呼び出し元プロセスはこの操作を行うのに必要な特権を持っていなかった。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:228
+#: build/C/man2/unshare.2:333
 msgid "The B<unshare>()  system call was added to Linux in kernel 2.6.16."
 msgstr "B<unshare>()  システムコールは Linux カーネル 2.6.16 で追加された。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:232
+#: build/C/man2/unshare.2:337
 msgid "The B<unshare>()  system call is Linux-specific."
 msgstr "B<unshare>()  システムコールは Linux 固有である。"
 
@@ -5158,7 +6778,7 @@ msgstr "B<unshare>()  システムコールは Linux 固有である。"
 #. be incrementally added to unshare without affecting legacy
 #. applications using unshare.
 #. type: Plain text
-#: build/C/man2/unshare.2:266
+#: build/C/man2/unshare.2:371
 msgid ""
 "Not all of the process attributes that can be shared when a new process is "
 "created using B<clone>(2)  can be unshared using B<unshare>().  In "
@@ -5173,572 +6793,400 @@ msgstr ""
 "必要であれば将来追加されるかもしれない。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:272
-msgid "B<clone>(2), B<fork>(2), B<kcmp>(2), B<setns>(2), B<vfork>(2)"
-msgstr "B<clone>(2), B<fork>(2), B<kcmp>(2), B<setns>(2), B<vfork>(2)"
+#: build/C/man2/unshare.2:380
+msgid ""
+"The program below provides a simple implementation of the B<unshare>(1)  "
+"command, which unshares one or more namespaces and executes the command "
+"supplied in its command-line arguments.  Here's an example of the use of "
+"this program, running a shell in a new mount namespace, and verifying that "
+"the original shell and the new shell are in separate mount namespaces:"
+msgstr ""
 
 #. type: Plain text
-#: build/C/man2/unshare.2:275
-msgid "I<Documentation/unshare.txt> in the Linux kernel source tree"
-msgstr "Linux カーネルソース内の I<Documentation/unshare.txt>"
-
-#~ msgid "2013-09-23"
-#~ msgstr "2013-09-23"
-
-#~ msgid ""
-#~ "I<Programming for the real world - POSIX.4> by Bill O. Gallmeister, "
-#~ "O'Reilly & Associates, Inc., ISBN 1-56592-074-0."
-#~ msgstr ""
-#~ "I<Programming for the real world - POSIX.4> by Bill O. Gallmeister, "
-#~ "O'Reilly & Associates, Inc., ISBN 1-56592-074-0."
-
-#~ msgid "B<getcpu>(2)"
-#~ msgstr "B<getcpu>(2)"
-
-#~ msgid "2013-03-18"
-#~ msgstr "2013-03-18"
-
-#~ msgid "2013-09-17"
-#~ msgstr "2013-09-17"
-
-#~ msgid ""
-#~ "B<sched_setscheduler>()  sets both the scheduling policy and the "
-#~ "associated parameters for the thread whose ID is specified in I<pid>.  If "
-#~ "I<pid> equals zero, the scheduling policy and parameters of the calling "
-#~ "thread will be set.  The interpretation of the argument I<param> depends "
-#~ "on the selected policy.  Currently, Linux supports the following \"normal"
-#~ "\" (i.e., non-real-time) scheduling policies:"
-#~ msgstr ""
-#~ "B<sched_setscheduler>()  は I<pid> で指定された ID を持つスレッドのスケ"
-#~ "ジューリング・ポリシーや それに関連するパラメータを設定する。I<pid> が 0 "
-#~ "の場合は 呼び出したスレッドのスケジューリング・ポリシーとパラメータが設定"
-#~ "される。 引き数 I<param> の解釈は選択されたポリシーによる。 現在のところ、"
-#~ "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<static> scheduling priority, I<sched_priority>; "
-#~ "these are the settings that are modified by B<sched_setscheduler>().  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<sched_priority> が対応"
-#~ "付けられ、 これらの設定は B<sched_setscheduler>()  で変更できる。 スケ"
-#~ "ジューラは、システム上の全スレッドのスケジューリング・ポリシーと 静的優先"
-#~ "度に関する知識に基づいて決定を行う。"
-
-#~ msgid ""
-#~ "For threads scheduled under one of the normal scheduling policies "
-#~ "(B<SCHED_OTHER>, B<SCHED_IDLE>, B<SCHED_BATCH>), I<sched_priority> is not "
-#~ "used in scheduling decisions (it must be specified as 0)."
-#~ msgstr ""
-#~ "通常のスケジューリング・ポリシー (B<SCHED_OTHER>, B<SCHED_IDLE>, "
-#~ "B<SCHED_BATCH>)  の下でスケジューリングされるスレッドでは、 "
-#~ "I<sched_priority> はスケジューリングの決定に使用されない "
-#~ "(I<sched_priority> には 0 を指定しなければならない)。"
-
-#~ msgid ""
-#~ "Processes scheduled under one of the real-time policies (B<SCHED_FIFO>, "
-#~ "B<SCHED_RR>) have a I<sched_priority> 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<sched_get_priority_min>(2)  and "
-#~ "B<sched_get_priority_max>(2)  to find the range of priorities supported "
-#~ "for a particular policy."
-#~ msgstr ""
-#~ "リアルタイム・スケジューリング・ポリシー (B<SCHED_FIFO>, B<SCHED_RR>)  の"
-#~ "下でスケジューリングされるスレッドは、 I<sched_priority> の値は 1 (最低) "
-#~ "から 99 (最高) の範囲となる (数字から分かるように、リアルタイム・スレッド"
-#~ "は常に通常のスレッドよりも 高い優先度を持つ)。 ここで注意すべきなのは、"
-#~ "POSIX.1-2001 が要求しているのは、 リアルタイム・ポリシーの実装において最"
-#~ "低 32 種類の異なる優先度レベルが サポートされることだけであり、いくつかの"
-#~ "システムではこの最低限の数の 優先度しか提供されていない、ということであ"
-#~ "る。 移植性が必要なプログラムでは、 B<sched_get_priority_min>(2)  と "
-#~ "B<sched_get_priority_max>(2)  を使って、あるポリシーがサポートする優先度の"
-#~ "範囲を調べるべきである。"
-
-#~ msgid ""
-#~ "Conceptually, the scheduler maintains a list of runnable threads for each "
-#~ "possible I<sched_priority> 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<sched_priority> の値それぞれに対して "
-#~ "実行可能なスレッドのリストを管理している。 どのスレッドを次に実行するかを"
-#~ "決定するために、 スケジューラは静的優先度の最も高い空でないリストを探し"
-#~ "て、 そのリストの先頭のスレッドを選択する。"
+#: build/C/man2/unshare.2:389
+#, no-wrap
+msgid ""
+"$ B<readlink /proc/$$/ns/mnt>\n"
+"mnt:[4026531840]\n"
+"$ B<sudo ./unshare -m /bin/bash>\n"
+"[sudo] password for cecilia:\n"
+"# B<readlink /proc/$$/ns/mnt>\n"
+"mnt:[4026532325]\n"
+msgstr ""
+"$ B<readlink /proc/$$/ns/mnt>\n"
+"mnt:[4026531840]\n"
+"$ B<sudo ./unshare -m /bin/bash>\n"
+"[sudo] password for cecilia:\n"
+"# B<readlink /proc/$$/ns/mnt>\n"
+"mnt:[4026532325]\n"
 
-#~ 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 ""
-#~ "各スレッドのスケジューリング・ポリシーは、 そのスレッドが同じ静的優先度を"
-#~ "持つスレッドのリストの中のどこに挿入され、 このリストの中をどのように移動"
-#~ "するかを決定する。"
+#. type: Plain text
+#: build/C/man2/unshare.2:395
+msgid ""
+"The differing output of the two B<readlink>(1)  commands shows that the two "
+"shells are in different mount namespaces."
+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)、そのスレッドの静的優先度レベルの待ちリストに 戻される。ス"
-#~ "ケジューリング・ポリシーは同じ静的優先度を持つ実行可能な スレッドのリスト"
-#~ "の中で順番のみを決定する。"
+#. type: Plain text
+#: build/C/man2/unshare.2:399
+#, no-wrap
+msgid "/* unshare.c\n"
+msgstr "/* unshare.c\n"
 
-#~ msgid "SCHED_FIFO: First in-first out scheduling"
-#~ msgstr "SCHED_FIFO: ファーストイン・ファーストアウト・スケジューリング"
+#. type: Plain text
+#: build/C/man2/unshare.2:408
+#, no-wrap
+msgid ""
+"   A simple implementation of the unshare(1) command: unshare\n"
+"   namespaces and execute a command.\n"
+"*/\n"
+"#define _GNU_SOURCE\n"
+"#include E<lt>sched.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+msgstr ""
+"   A simple implementation of the unshare(1) command: unshare\n"
+"   namespaces and execute a command.\n"
+"*/\n"
+"#define _GNU_SOURCE\n"
+"#include E<lt>sched.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
 
-#~ msgid ""
-#~ "B<SCHED_FIFO> can be used only with static priorities higher than 0, "
-#~ "which means that when a B<SCHED_FIFO> threads becomes runnable, it will "
-#~ "always immediately preempt any currently running B<SCHED_OTHER>, "
-#~ "B<SCHED_BATCH>, or B<SCHED_IDLE> thread.  B<SCHED_FIFO> is a simple "
-#~ "scheduling algorithm without time slicing.  For threads scheduled under "
-#~ "the B<SCHED_FIFO> policy, the following rules apply:"
-#~ msgstr ""
-#~ "B<SCHED_FIFO> は 0 より大きな静的優先度でのみ使用できる。このポリシーで"
-#~ "は、 B<SCHED_FIFO> スレッドが実行可能になった場合、 そのポリシーが "
-#~ "B<SCHED_OTHER>、 B<SCHED_BATCH>、 B<SCHED_IDLE> の 現在実行中のスレッドは"
-#~ "直ちに実行権を取り上げられる。 B<SCHED_FIFO> は時分割のない単純なスケ"
-#~ "ジューリング・アルゴリズムである。 B<SCHED_FIFO> ポリシーでスケジューリン"
-#~ "グされているスレッドには以下の ルールが適用される:"
+#. type: Plain text
+#: build/C/man2/unshare.2:411
+#, no-wrap
+msgid ""
+"/* A simple error-handling function: print an error message based\n"
+"   on the value in \\(aqerrno\\(aq and terminate the calling process */\n"
+msgstr ""
+"/* A simple error-handling function: print an error message based\n"
+"   on the value in \\(aqerrno\\(aq and terminate the calling process */\n"
 
-#~ msgid "*"
-#~ msgstr "*"
+#. type: Plain text
+#: build/C/man2/unshare.2:428
+#, no-wrap
+msgid ""
+"static void\n"
+"usage(char *pname)\n"
+"{\n"
+"    fprintf(stderr, \"Usage: %s [options] program [arg...]\\en\", pname);\n"
+"    fprintf(stderr, \"Options can be:\\en\");\n"
+"    fprintf(stderr, \"    -i   unshare IPC namespace\\en\");\n"
+"    fprintf(stderr, \"    -m   unshare mount namespace\\en\");\n"
+"    fprintf(stderr, \"    -n   unshare network namespace\\en\");\n"
+"    fprintf(stderr, \"    -p   unshare PID namespace\\en\");\n"
+"    fprintf(stderr, \"    -u   unshare UTS namespace\\en\");\n"
+"    fprintf(stderr, \"    -U   unshare user namespace\\en\");\n"
+"    exit(EXIT_FAILURE);\n"
+"}\n"
+msgstr ""
+"static void\n"
+"usage(char *pname)\n"
+"{\n"
+"    fprintf(stderr, \"Usage: %s [options] program [arg...]\\en\", pname);\n"
+"    fprintf(stderr, \"Options can be:\\en\");\n"
+"    fprintf(stderr, \"    -i   unshare IPC namespace\\en\");\n"
+"    fprintf(stderr, \"    -m   unshare mount namespace\\en\");\n"
+"    fprintf(stderr, \"    -n   unshare network namespace\\en\");\n"
+"    fprintf(stderr, \"    -p   unshare PID namespace\\en\");\n"
+"    fprintf(stderr, \"    -u   unshare UTS namespace\\en\");\n"
+"    fprintf(stderr, \"    -U   unshare user namespace\\en\");\n"
+"    exit(EXIT_FAILURE);\n"
+"}\n"
 
-#~ msgid ""
-#~ "A B<SCHED_FIFO> 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<SCHED_FIFO> スレッ"
-#~ "ドはその優先度のリストの先頭に留まり続け、 より高い優先度のスレッド全てが"
-#~ "停止 (block) した場合に実行を再開する。"
+#. type: Plain text
+#: build/C/man2/unshare.2:433
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    int flags, opt;\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    int flags, opt;\n"
 
-#~ msgid ""
-#~ "When a B<SCHED_FIFO> thread becomes runnable, it will be inserted at the "
-#~ "end of the list for its priority."
-#~ msgstr ""
-#~ "B<SCHED_FIFO> スレッドが実行可能になった時、その優先度のリストの最後 に挿"
-#~ "入される。"
+#. type: Plain text
+#: build/C/man2/unshare.2:435
+#, no-wrap
+msgid "    flags = 0;\n"
+msgstr "    flags = 0;\n"
 
-#~ msgid ""
-#~ "A call to B<sched_setscheduler>()  or B<sched_setparam>(2)  will put the "
-#~ "B<SCHED_FIFO> (or B<SCHED_RR>) thread identified by I<pid> 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<sched_setscheduler>()  や B<sched_setparam>(2)  は I<pid> で指定された "
-#~ "B<SCHED_FIFO> (または B<SCHED_RR>) スレッドが 実行可能な場合、リストの最初"
-#~ "に置く。 結果として、もし優先度が同じだった場合、 現在実行中のスレッドに先"
-#~ "んじるかもしれない。 (POSIX.1-2001 ではスレッドはリストの最後に行くべきと"
-#~ "規定されている。)"
+#. type: Plain text
+#: build/C/man2/unshare.2:447
+#, no-wrap
+msgid ""
+"    while ((opt = getopt(argc, argv, \"imnpuU\")) != -1) {\n"
+"        switch (opt) {\n"
+"        case \\(aqi\\(aq: flags |= CLONE_NEWIPC;        break;\n"
+"        case \\(aqm\\(aq: flags |= CLONE_NEWNS;         break;\n"
+"        case \\(aqn\\(aq: flags |= CLONE_NEWNET;        break;\n"
+"        case \\(aqp\\(aq: flags |= CLONE_NEWPID;        break;\n"
+"        case \\(aqu\\(aq: flags |= CLONE_NEWUTS;        break;\n"
+"        case \\(aqU\\(aq: flags |= CLONE_NEWUSER;       break;\n"
+"        default:  usage(argv[0]);\n"
+"        }\n"
+"    }\n"
+msgstr ""
+"    while ((opt = getopt(argc, argv, \"imnpuU\")) != -1) {\n"
+"        switch (opt) {\n"
+"        case \\(aqi\\(aq: flags |= CLONE_NEWIPC;        break;\n"
+"        case \\(aqm\\(aq: flags |= CLONE_NEWNS;         break;\n"
+"        case \\(aqn\\(aq: flags |= CLONE_NEWNET;        break;\n"
+"        case \\(aqp\\(aq: flags |= CLONE_NEWPID;        break;\n"
+"        case \\(aqu\\(aq: flags |= CLONE_NEWUTS;        break;\n"
+"        case \\(aqU\\(aq: flags |= CLONE_NEWUSER;       break;\n"
+"        default:  usage(argv[0]);\n"
+"        }\n"
+"    }\n"
 
-#~ msgid ""
-#~ "A thread calling B<sched_yield>(2)  will be put at the end of the list."
-#~ msgstr "B<sched_yield>(2)  を呼び出したスレッドはリストの最後に置かれる。"
+#. type: Plain text
+#: build/C/man2/unshare.2:450
+#, no-wrap
+msgid ""
+"    if (optind E<gt>= argc)\n"
+"        usage(argv[0]);\n"
+msgstr ""
+"    if (optind E<gt>= argc)\n"
+"        usage(argv[0]);\n"
 
-#~ msgid ""
-#~ "No other events will move a thread scheduled under the B<SCHED_FIFO> "
-#~ "policy in the wait list of runnable threads with equal static priority."
-#~ msgstr ""
-#~ "その他のイベントによって B<SCHED_FIFO> ポリシーでスケジューリングされるス"
-#~ "レッドが同じ優先度の実行可能なスレッドの待ちリストの中を移動することはな"
-#~ "い。"
+#. type: Plain text
+#: build/C/man2/unshare.2:453
+#, no-wrap
+msgid ""
+"    if (unshare(flags) == -1)\n"
+"        errExit(\"unshare\");\n"
+msgstr ""
+"    if (unshare(flags) == -1)\n"
+"        errExit(\"unshare\");\n"
 
-#~ msgid ""
-#~ "A B<SCHED_FIFO> thread runs until either it is blocked by an I/O request, "
-#~ "it is preempted by a higher priority thread, or it calls "
-#~ "B<sched_yield>(2)."
-#~ msgstr ""
-#~ "B<SCHED_FIFO> スレッドは I/O 要求によって停止するか、 より高い優先度のス"
-#~ "レッドによって置きかえられるか、 B<sched_yield>(2)  を呼び出すまで実行を続"
-#~ "ける。"
+#. type: Plain text
+#: build/C/man2/unshare.2:457
+#, no-wrap
+msgid ""
+"    execvp(argv[optind], &argv[optind]);\n"
+"    errExit(\"execvp\");\n"
+"}\n"
+msgstr ""
+"    execvp(argv[optind], &argv[optind]);\n"
+"    errExit(\"execvp\");\n"
+"}\n"
 
-#~ msgid "SCHED_RR: Round-robin scheduling"
-#~ msgstr "SCHED_RR: ラウンドロビン (round-robin)・スケジューリング"
+#. type: Plain text
+#: build/C/man2/unshare.2:466
+msgid ""
+"B<unshare>(1), B<clone>(2), B<fork>(2), B<kcmp>(2), B<setns>(2), "
+"B<vfork>(2), B<namespaces>(7)"
+msgstr ""
+"B<unshare>(1), B<clone>(2), B<fork>(2), B<kcmp>(2), B<setns>(2), "
+"B<vfork>(2), B<namespaces>(7)"
 
-#~ msgid ""
-#~ "B<SCHED_RR> is a simple enhancement of B<SCHED_FIFO>.  Everything "
-#~ "described above for B<SCHED_FIFO> also applies to B<SCHED_RR>, except "
-#~ "that each thread is allowed to run only for a maximum time quantum.  If a "
-#~ "B<SCHED_RR> 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<SCHED_RR> 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<sched_rr_get_interval>(2)."
-#~ msgstr ""
-#~ "B<SCHED_RR> は B<SCHED_FIFO> の単純な拡張である。 上述された\n"
-#~ "B<SCHED_FIFO> に関する記述は全て B<SCHED_RR> に 適用できる。異なるのは\n"
-#~ "それぞれのスレッドは最大時間単位までしか実行できない ということである。\n"
-#~ "B<SCHED_RR> スレッドが時間単位と同じかそれより 長い時間実行されると、\n"
-#~ "その優先度のリストの最後に置かれる。 より高い優先度のスレッドによって\n"
-#~ "置きかえられ、その後実行を再開した B<SCHED_RR> スレッドは、そのラウンド\n"
-#~ "ロビン時間単位を完全に使い切る まで実行される。その時間単位の長さは\n"
-#~ "B<sched_rr_get_interval>(2) を使って取得できる。"
-
-#~ msgid "SCHED_OTHER: Default Linux time-sharing scheduling"
-#~ msgstr "SCHED_OTHER: Linux のデフォルトの時分割スケジューリング"
+#. type: Plain text
+#: build/C/man2/unshare.2:469
+msgid "I<Documentation/unshare.txt> in the Linux kernel source tree"
+msgstr "Linux カーネルソース内の I<Documentation/unshare.txt>"
 
-#~ msgid ""
-#~ "B<SCHED_OTHER> can be used at only static priority 0.  B<SCHED_OTHER> 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<dynamic> "
-#~ "priority that is determined only inside this list.  The dynamic priority "
-#~ "is based on the nice value (set by B<nice>(2)  or B<setpriority>(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<SCHED_OTHER> threads."
-#~ msgstr ""
-#~ "B<SCHED_OTHER> は静的優先度 0 でのみ使用できる。 B<SCHED_OTHER> は Linux "
-#~ "標準の時分割スケジューラで、 特別なリアルタイム機構を必要としていない全て"
-#~ "のスレッドで使用される。 実行するスレッドは、静的優先度 0 のリストから、こ"
-#~ "のリストの中だけで 決定される「動的な」優先度 (dynamic priority) に基いて"
-#~ "決定される。 動的な優先度は (B<nice>(2)  や B<setpriority>(2)  により設定"
-#~ "される) nice 値に基づいて決定されるもので、 単位時間毎に、スレッドが実行可"
-#~ "能だが、スケジューラにより実行が拒否された 場合にインクリメントされる。 こ"
-#~ "れにより、全ての B<SCHED_OTHER> スレッドでの公平性が保証される。"
-
-#~ msgid "SCHED_BATCH: Scheduling batch processes"
-#~ msgstr "SCHED_BATCH: バッチプロセスのスケジューリング"
+#~ msgid "2014-08-19"
+#~ msgstr "2014-08-19"
 
 #~ msgid ""
-#~ "(Since Linux 2.6.16.)  B<SCHED_BATCH> can be used only at static priority "
-#~ "0.  This policy is similar to B<SCHED_OTHER> 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."
+#~ "Use of this flag requires: a kernel configured with the B<CONFIG_SYSVIPC> "
+#~ "and B<CONFIG_IPC_NS> options and that the process be privileged "
+#~ "(B<CAP_SYS_ADMIN>).  This flag can't be specified in conjunction with "
+#~ "B<CLONE_SYSVSEM>."
 #~ msgstr ""
-#~ "(Linux 2.6.16 以降)  B<SCHED_BATCH> は静的優先度 0 でのみ使用できる。 この"
-#~ "ポリシーは (nice 値に基づく) 動的な優先度にしたがってスレッドの スケジュー"
-#~ "リングが行われるという点で、B<SCHED_OTHER> に似ている。 異なるのは、このポ"
-#~ "リシーでは、スレッドが常に CPU に負荷のかかる (CPU-intensive)  処理を行う"
-#~ "と、スケジューラが仮定する点である。 スケジューラはスレッドを呼び起こす毎"
-#~ "にそのスレッドにスケジューリング上の ペナルティを少し課し、その結果、この"
-#~ "スレッドはスケジューリングの決定で 若干冷遇されるようになる。"
+#~ "このフラグを使用するためには、 カーネルでオプション B<CONFIG_SYSVIPC> と "
+#~ "B<CONFIG_IPC_NS> を有効になっていること、 プロセスが特権 "
+#~ "(B<CAP_SYS_ADMIN>)  を持っていることが必要である。 このフラグは "
+#~ "B<CLONE_SYSVSEM> と組み合わせて使うことはできない。"
 
 #~ 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)."
+#~ "Use of this flag requires: a kernel configured with the B<CONFIG_NET_NS> "
+#~ "option and that the process be privileged (B<CAP_SYS_ADMIN>)."
 #~ msgstr ""
-#~ "このポリシーは、非対話的な処理だがその nice 値を下げたくない処理や、 (処理"
-#~ "のタスク間で) 余計なタスクの置き換えの原因とある対話的な処理なしで 確定的"
-#~ "な (deterministic) スケジューリング・ポリシーを適用したい処理に 対して有効"
-#~ "である。"
+#~ "このフラグを使用するためには、 カーネルでオプション B<CONFIG_NET_NS> を有"
+#~ "効になっていること、 プロセスが特権 (B<CAP_SYS_ADMIN>)  を持っていることが"
+#~ "必要である。"
 
-#~ msgid "SCHED_IDLE: Scheduling very low priority jobs"
-#~ msgstr "SCHED_IDLE: 非常に優先度の低いジョブのスケジューリング"
+#~ msgid "Start the child in a new mount namespace."
+#~ msgstr "子プロセスを新しいマウント名前空間 (mount namespace) で開始する。"
 
 #~ msgid ""
-#~ "(Since Linux 2.6.23.)  B<SCHED_IDLE> can be used only at static priority "
-#~ "0; the process nice value has no influence for this policy."
+#~ "Every process lives in a mount namespace.  The I<namespace> of a process "
+#~ "is the data (the set of mounts) describing the file hierarchy as seen by "
+#~ "that process.  After a B<fork>(2)  or B<clone>()  where the "
+#~ "B<CLONE_NEWNS> flag is not set, the child lives in the same mount "
+#~ "namespace as the parent.  The system calls B<mount>(2)  and B<umount>(2)  "
+#~ "change the mount namespace of the calling process, and hence affect all "
+#~ "processes that live in the same namespace, but do not affect processes in "
+#~ "a different mount namespace."
 #~ msgstr ""
-#~ "(Linux 2.6.23 以降)  B<SCHED_IDLE> は静的優先度 0 でのみ使用できる。 この"
-#~ "ポリシーではプロセスの nice 値はスケジューリングに影響を与えない。"
+#~ "各プロセスはある一つのマウント名前空間中に存在する。プロセスの I<名前空間 "
+#~ "(namespace)> は、そのプロセスから見えるファイル階層を表すデータ (mount の"
+#~ "集合) である。 B<CLONE_NEWNS> フラグがセットされずに B<fork>(2)  か "
+#~ "B<clone>()  が呼ばれると、子プロセスは親プロセスと同じマウント名前空間に作"
+#~ "成される。 システムコール B<mount>(2)、 B<umount>(2)  が呼ばれると呼び出し"
+#~ "元のプロセスのマウント名前空間が変更され、この結果 呼び出し元のプロセスと"
+#~ "同じ名前空間にいるプロセスはすべて影響を受けるが、 異なるマウント名前空間"
+#~ "にいるプロセスは影響を受けない。"
 
 #~ msgid ""
-#~ "This policy is intended for running jobs at extremely low priority (lower "
-#~ "even than a +19 nice value with the B<SCHED_OTHER> or B<SCHED_BATCH> "
-#~ "policies)."
+#~ "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<fork>(2), B<vfork>(2), or B<clone>()  will produce processes with PIDs "
+#~ "that are unique within the namespace."
 #~ msgstr ""
-#~ "非常に低い優先度でのジョブの実行を目的としたものである (非常に低い優先度と"
-#~ "は、ポリシー B<SCHED_OTHER> か B<SCHED_BATCH> での nice 値 +19 よりさらに"
-#~ "低い優先度である)。"
-
-#~ msgid "Resetting scheduling policy for child processes"
-#~ msgstr "子プロセスでのスケジューリング・ポリシーのリセット"
+#~ "PID 名前空間は、PID に関して分離された環境を提供するものである。 新しい名"
+#~ "前空間における PID は 1 から始まり (これはスタンドアロンのシステムと似たよ"
+#~ "うな感じ)、 B<fork>(2), B<vfork>(2), B<clone>()  を呼び出すと、その名前空"
+#~ "間で一意な PID を持ったプロセスが作成される。"
 
 #~ msgid ""
-#~ "More precisely, if the B<SCHED_RESET_ON_FORK> flag is specified, the "
-#~ "following rules apply for subsequently created children:"
+#~ "The first process created in a new namespace (i.e., the process created "
+#~ "using the B<CLONE_NEWPID> flag) has the PID 1, and is the \"init\" "
+#~ "process for the namespace.  Children that are orphaned within the "
+#~ "namespace will be reparented to this process rather than B<init>(8).  "
+#~ "Unlike the traditional B<init> process, the \"init\" process of a PID "
+#~ "namespace can terminate, and if it does, all of the processes in the "
+#~ "namespace are terminated."
 #~ msgstr ""
-#~ "より正確には、 B<SCHED_RESET_ON_FORK> フラグが指定された場合、それ以降に作"
-#~ "成される子プロセスに以下のルールが適用される。"
+#~ "新しい名前空間で作成される最初のプロセス (つまり、 B<CLONE_NEWPID> フラグ"
+#~ "を使って作成されたプロセス) の PID は 1 であり、 このプロセスはその名前空"
+#~ "間における \"init\" プロセスとなる。 この名前空間において孤児 (orphaned) "
+#~ "となった子プロセスについては、 B<init>(8)  ではなくこのプロセスが親プロセ"
+#~ "スとなる。 昔ながらの B<init> プロセスとは違い、PID 名前空間の \"init\" プ"
+#~ "ロセスは終了 (terminated) する ことができ、その場合には、この名前空間の全"
+#~ "てのプロセスが終了される。"
 
 #~ msgid ""
-#~ "If the calling thread has a scheduling policy of B<SCHED_FIFO> or "
-#~ "B<SCHED_RR>, the policy is reset to B<SCHED_OTHER> in child processes."
+#~ "PID namespaces form a hierarchy.  When a new PID namespace is created, "
+#~ "the processes in that namespace are visible in the PID namespace of the "
+#~ "process that created the new namespace; analogously, if the parent PID "
+#~ "namespace is itself the child of another PID namespace, then processes in "
+#~ "the child and parent PID namespaces will both be visible in the "
+#~ "grandparent PID namespace.  Conversely, the processes in the \"child\" "
+#~ "PID namespace do not see the processes in the parent namespace.  The "
+#~ "existence of a namespace hierarchy means that each process may now have "
+#~ "multiple PIDs: one for each namespace in which it is visible; each of "
+#~ "these PIDs is unique within the corresponding namespace.  (A call to "
+#~ "B<getpid>(2)  always returns the PID associated with the namespace in "
+#~ "which the process lives.)"
 #~ msgstr ""
-#~ "呼び出したスレッドのスケジューリング・ポリシーが B<SCHED_FIFO> か "
-#~ "B<SCHED_RR> の場合、子プロセスのポリシーは B<SCHED_OTHER> にリセットされ"
-#~ "る。"
+#~ "PID 名前空間間には階層構造が形成される。 新しい PID 名前空間が作成される"
+#~ "と、その名前空間のプロセスは、 新しい名前空間を作成したプロセスの PID 名前"
+#~ "空間で見える。 同様に、親の PID 名前空間自体が別の PID 名前空間の子供の場"
+#~ "合には、 子供の PID 名前空間と親の PID 名前空間のプロセスはどれも 親の親"
+#~ "の PID 名前空間でも見えることになる。 反対に、「子供」の PID 名前空間のプ"
+#~ "ロセスには、 親の名前空間のプロセスは見えない。 名前空間に階層構造が存在す"
+#~ "るということは、個々のプロセスは 複数の PID を持つということを意味してい"
+#~ "る。 そのプロセスが見える名前空間一つにつき PID が一つあり、 それぞれの "
+#~ "PID は対応する名前空間において一意である。 (B<getpid>(2)  を呼び出すと、常"
+#~ "にそのプロセスが存在している名前空間における PID が返される。)"
 
 #~ msgid ""
-#~ "If the calling process has a negative nice value, the nice value is reset "
-#~ "to zero in child processes."
+#~ "After creating the new namespace, it is useful for the child to change "
+#~ "its root directory and mount a new procfs instance at I</proc> so that "
+#~ "tools such as B<ps>(1)  work correctly.  (If B<CLONE_NEWNS> is also "
+#~ "included in I<flags>, then it isn't necessary to change the root "
+#~ "directory: a new procfs instance can be mounted directly over I</proc>.)"
 #~ msgstr ""
-#~ "子プロセスが負の nice 値を持っている場合、子プロセスの nice 値は 0 にリ"
-#~ "セットされる。"
+#~ "新しい名前空間の作成後には、 子プロセスにおいて、 B<ps>(1)  といったツール"
+#~ "が正しく動作するように、 自身の root ディレクトリを変更し、 I</proc> に新"
+#~ "しい procfs インスタンスをマウントするのがよいだろう。 (B<flags> に "
+#~ "B<CLONE_NEWNS> も指定されていた場合には、root ディレクトリを変更する必要は"
+#~ "なく、 いきなり新しい procfs インスタンスを I</proc> にマウントすることが"
+#~ "できる。)"
 
 #~ msgid ""
-#~ "After the B<SCHED_RESET_ON_FORK> flag has been enabled, it can be reset "
-#~ "only if the thread has the B<CAP_SYS_NICE> capability.  This flag is "
-#~ "disabled in child processes created by B<fork>(2)."
+#~ "Use of this flag requires: a kernel configured with the B<CONFIG_PID_NS> "
+#~ "option and that the process be privileged (B<CAP_SYS_ADMIN>).  This flag "
+#~ "can't be specified in conjunction with B<CLONE_THREAD>."
 #~ msgstr ""
-#~ "一度 B<SCHED_RESET_ON_FORK> フラグが有効にされた後は、このフラグをリセット"
-#~ "できるのは、スレッドが B<CAP_SYS_NICE> ケーパビリティを持つ場合だけであ"
-#~ "る。このフラグは B<fork>(2) で作成された子プロセスでは無効になる。"
+#~ "このフラグを使用するためには、 カーネルでオプション B<CONFIG_PID_NS> を有"
+#~ "効になっていること、 プロセスが特権 (B<CAP_SYS_ADMIN>)  を持っていることが"
+#~ "必要である。 このフラグは B<CLONE_THREAD> と組み合わせて使うことはできな"
+#~ "い。"
 
 #~ msgid ""
-#~ "The B<SCHED_RESET_ON_FORK> flag is visible in the policy value returned "
-#~ "by B<sched_getscheduler>()"
+#~ "Use of this flag requires: a kernel configured with the B<CONFIG_UTS_NS> "
+#~ "option and that the process be privileged (B<CAP_SYS_ADMIN>)."
 #~ msgstr ""
-#~ "B<SCHED_RESET_ON_FORK> フラグは、 B<sched_getscheduler>() が返すポリシー値"
-#~ "で参照できる。"
+#~ "このフラグを使用するためには、 カーネルでオプション B<CONFIG_UTS_NS> を有"
+#~ "効になっていること、 プロセスが特権 (B<CAP_SYS_ADMIN>)  を持っていることが"
+#~ "必要である。"
 
-#~ msgid "Privileges and resource limits"
-#~ msgstr "ç\89¹æ¨©ã\81¨ã\83ªã\82½ã\83¼ã\82¹å\88¶é\99\90"
+#~ msgid "The raw system call interface"
+#~ msgstr "ç´ ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹"
 
-#~ msgid ""
-#~ "In Linux kernels before 2.6.12, only privileged (B<CAP_SYS_NICE>)  "
-#~ "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<SCHED_OTHER> policy, and this can be done only if the "
-#~ "effective user ID of the caller of B<sched_setscheduler>()  matches the "
-#~ "real or effective user ID of the target thread (i.e., the thread "
-#~ "specified by I<pid>)  whose policy is being changed."
-#~ msgstr ""
-#~ "2.6.12 より前のバージョンの Linux カーネルでは、 特権スレッド "
-#~ "(B<CAP_SYS_NICE> ケーパビリティを持つスレッド) だけが 0 以外の静的優先度を"
-#~ "設定する (すなわち、リアルタイム・スケジューリング・ポリシーを設定する) こ"
-#~ "とができる。 非特権スレッドができる変更は B<SCHED_OTHER> ポリシーを設定す"
-#~ "ることだけであり、さらにこの変更を行えるのは B<sched_setscheduler>()  の呼"
-#~ "び出し元の実効ユーザ ID がポリシーの変更対象スレッド (I<pid> で指定された"
-#~ "スレッド) の実ユーザ ID か実効ユーザ ID と 一致する場合だけである。"
+#~ msgid "2014-05-13"
+#~ msgstr "2014-05-13"
 
-#~ msgid ""
-#~ "Since Linux 2.6.12, the B<RLIMIT_RTPRIO> resource limit defines a ceiling "
-#~ "on an unprivileged thread's static priority for the B<SCHED_RR> and "
-#~ "B<SCHED_FIFO> policies.  The rules for changing scheduling policy and "
-#~ "priority are as follows:"
-#~ msgstr ""
-#~ "Linux 2.6.12 以降では、リソース制限 B<RLIMIT_RTPRIO> が定義されており、 ス"
-#~ "ケジューリング・ポリシーが B<SCHED_RR> と B<SCHED_FIFO> の場合の、非特権ス"
-#~ "レッドの静的優先度の上限を定めている。 スケジューリング・ポリシーと優先度"
-#~ "を変更する際のルールは以下の通りである。"
+#~ msgid "2013-01-01"
+#~ msgstr "2013-01-01"
 
-#~ msgid ""
-#~ "If an unprivileged thread has a nonzero B<RLIMIT_RTPRIO> 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<RLIMIT_RTPRIO> soft limit."
-#~ msgstr ""
-#~ "非特権スレッドに 0 以外の B<RLIMIT_RTPRIO> ソフト・リミットが設定されてい"
-#~ "る場合、 非特権スレッドはそのスレッドのスケジューリング・ポリシーと優先度"
-#~ "を 変更できるが、優先度を現在の自身の優先度と B<RLIMIT_RTPRIO> ソフト・リ"
-#~ "ミットの大きい方よりも高い値に設定できないという制限が課される。"
+#~ msgid "B<CLONE_NEWIPC>"
+#~ msgstr "B<CLONE_NEWIPC>"
 
-#~ msgid ""
-#~ "If the B<RLIMIT_RTPRIO> 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<RLIMIT_RTPRIO> ソフト・リミットが 0 の場合、優先度を下げるか、 リアルタ"
-#~ "イムでないポリシーへ切り替えるかの変更だけが許可される。"
+#~ msgid "B<CLONE_NEWNET>"
+#~ msgstr "B<CLONE_NEWNET>"
 
 #~ 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."
+#~ "The calling thread did not have the required privilege "
+#~ "(B<CAP_SYS_ADMIN>)  for this operation."
 #~ msgstr ""
-#~ "ある非特権スレッドが別のスレッドに対してこれらの変更を行う際にも、 同じ"
-#~ "ルールが適用される。変更を行えるのは、変更を行おうとするスレッド の実効"
-#~ "ユーザ ID が変更対象のスレッドの実ユーザ ID か実効ユーザ ID と 一致してい"
-#~ "る場合に限られる。"
+#~ "呼び出したスレッドがこの操作を行うのに必要な特権 (B<CAP_SYS_ADMIN>) を\n"
+#~ "持っていなかった。"
 
-#~ msgid ""
-#~ "Special rules apply for the B<SCHED_IDLE>.  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<RLIMIT_RTPRIO> resource "
-#~ "limit.  In Linux kernels since 2.6.39, an unprivileged thread can switch "
-#~ "to either the B<SCHED_BATCH> or the B<SCHED_NORMAL> policy so long as its "
-#~ "nice value falls within the range permitted by its B<RLIMIT_NICE> "
-#~ "resource limit (see B<getrlimit>(2))."
-#~ msgstr ""
-#~ "B<SCHED_IDLE> の場合には特別なルールが適用される。 2.6.39 より前の Linux "
-#~ "カーネルでは、このポリシーで動作する非特権スレッドは、 B<RLIMIT_RTPRIO> リ"
-#~ "ソース上限の値に関わらず、自分のポリシーを変更することができない。 2.6.39 "
-#~ "以降の Linux カーネルでは、非特権スレッドは、自分の nice 値が "
-#~ "B<RLIMIT_NICE> リソース上限 (B<getrlimit>(2) 参照) で許可された範囲である"
-#~ "限りは、自分のスケジューリング・ポリシーを B<SCHED_BATCH> か "
-#~ "B<SCHED_NORMAL> ポリシーに切り替えることができる。"
+#~ msgid "2013-04-17"
+#~ msgstr "2013-04-17"
 
-#~ msgid ""
-#~ "Privileged (B<CAP_SYS_NICE>)  threads ignore the B<RLIMIT_RTPRIO> limit; "
-#~ "as with older kernels, they can make arbitrary changes to scheduling "
-#~ "policy and priority.  See B<getrlimit>(2)  for further information on "
-#~ "B<RLIMIT_RTPRIO>."
-#~ msgstr ""
-#~ "特権スレッド (B<CAP_SYS_NICE> ケーパビリティを持つスレッド) の場合、 "
-#~ "B<RLIMIT_RTPRIO> の制限は無視される; 古いカーネルと同じように、スケジュー"
-#~ "リング・ポリシーと優先度に対し 任意の変更を行うことができる。 "
-#~ "B<RLIMIT_RTPRIO> に関するもっと詳しい情報は B<getrlimit>(2)  を参照のこ"
-#~ "と。"
+#~ msgid "2014-02-27"
+#~ msgstr "2014-02-27"
 
-#~ msgid "Response time"
-#~ msgstr "応答時間 (response time)"
+#~ msgid "2013-09-23"
+#~ msgstr "2013-09-23"
 
-#~ 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 "B<getcpu>(2)"
+#~ msgstr "B<getcpu>(2)"
 
-#~ msgid "Miscellaneous"
-#~ msgstr "その他"
+#~ msgid "2013-03-18"
+#~ msgstr "2013-03-18"
 
-#~ msgid ""
-#~ "Child processes inherit the scheduling policy and parameters across a "
-#~ "B<fork>(2).  The scheduling policy and parameters are preserved across "
-#~ "B<execve>(2)."
-#~ msgstr ""
-#~ "子プロセスは B<fork>(2)  の際に親プロセスのスケジューリング・ポリシーとパ"
-#~ "ラメータを継承する。 B<execve>(2)  の前後で、スケジューリング・ポリシーと"
-#~ "パラメータは保持される。"
+#~ msgid "2013-09-17"
+#~ msgstr "2013-09-17"
 
 #~ msgid ""
-#~ "Memory locking is usually needed for real-time processes to avoid paging "
-#~ "delays; this can be done with B<mlock>(2)  or B<mlockall>(2)."
+#~ "B<sched_setscheduler>()  sets both the scheduling policy and the "
+#~ "associated parameters for the thread whose ID is specified in I<pid>.  If "
+#~ "I<pid> equals zero, the scheduling policy and parameters of the calling "
+#~ "thread will be set.  The interpretation of the argument I<param> depends "
+#~ "on the selected policy.  Currently, Linux supports the following \"normal"
+#~ "\" (i.e., non-real-time) scheduling policies:"
 #~ msgstr ""
-#~ "リアルタイム・プロセスは大抵、ページングの待ち時間を避けるために "
-#~ "B<mlock>(2)  や B<mlockall>(2)  を使ってメモリ・ロックをしなければならな"
-#~ "い。"
+#~ "B<sched_setscheduler>()  は I<pid> で指定された ID を持つスレッドのスケ"
+#~ "ジューリングポリシーや それに関連するパラメータを設定する。I<pid> が 0 の"
+#~ "場合は 呼び出したスレッドのスケジューリングポリシーとパラメータが設定され"
+#~ "る。 引き数 I<param> の解釈は選択されたポリシーによる。 現在のところ、"
+#~ "Linux では 以下に示す「通常」(リアルタイムでない) スケジューリングポリシー"
+#~ "が サポートされている。"
 
-#~ msgid ""
-#~ "Since a nonblocking infinite loop in a thread scheduled under "
-#~ "B<SCHED_FIFO> or B<SCHED_RR> 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<RLIMIT_RTTIME> resource limit in B<getrlimit>(2)."
-#~ msgstr ""
-#~ "B<SCHED_FIFO> や B<SCHED_RR> でスケジューリングされる スレッドが停止せずに"
-#~ "無限ループに陥ると、 他の全てのより低い優先度のスレッドを永久に停止 "
-#~ "(block) させてしまうので、 ソフトウェア開発者はコンソールのシェルの静的優"
-#~ "先度をテストする アプリケーションよりも常に高く保つべきである。 これによっ"
-#~ "て期待通りに停止したり終了したりしないリアルタイム・ アプリケーションを緊"
-#~ "急終了させることが可能になる。 B<getrlimit>(2)  のリソース制限 "
-#~ "B<RLIMIT_RTTIME> の説明も参照のこと。"
+#~ msgid "The semantics of each of these policies are detailed below."
+#~ msgstr "これらのポリシーのそれぞれの動作については以下で説明する。"
 
 #~ msgid ""
 #~ "The scheduling I<policy> is not one of the recognized policies, I<param> "
 #~ "is NULL, or I<param> does not make sense for the I<policy>."
 #~ msgstr ""
-#~ "ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83»ã\83\9dã\83ªã\82·ã\83¼ I<policy> ã\81\8cé\96\93é\81\95ã\81£ã\81¦ã\81\84ã\82\8bã\80\82\n"
+#~ "スケジューリングポリシー I<policy> が間違っている。\n"
 #~ "または I<param> が NULL である。\n"
 #~ "または I<param> がそのポリシーでは意味をなさない。"
 
 #~ 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<realtime-preempt> 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<realtime-preempt> パッチ\n"
-#~ "からのものである。 これらのパッチが本流のカーネルに完全にマージされるま\n"
-#~ "では (マージの完了はカーネル 2.6.30 あたりの予定)、 最高のリアルタイム\n"
-#~ "性能を達成するには realtime-preempt パッチを 組み込まなければならない。\n"
-#~ "これらのパッチは"
-
-#~ msgid "patch-I<kernelversion>-rtI<patchversion>\n"
-#~ msgstr "patch-I<kernelversion>-rtI<patchversion>\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<CONFIG_PREEMPT_NONE>, B<CONFIG_PREEMPT_VOLUNTARY>, and "
-#~ "B<CONFIG_PREEMPT_DESKTOP> which respectively provide no, some, and "
-#~ "considerable reduction of the worst-case scheduling latency."
-#~ msgstr ""
-#~ "このパッチが適用されず、かつパッチの内容の本流のカーネルへのマージが 完了"
-#~ "するまでは、カーネルの設定では B<CONFIG_PREEMPT_NONE>, "
-#~ "B<CONFIG_PREEMPT_VOLUNTARY>, B<CONFIG_PREEMPT_DESKTOP> の 3つのプリエンプ"
-#~ "ション・クラス (preemption class) だけが提供される。 これらのクラスでは、"
-#~ "最悪の場合のスケジューリング遅延がそれぞれ 全く減らない、いくらか減る、か"
-#~ "なり減る。"
-
-#~ msgid ""
-#~ "With the patches applied or after their full inclusion into the mainline "
-#~ "kernel, the additional configuration item B<CONFIG_PREEMPT_RT> 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<sched_setscheduler>()  are then used to run a thread "
-#~ "with true real-time priority and a minimum worst-case scheduling latency."
-#~ msgstr ""
-#~ "パッチが適用された場合、またはパッチの内容の本流のカーネルへのマージが 完"
-#~ "了した後では、上記に加えて設定項目として B<CONFIG_PREEMPT_RT> が利用可能に"
-#~ "なる。この項目を選択すると、 Linux は通常のリアルタイム・オペレーティング"
-#~ "システムに変身する。 この場合には、 B<sched_setscheduler>()  で選択できる "
-#~ "FIFO と RR のスケジューリング・ポリシーは、 真のリアルタイム優先度を持つス"
-#~ "レッドを最悪の場合のスケジューリング遅延が 最小となる環境で動作させるため"
-#~ "に使われることになる。"
-
-#~ msgid ""
 #~ "The Linux kernel source file I<Documentation/scheduler/sched-rt-group.txt>"
 #~ msgstr ""
 #~ "Linux カーネルソースファイル I<Documentation/scheduler/sched-rt-group.txt>"