OSDN Git Service

LDP: Update POT and ja.po to LDP v3.79
[linuxjm/LDP_man-pages.git] / po4a / sched / po / ja.po
index 00d0626..0d68f6b 100644 (file)
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2014-06-08 01:30+0900\n"
-"PO-Revision-Date: 2014-06-08 01:37+0900\n"
+"POT-Creation-Date: 2015-02-04 23:31+0900\n"
+"PO-Revision-Date: 2015-01-25 07:23+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_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/man2/setns.2:8 build/C/man2/unshare.2:20 build/C/man7/sched.7:32
+#: 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_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/man2/setns.2:8 build/C/man2/unshare.2:20 build/C/man7/sched.7:32
+#: 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_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/man2/setns.2:9 build/C/man2/unshare.2:21 build/C/man7/sched.7:33
+#: build/C/man7/sched.7:33 build/C/man2/setns.2:9 build/C/man2/unshare.2:21
 #, no-wrap
 msgid "NAME"
 msgstr "名前"
@@ -74,7 +74,7 @@ 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_setattr.2:30 build/C/man2/sched_setparam.2:33
@@ -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_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/man2/setns.2:18 build/C/man2/unshare.2:50 build/C/man7/sched.7:35
+#: build/C/man7/sched.7:35 build/C/man2/setns.2:18 build/C/man2/unshare.2:50
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr "説明"
@@ -221,7 +221,7 @@ msgid ""
 "by B<sched_setaffinity>(2)  and similar interfaces."
 msgstr ""
 "I<cpu_set_t> データ構造体は CPU 集合を表現している。 CPU 集合は "
-"B<sched_setaffinity>(2) や同様のインタフェースで使用されている。"
+"B<sched_setaffinity>(2) ã\82\84å\90\8cæ§\98ã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81§ä½¿ç\94¨ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\80\82"
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:93
@@ -457,13 +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_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:70
-#: build/C/man2/unshare.2:207
+#: 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 "返り値"
@@ -498,8 +498,8 @@ msgid ""
 "B<CPU_ALLOC>()  returns a pointer on success, or NULL on failure.  (Errors "
 "are as for B<malloc>(3).)"
 msgstr ""
-"B<CPU_ALLOC>() ã\81¯æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\83\9dã\82¤ã\83³ã\82¿ã\82\92è¿\94ã\81\97ã\80\81 å¤±æ\95\97ã\81\99ã\82\8bã\81¨ NULL ã\82\92è¿\94ã\81\99 (ã\82¨ã\83©ã\83¼ã\81¯ "
-"B<malloc>(3) と同じである)。"
+"B<CPU_ALLOC>() ã\81¯æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\97ã\80\81 å¤±æ\95\97ã\81\99ã\82\8bã\81¨ NULL ã\82\92è¿\94ã\81\99 (ã\82¨ã\83©ã\83¼"
+"は B<malloc>(3) と同じである)。"
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:239
@@ -516,10 +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:996 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:97
-#: build/C/man2/unshare.2:224
+#: build/C/man3/CPU_SET.3:241 build/C/man2/clone.2:1031
+#: 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:186 build/C/man2/unshare.2:330
 #, no-wrap
 msgid "VERSIONS"
 msgstr "バージョン"
@@ -552,13 +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:1003
+#: build/C/man3/CPU_SET.3:270 build/C/man2/clone.2:1038
 #: 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_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:102
-#: build/C/man2/unshare.2:228
+#: build/C/man2/sched_yield.2:52 build/C/man2/setns.2:191
+#: build/C/man2/unshare.2:334
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr "準拠"
@@ -566,16 +566,16 @@ msgstr "準拠"
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:272
 msgid "These interfaces are Linux-specific."
-msgstr "これらのインタフェースは Linux 固有である。"
+msgstr "ã\81\93ã\82\8cã\82\89ã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81¯ Linux å\9bºæ\9c\89ã\81§ã\81\82ã\82\8bã\80\82"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:272 build/C/man2/clone.2:1007
+#: build/C/man3/CPU_SET.3:272 build/C/man2/clone.2:1042
 #: 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_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/man2/setns.2:106
-#: build/C/man2/unshare.2:232 build/C/man7/sched.7:612
+#: build/C/man2/sched_yield.2:54 build/C/man7/sched.7:611
+#: build/C/man2/setns.2:195 build/C/man2/unshare.2:338
 #, no-wrap
 msgid "NOTES"
 msgstr "注意"
@@ -620,12 +620,12 @@ msgid ""
 "errors if you violate the suggestions."
 msgstr ""
 "「書式」に書かれている引き数と返り値のデータ型は、それぞれの場合でどんな型が"
-"æ\9c\9få¾\85ã\81\95ã\82\8cã\82\8bã\81\8bã\81®ã\83\92ã\83³ã\83\88ã\81§ã\81\82ã\82\8bã\80\82 ã\81\97ã\81\8bã\81\97ã\81ªã\81\8cã\82\89ã\80\81 ã\81\93ã\82\8cã\82\89ã\81®ã\82¤ã\83³ã\82¿ã\83\95ã\82§ã\83¼ã\82¹ã\81¯ã\83\9eã\82¯ã\83­ã\81¨"
-"ã\81\97ã\81¦å®\9fè£\85ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\81\9fã\82\81ã\80\81 ã\81\93ã\81®ã\83\92ã\83³ã\83\88ã\82\92å®\88ã\82\89ã\81ªã\81\8bã\81£ã\81\9få ´å\90\88ã\81«ã\80\81 ã\82³ã\83³ã\83\91ã\82¤ã\83©ã\81\8cå¿\85ã\81\9aã\81\97"
-"も全ての型エラーを捕捉できるとは限らない。"
+"æ\9c\9få¾\85ã\81\95ã\82\8cã\82\8bã\81\8bã\81®ã\83\92ã\83³ã\83\88ã\81§ã\81\82ã\82\8bã\80\82 ã\81\97ã\81\8bã\81\97ã\81ªã\81\8cã\82\89ã\80\81 ã\81\93ã\82\8cã\82\89ã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81¯ã\83\9eã\82¯ã\83­"
+"ã\81¨ã\81\97ã\81¦å®\9fè£\85ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\81\9fã\82\81ã\80\81 ã\81\93ã\81®ã\83\92ã\83³ã\83\88ã\82\92å®\88ã\82\89ã\81ªã\81\8bã\81£ã\81\9få ´å\90\88ã\81«ã\80\81 ã\82³ã\83³ã\83\91ã\82¤ã\83©ã\81\8cå¿\85ã\81\9a"
+"ã\81\97ã\82\82å\85¨ã\81¦ã\81®å\9e\8bã\82¨ã\83©ã\83¼ã\82\92æ\8d\95æ\8d\89ã\81§ã\81\8dã\82\8bã\81¨ã\81¯é\99\90ã\82\89ã\81ªã\81\84ã\80\82"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:300 build/C/man2/clone.2:1032
+#: build/C/man3/CPU_SET.3:300 build/C/man2/clone.2:1067
 #: build/C/man2/sched_setattr.2:369 build/C/man2/sched_setscheduler.2:214
 #, no-wrap
 msgid "BUGS"
@@ -644,13 +644,13 @@ msgid ""
 msgstr ""
 "glibc 2.8 以前の 32 ビットプラットフォームでは、 B<CPU_ALLOC>() は必要な空間"
 "の割り当てを二度行い、 B<CPU_ALLOC_SIZE>() は本来あるべき値の二倍の値を返"
-"ã\81\99ã\80\82 ã\81\93ã\81®ã\83\90ã\82°ã\81¯ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81®å\8b\95ä½\9cã\81«ã\81¯å½±é\9f¿ã\82\92ä¸\8eã\81\88ã\81ªã\81\84ã\81¯ã\81\9aã\81 ã\81\8cã\80\81 ç\84¡é§\84ã\81«ã\83¡ã\83¢ã\83ªã\82\92æ¶\88"
-"費し、 動的に割り当てられた CPU 集合に対して操作を行うマクロの動作の効率が下"
-"がる結果となる。 これらのバグは glibc 2.9 で修正された。"
+"ã\81\99ã\80\82 ã\81\93ã\81®ã\83\90ã\82°ã\81¯ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81®å\8b\95ä½\9cã\81«ã\81¯å½±é\9f¿ã\82\92ä¸\8eã\81\88ã\81ªã\81\84ã\81¯ã\81\9aã\81 ã\81\8cã\80\81 ç\84¡é§\84ã\81«ã\83¡ã\83¢ã\83ªã\83¼ã\82\92"
+"消費し、 動的に割り当てられた CPU 集合に対して操作を行うマクロの動作の効率が"
+"がる結果となる。 これらのバグは glibc 2.9 で修正された。"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:312 build/C/man2/clone.2:1074
-#: build/C/man2/setns.2:112
+#: build/C/man3/CPU_SET.3:312 build/C/man2/clone.2:1109
+#: build/C/man2/setns.2:201 build/C/man2/unshare.2:372
 #, no-wrap
 msgid "EXAMPLE"
 msgstr "例"
@@ -773,13 +773,13 @@ msgstr ""
 "}\n"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:356 build/C/man2/clone.2:1171
+#: build/C/man3/CPU_SET.3:356 build/C/man2/clone.2:1206
 #: 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_setattr.2:385
+#: 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/man2/setns.2:199
-#: build/C/man2/unshare.2:266 build/C/man7/sched.7:665
+#: build/C/man2/sched_yield.2:79 build/C/man7/sched.7:664
+#: build/C/man2/setns.2:288 build/C/man2/unshare.2:459
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "関連項目"
@@ -794,61 +794,66 @@ msgstr ""
 "B<pthread_setaffinity_np>(3), B<cpuset>(7)"
 
 #. type: SH
-#: build/C/man3/CPU_SET.3:361 build/C/man2/clone.2:1185
+#: build/C/man3/CPU_SET.3:361 build/C/man2/clone.2:1221
 #: 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_setattr.2:407
-#: 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/man7/sched.7:702
+#: 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:295 build/C/man2/unshare.2:470
 #, no-wrap
 msgid "COLOPHON"
 msgstr "この文書について"
 
 #. type: Plain text
-#: build/C/man3/CPU_SET.3:369 build/C/man2/clone.2:1193
+#: build/C/man3/CPU_SET.3:369 build/C/man2/clone.2:1229
 #: 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_setattr.2:415
-#: 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 build/C/man7/sched.7:710
+#: 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:303 build/C/man2/unshare.2:478
+#, fuzzy
+#| msgid ""
+#| "This page is part of release 3.78 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/."
 msgid ""
-"This page is part of release 3.68 of the Linux I<man-pages> project.  A "
+"This page is part of release 3.79 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.68 の一部\n"
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\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
-#, fuzzy, no-wrap
-#| msgid "2014-05-21"
-msgid "2014-05-28"
-msgstr "2014-05-21"
+#: build/C/man2/clone.2:42 build/C/man2/unshare.2:20
+#, no-wrap
+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/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
@@ -856,7 +861,7 @@ 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"
@@ -868,13 +873,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"
@@ -886,7 +891,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)):"
@@ -894,33 +899,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 ""
@@ -931,12 +936,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 "
@@ -948,7 +953,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, "
@@ -957,22 +962,22 @@ msgid ""
 "process\".  But see the description of B<CLONE_PARENT> below.)"
 msgstr ""
 "B<fork>(2) とは異なり、B<clone>() では、子プロセス (child process)  と呼び出"
-"し元のプロセスとが、メモリ空間、ファイルディスクリプタのテーブル、シグナルハ"
-"ã\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> の項も参照のこと)"
+"し元のプロセスとが、メモリー空間、ファイルディスクリプターのテーブル、シグナ"
+"ã\83«ã\83\8fã\83³ã\83\89ã\83©ã\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è¿°ã\81® B<CLONE_PARENT> ã\81®é \85ã\82\82å\8f\82ç\85§ã\81®ã\81\93ã\81¨)"
 
 #. 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."
 msgstr ""
 "B<clone>()  の主要な使用法はスレッド (threads) を実装することである: 一つのプ"
-"ログラムの中の複数のスレッドは共有されたメモリ空間で 同時に実行される。"
+"ログラムの中の複数のスレッドは共有されたメモリ空間で 同時に実行される。"
 
 #. 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 "
@@ -983,11 +988,11 @@ msgstr ""
 "B<clone>()  で子プロセスが作成された時に、作成された子プロセスは関数 "
 "I<fn>(I<arg>)  を実行する。 (この点が B<fork>(2)  とは異なる。 B<fork>(2)  の"
 "場合、子プロセスは B<fork>(2)  が呼び出された場所から実行を続ける。)  I<fn> "
-"å¼\95ã\81\8dæ\95°ã\81¯ã\80\81å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81\8cå®\9fè¡\8cã\82\92å§\8bã\82\81ã\82\8bæ\99\82ã\81«å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81\8cå\91¼ã\81³å\87ºã\81\99 é\96¢æ\95°ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81§"
-"ある。 I<arg> 引き数はそのまま I<fn> 関数へと渡される。"
+"å¼\95ã\81\8dæ\95°ã\81¯ã\80\81å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81\8cå®\9fè¡\8cã\82\92å§\8bã\82\81ã\82\8bæ\99\82ã\81«å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81\8cå\91¼ã\81³å\87ºã\81\99 é\96¢æ\95°ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼"
+"ã\81§ã\81\82ã\82\8bã\80\82 I<arg> å¼\95ã\81\8dæ\95°ã\81¯ã\81\9dã\81®ã\81¾ã\81¾ I<fn> é\96¢æ\95°ã\81¸ã\81¨æ¸¡ã\81\95ã\82\8cã\82\8bã\80\82"
 
 #. 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 "
@@ -1000,7 +1005,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 "
@@ -1012,16 +1017,16 @@ msgid ""
 "up for the child stack."
 msgstr ""
 "I<child_stack> 引き数は、子プロセスによって使用されるスタックの位置を指定す"
-"ã\82\8bã\80\82 å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81¨å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81¯ã\83¡ã\83¢ã\83ªã\82\92å\85±æ\9c\89ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81\82ã\82\8bã\81\9fã\82\81ã\80\81 å­\90ã\83\97"
-"ロセスは呼び出し元のプロセスと同じスタックで実行することができない。 このた"
-"め、呼び出し元のプロセスは子プロセスのスタックのためのメモリ空間を 用意して、"
-"ã\81\93ã\81®ç©ºé\96\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92 B<clone>()  ã\81¸æ¸¡ã\81\95ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82 (HP PA ã\83\97ã\83­ã\82»ã\83\83ã\82µ"
-"以外の) Linux が動作する全てのプロセッサでは、 スタックは下方 (アドレスが小さ"
-"ã\81\84æ\96¹å\90\91) ã\81¸ã\81¨ä¼¸ã\81³ã\82\8bã\80\82ã\81\93ã\81®ã\81\9fã\82\81ã\80\81æ\99®é\80\9aã\81¯ I<child_stack> ã\81¯å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\82¹ã\82¿ã\83\83ã\82¯ã\81®"
-"ã\81\9fã\82\81ã\81«ç\94¨æ\84\8fã\81\97ã\81\9fã\83¡ã\83¢ã\83ª空間の一番大きい アドレスを指すようにする。"
+"ã\82\8bã\80\82 å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81¨å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81¯ã\83¡ã\83¢ã\83ªã\83¼ã\82\92å\85±æ\9c\89ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81\82ã\82\8bã\81\9fã\82\81ã\80\81 å­\90"
+"ã\83\97ã\83­ã\82»ã\82¹ã\81¯å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81¨å\90\8cã\81\98ã\82¹ã\82¿ã\83\83ã\82¯ã\81§å®\9fè¡\8cã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81ªã\81\84ã\80\82 ã\81\93ã\81®ã\81\9f"
+"め、呼び出し元のプロセスは子プロセスのスタックのためのメモリー空間を 用意し"
+"ã\81¦ã\80\81ã\81\93ã\81®ç©ºé\96\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92 B<clone>()  ã\81¸æ¸¡ã\81\95ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82 (HP PA ã\83\97ã\83­"
+"セッサ以外の) Linux が動作する全てのプロセッサでは、 スタックは下方 (アドレス"
+"ã\81\8cå°\8fã\81\95ã\81\84æ\96¹å\90\91) ã\81¸ã\81¨ä¼¸ã\81³ã\82\8bã\80\82ã\81\93ã\81®ã\81\9fã\82\81ã\80\81æ\99®é\80\9aã\81¯ I<child_stack> ã\81¯å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\82¹"
+"ã\82¿ã\83\83ã\82¯ã\81®ã\81\9fã\82\81ã\81«ç\94¨æ\84\8fã\81\97ã\81\9fã\83¡ã\83¢ã\83ªã\83¼空間の一番大きい アドレスを指すようにする。"
 
 #. 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 "
@@ -1038,7 +1043,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 "
@@ -1049,45 +1054,45 @@ 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 "
 "may be changed by the B<set_tid_address>(2)  system call.  This is used by "
 "threading libraries."
 msgstr ""
-"子プロセスが終了したときに子プロセスのメモリ内の I<ctid> が指す場所にある子プ"
-"ã\83­ã\82»ã\82¹ã\81®ã\82¹ã\83¬ã\83\83ã\83\89 ID ã\82\92æ¶\88å\8e»ã\81\97ã\80\81 ã\81\9dã\81®ã\82¢ã\83\89ã\83¬ã\82¹ã\81§ futex ã\82\92 wake (èµ·åº\8a) ã\81\95ã\81\9bã\82\8bã\80\82 "
-"ã\81\93ã\81®ã\82¢ã\83\89ã\83¬ã\82¹ã\81¯ B<set_tid_address>(2)  ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81§å¤\89æ\9b´ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82 "
-"この機能はスレッドライブラリで使用される。"
+"子プロセスが終了したときに子プロセスのメモリー内の I<ctid> が指す場所にある子"
+"ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\82¹ã\83¬ã\83\83ã\83\89 ID ã\82\92æ¶\88å\8e»ã\81\97ã\80\81 ã\81\9dã\81®ã\82¢ã\83\89ã\83¬ã\82¹ã\81§ futex ã\82\92 wake (èµ·åº\8a) ã\81\95ã\81\9b"
+"ã\82\8bã\80\82 ã\81\93ã\81®ã\82¢ã\83\89ã\83¬ã\82¹ã\81¯ B<set_tid_address>(2)  ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81§å¤\89æ\9b´ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8d"
+"ã\82\8bã\80\82 ã\81\93ã\81®æ©\9fè\83½ã\81¯ã\82¹ã\83¬ã\83\83ã\83\89ã\83©ã\82¤ã\83\96ã\83©ã\83ªã\81§ä½¿ç\94¨ã\81\95ã\82\8cã\82\8bã\80\82"
 
 #. 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 を格納す"
+"子プロセスのメモリ内の 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 "
@@ -1097,14 +1102,14 @@ msgid ""
 "process is also affected."
 msgstr ""
 "B<CLONE_FILES> が設定された場合、呼び出し元のプロセスと子プロセスはファイル"
-"ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\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ã\83\97ã\83­ã\82»ã\82¹ã\81¨ã\81\9dã\81®å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81®ä¸\80"
-"方が作成した ファイルディスクリプタは、もう一方においても有効である。 同じよ"
-"ã\81\86ã\81«ã\80\81ä¸\80æ\96¹ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿を閉じたり、 (B<fcntl>(2)  "
-"B<F_SETFD> æ\93\8dä½\9cã\82\92使ã\81£ã\81¦) ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81«é\96¢é\80£ã\81\99ã\82\8bã\83\95ã\83©ã\82°ã\82\92å¤\89æ\9b´ã\81\97ã\81\9fã\82\8aã\81\99ã\82\8bã\81¨ã\80\81 "
-"もう一方のプロセスにも影響する。"
+"ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\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ã\83\97ã\83­ã\82»ã\82¹ã\81¨ã\81\9dã\81®å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81®"
+"一方が作成した ファイルディスクリプターは、もう一方においても有効である。 同"
+"ã\81\98ã\82\88ã\81\86ã\81«ã\80\81ä¸\80æ\96¹ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼を閉じたり、 (B<fcntl>(2)  "
+"B<F_SETFD> æ\93\8dä½\9cã\82\92使ã\81£ã\81¦) ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«é\96¢é\80£ã\81\99ã\82\8bã\83\95ã\83©ã\82°ã\82\92å¤\89æ\9b´ã\81\97ã\81\9fã\82\8aã\81\99ã\82\8b"
+"ã\81¨ã\80\81 ã\82\82ã\81\86ä¸\80æ\96¹ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81«ã\82\82å½±é\9f¿ã\81\99ã\82\8bã\80\82"
 
 #. 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 "
@@ -1115,22 +1120,22 @@ msgid ""
 "calling process or the child process do not affect the other process."
 msgstr ""
 "B<CLONE_FILES> が設定されていない場合、子プロセスは、 B<clone>()  が実行され"
-"た時点で、呼び出し元のプロセスがオープンしている全ての ファイルディスクリプ"
-"ã\81®ã\82³ã\83\94ã\83¼ã\82\92ç¶\99æ\89¿ã\81\99ã\82\8b (å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81®è¤\87製ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81¯ã\80\81 å¯¾å¿\9cã\81\99ã\82\8b"
-"å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81¨ å\90\8cã\81\98ã\83\95ã\82¡ã\82¤ã\83«è¨\98è¿° (B<open>(2)  "
-"参照) を参照する)。 これ以降に、呼び出し元のプロセスと子プロセスの一方が ファ"
-"ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81®æ\93\8dä½\9c (ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81® ã\82ªã\83¼ã\83\97ã\83³ã\83»ã\82¯ã\83­ã\83¼ã\82ºã\82\84ã\80\81ã\83\95ã\82¡"
-"ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83»ã\83\95ã\83©ã\82°ã\81®å¤\89æ\9b´)  ã\82\92è¡\8cã\81£ã\81¦ã\82\82ã\80\81ã\82\82ã\81\86ä¸\80æ\96¹ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81«ã\81¯å½±é\9f¿ã\82\92ä¸\8e"
-"えない。"
+"た時点で、呼び出し元のプロセスがオープンしている全ての ファイルディスクリプ"
+"ã\82¿ã\83¼ã\81®ã\82³ã\83\94ã\83¼ã\82\92ç¶\99æ\89¿ã\81\99ã\82\8b (å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81®è¤\87製ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ã\80\81 å¯¾"
+"å¿\9cã\81\99ã\82\8bå\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¨ å\90\8cã\81\98ã\83\95ã\82¡ã\82¤ã\83«è¨\98è¿° "
+"(B<open>(2)  参照) を参照する)。 これ以降に、呼び出し元のプロセスと子プロセス"
+"ã\81®ä¸\80æ\96¹ã\81\8c ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®æ\93\8dä½\9c (ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81® ã\82ªã\83¼ã\83\97"
+"ã\83³ã\83»ã\82¯ã\83­ã\83¼ã\82ºã\82\84ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\83\95ã\83©ã\82°ã\81®å¤\89æ\9b´)  ã\82\92è¡\8cã\81£ã\81¦ã\82\82ã\80\81ã\82\82ã\81\86ä¸\80æ\96¹ã\81®"
+"ã\83\97ã\83­ã\82»ã\82¹ã\81«ã\81¯å½±é\9f¿ã\82\92ä¸\8eã\81\88ã\81ªã\81\84ã\80\82"
 
 #. 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 "
@@ -1146,7 +1151,7 @@ msgstr ""
 "にも影響が及ぶ。"
 
 #. 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>()  "
@@ -1159,13 +1164,13 @@ msgstr ""
 "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 "
@@ -1179,7 +1184,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 "
@@ -1201,7 +1206,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."
@@ -1210,13 +1215,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 "
@@ -1231,7 +1236,7 @@ msgstr ""
 #.  commit 7eafd7c74c3f2e67c27621b987b28397110d643f
 #.  https://lwn.net/Articles/312232/
 #. type: Plain text
-#: build/C/man2/clone.2:302
+#: 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 "
@@ -1246,7 +1251,7 @@ msgstr ""
 "いう点がある。"
 
 #. 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 "
@@ -1257,7 +1262,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 "
@@ -1267,37 +1272,37 @@ 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 ""
-"このフラグを使用するためには、 カーネルでオプション B<CONFIG_SYSVIPC> と "
-"B<CONFIG_IPC_NS> を有効になっていること、 プロセスが特権 (B<CAP_SYS_ADMIN>)  "
-"を持っていることが必要である。 このフラグは B<CLONE_SYSVSEM> と組み合わせて使"
-"うことはできない。"
+"特権プロセス (B<CAP_SYS_ADMIN>) だけが B<CLONE_NEWIPC> を使用できる。 このフ"
+"ラグは B<CLONE_SYSVSEM> と組み合わせて指定することはできない。"
+
+#. type: Plain text
+#: build/C/man2/clone.2:317
+msgid "For further information on IPC namespaces, see B<namespaces>(7)."
+msgstr "IPC 名前空間の詳細は B<namespaces>(7) を参照。"
 
 #. 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 ""
@@ -1307,9 +1312,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 "
@@ -1321,91 +1326,71 @@ msgid ""
 "in another namespace."
 msgstr ""
 "ネットワーク名前空間は、分離されたネットワークスタックを提供するものである "
-"(ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\82¹ã\82¿ã\83\83ã\82¯ã\81¨ã\81¯ã\80\81 ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\83\87ã\83\90ã\82¤ã\82¹ã\82¤ã\83³ã\82¿ã\83\95ã\82§ã\83¼ã\82¹ã\80\81IPv4 ã\82\84 IPv6 "
-"プロトコルスタック、 I</proc/net>、 I</sys/class/net> ディレクトリツリー、ソ"
-"ã\82±ã\83\83ã\83\88ã\81ªã\81©ã\81§ã\81\82ã\82\8b\80\82 ç\89©ç\90\86ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\83\87ã\83\90ã\82¤ã\82¹ã\81\8cæ\89\80å±\9eã\81§ã\81\8dã\82\8bã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯å\90\8då\89\8d空é\96\93"
-"は一つだけである。 仮想ネットワークデバイス (\"veth\") のペアにより パイプ風"
-"ã\81®æ\8a½è±¡å\8c\96 (abstraction) ã\81\8cå®\9fç\8f¾ã\81\95ã\82\8cã\81¦ã\81\8aã\82\8aã\80\81 ã\81\93ã\82\8cã\82\92使ã\81\86ã\81\93ã\81¨ã\81§ã\80\81ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯å\90\8då\89\8d"
-"空間間のトンネルを作成したり、 別の名前空間の物理ネットワークデバイスへのブ"
-"リッジを作成したり することができる。"
+"(ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\82¹ã\82¿ã\83\83ã\82¯ã\81¨ã\81¯ã\80\81 ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\83\87ã\83\90ã\82¤ã\82¹ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\80\81IPv4 ã\82\84 "
+"IPv6 プロトコルスタック、 I</proc/net>、 I</sys/class/net> ディレクトリツ"
+"ã\83ªã\83¼ã\80\81ã\82½ã\82±ã\83\83ã\83\88ã\81ªã\81©ã\81§ã\81\82ã\82\8b\80\82 ç\89©ç\90\86ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\83\87ã\83\90ã\82¤ã\82¹ã\81\8cæ\89\80å±\9eã\81§ã\81\8dã\82\8bã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯"
+"名前空間は一つだけである。 仮想ネットワークデバイス (\"veth\") のペアにより "
+"ã\83\91ã\82¤ã\83\97風ã\81®æ\8a½è±¡å\8c\96 (abstraction) ã\81\8cå®\9fç\8f¾ã\81\95ã\82\8cã\81¦ã\81\8aã\82\8aã\80\81 ã\81\93ã\82\8cã\82\92使ã\81\86ã\81\93ã\81¨ã\81§ã\80\81ã\83\8dã\83\83ã\83\88"
+"ワーク名前空間間のトンネルを作成したり、 別の名前空間の物理ネットワークデバイ"
+"ã\82¹ã\81¸ã\81®ã\83\96ã\83ªã\83\83ã\82¸ã\82\92ä½\9cæ\88\90ã\81\97ã\81\9fã\82\8a ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82"
 
 #. 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>)."
-msgstr ""
-"このフラグを使用するためには、 カーネルでオプション B<CONFIG_NET_NS> を有効に"
-"なっていること、 プロセスが特権 (B<CAP_SYS_ADMIN>)  を持っていることが必要で"
-"ある。"
+"Only a privileged process (B<CAP_SYS_ADMIN>)  can employ B<CLONE_NEWNET>."
+msgstr "特権プロセス (B<CAP_SYS_ADMIN>) だけが B<CLONE_NEWNET> を使用できる。"
 
 #. 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
+#: build/C/man2/clone.2:367
 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."
+"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 ""
-"各プロセスはある一つのマウント名前空間中に存在する。プロセスの I<名前空間 "
-"(namespace)> は、そのプロセスから見えるファイル階層を表すデータ (mount の集"
-"合) である。 B<CLONE_NEWNS> フラグがセットされずに B<fork>(2)  か "
-"B<clone>()  が呼ばれると、子プロセスは親プロセスと同じマウント名前空間に作成"
-"される。 システムコール B<mount>(2)、 B<umount>(2)  が呼ばれると呼び出し元の"
-"プロセスのマウント名前空間が変更され、この結果 呼び出し元のプロセスと同じ名前"
-"空間にいるプロセスはすべて影響を受けるが、 異なるマウント名前空間にいるプロセ"
-"スは影響を受けない。"
+"B<CLONE_NEWNS> がセットされている場合、 clone で作成された子プロセスは新しい"
+"マウント名前空間で開始され、 新しい名前空間は親プロセスの名前空間のコピーで初"
+"期化される。 B<CLONE_NEWNS> がセットされていない場合、 子プロセスは親プロセス"
+"と同じマウント名前空間となる。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:389
-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."
-msgstr ""
-"B<CLONE_NEWNS> フラグがセットされて B<clone>()  が呼ばれると、clone で作成さ"
-"れた子プロセスは新しいマウント名前空間で 開始される。新しい名前空間は親プロセ"
-"スの名前空間のコピーで初期化される。"
+#: build/C/man2/clone.2:370
+msgid "For further information on mount namespaces, see B<namespaces>(7)."
+msgstr "マウント名前空間の詳細は B<namespaces>(7) を参照。"
 
+#.  See https://lwn.net/Articles/543273/
 #. type: Plain text
-#: build/C/man2/clone.2:401
+#: 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 以降)"
@@ -1417,10 +1402,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 ""
@@ -1430,103 +1415,106 @@ 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 "PID 名前空間の詳細は B<namespaces>(7) と B<pid_namespaces>(7) を参照。"
+
+#. 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 ""
+"特権プロセス (B<CAP_SYS_ADMIN>) だけが B<CLONE_NEWPID> を使用できる。 このフ"
+"ラグは B<CLONE_THREAD> や B<CLONE_PARENT> と組み合わせて指定することはできな"
+"い。"
+
+#. 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 を持ったプロセスが作成される。"
+"(このフラグが B<clone>() で意味を持つようになったのは Linux 2.6.23 である。 "
+"現在の B<clone>() の動作が取り込まれたのは Linux 3.5 であり、 ユーザー名前空"
+"間が完全に機能するようにする最後の機能が取り込まれたのは Linux 3.8 である。)"
 
 #. type: Plain text
-#: build/C/man2/clone.2:439
+#: build/C/man2/clone.2:431
 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_NEWUSER> がセットされている場合、新しいユーザー名前空間でプロセスを作"
+"成する。 このフラグがセットされていない場合、 (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 が返される。)"
+"ユーザー名前空間の詳細は B<namespaces>(7) と B<user_namespaces>(7) を参照。"
 
-#.  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> にマウントすることができ"
-"る。)"
+"Linux 3.8 より前では、 B<CLONE_NEWUSER> を使用するには、 呼び出し元は "
+"B<CAP_SYS_ADMIN>, B<CAP_SETUID>, B<CAP_SETGID> の 3 つのケーパリビティを持っ"
+"ている必要があった。 Linux 3.8 以降では、 ユーザー名前空間を作成するのに特権"
+"は必要なくなった。"
 
+#.  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 ""
-"このフラグを使用するためには、 カーネルでオプション B<CONFIG_PID_NS> を有効に"
-"なっていること、 プロセスが特権 (B<CAP_SYS_ADMIN>)  を持っていることが必要で"
-"ある。 このフラグは B<CLONE_THREAD> と組み合わせて使うことはできない。"
+"このフラグは B<CLONE_THREAD> や B<CLONE_PARENT> と組み合わせて指定することは"
+"できない。 セキュリティ上の理由から、 B<CLONE_NEWUSER> は B<CLONE_FS> と組み"
+"合わせて指定することはできない。"
+
+#. 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<user_namespaces>(7) を参照。"
 
 #. 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 名前空間でプロセスを作成する。 "
@@ -1536,7 +1524,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 "
@@ -1550,23 +1538,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>)."
-msgstr ""
-"このフラグを使用するためには、 カーネルでオプション B<CONFIG_UTS_NS> を有効に"
-"なっていること、 プロセスが特権 (B<CAP_SYS_ADMIN>)  を持っていることが必要で"
-"ある。"
+"Only a privileged process (B<CAP_SYS_ADMIN>)  can employ B<CLONE_NEWUTS>."
+msgstr "特権プロセス (B<CAP_SYS_ADMIN>) だけが B<CLONE_NEWUTS> を使用できる。"
+
+#. type: Plain text
+#: build/C/man2/clone.2:495
+msgid "For further information on UTS namespaces, see B<namespaces>(7)."
+msgstr "UTS 名前空間の詳細は B<namespaces>(7) を参照。"
 
 #. 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."
@@ -1575,7 +1564,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."
@@ -1584,7 +1573,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 "
@@ -1596,29 +1585,29 @@ 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.)"
 msgstr ""
-"親プロセスと子プロセスのメモリ内の I<ptid> が指す領域に子プロセスのスレッド "
-"ID を格納する。 (Linux 2.5.32-2.5.48 では、 同じことをする B<CLONE_SETTID> と"
-"いうフラグが存在した。)"
+"親プロセスと子プロセスのメモリー内の I<ptid> が指す領域に子プロセスのスレッ"
+"ド ID を格納する。 (Linux 2.5.32-2.5.48 では、 同じことをする "
+"B<CLONE_SETTID> というフラグが存在した。)"
 
 #. 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 "
@@ -1631,13 +1620,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))."
@@ -1646,28 +1635,28 @@ 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).)"
 msgstr ""
-"I<newtls> å¼\95ã\81\8dæ\95°ã\81¯ã\80\81æ\96°ã\81\97ã\81\84 TLS (Thread Local Storage) ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81§ã\81\82ã\82\8bã\80\82 "
-"(B<set_thread_area>(2)  を参照のこと)"
+"I<newtls> å¼\95ã\81\8dæ\95°ã\81¯ã\80\81æ\96°ã\81\97ã\81\84 TLS (Thread Local Storage) ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81\82"
+"る。 (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 "
@@ -1687,7 +1676,7 @@ msgstr ""
 "したりできる。"
 
 #. 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.  "
@@ -1695,12 +1684,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\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\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©ã\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"
 
 #. 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"
@@ -1709,13 +1698,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 "
@@ -1727,7 +1716,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."
@@ -1736,32 +1725,38 @@ 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
 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)  参照) を共有する。このフ"
-"ラグがセットされていなければ、 子プロセスは独自のアンドゥリストを持つ (リスト"
-"の初期値は空である)。"
+"System\\ V セマフォの調整値 (I<semadj>) (B<semop>(2)  参照) を共有する。 この"
+"場合、共有されたリストはこのリストを共有する全プロセスの I<semadj> 値を積算"
+"し、 セマフォ調整はこのリストを共有している最後のプロセスが終了した際 (また"
+"は B<unshare>(2) を使ってリストの共有が中止された際) に実行される。 このフラ"
+"グがセットされていなければ、 子プロセスは独自のセマフォ I<semadj> リストを持"
+"つ (リストの初期値は空である)。"
 
 #. 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 "
@@ -1774,7 +1769,7 @@ msgstr ""
 "のに使うこととする。"
 
 #. 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 "
@@ -1788,7 +1783,7 @@ msgstr ""
 "レッドグループ 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 "
@@ -1800,7 +1795,7 @@ 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 "
@@ -1811,7 +1806,7 @@ msgstr ""
 "置かれる。このスレッドは 新しいスレッドグループの「リーダー」である。"
 
 #. 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 "
@@ -1831,7 +1826,7 @@ msgstr ""
 "る)。"
 
 #. 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."
@@ -1840,7 +1835,7 @@ msgstr ""
 "ロセスに 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 "
@@ -1851,7 +1846,7 @@ msgstr ""
 "ドグループリーダーの下で 実行される。"
 
 #. 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."
@@ -1861,7 +1856,7 @@ msgstr ""
 "る。"
 
 #. 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, "
@@ -1873,7 +1868,7 @@ 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)."
@@ -1883,18 +1878,18 @@ msgstr ""
 "こともできる。"
 
 #. 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 ""
-"ã\82·ã\82°ã\83\8aã\83«ã\81®é\85\8dé\80\81ã\81¨å\87¦ç\90\86ã\81¯ã\83\97ã\83­ã\82»ã\82¹å\85¨ä½\93ã\81«å½±é\9f¿ã\81\99ã\82\8b: ã\83\8fã\83³ã\83\89ã\83©ã\82\92設å®\9aã\81\97ã\81¦ã\81\84ã\81ªã\81\84ã\82·ã\82°ã\83\8a"
-"ã\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«"
-"影響を及ぼす (終了したり、停止したり、動作を継続したり、無視されたりする)。"
+"ã\82·ã\82°ã\83\8aã\83«ã\81®é\85\8dé\80\81ã\81¨å\87¦ç\90\86ã\81¯ã\83\97ã\83­ã\82»ã\82¹å\85¨ä½\93ã\81«å½±é\9f¿ã\81\99ã\82\8b: ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\82\92設å®\9aã\81\97ã\81¦ã\81\84ã\81ªã\81\84ã\82·ã\82°"
+"ã\83\8aã\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¼"
+"影響を及ぼす (終了したり、停止したり、動作を継続したり、無視されたりする)。"
 
 #. 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 "
@@ -1911,7 +1906,7 @@ msgstr ""
 "し元の スレッドに対する処理待ちシグナルを結合したシグナル集合が返される。"
 
 #. 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 "
@@ -1921,22 +1916,22 @@ msgid ""
 "select one of these threads to receive a signal sent using B<kill>(2)."
 msgstr ""
 "B<kill>(2)  を使ってスレッドグループにシグナルが送られた場合で、 そのスレッド"
-"ã\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"
-"される。ハンドラが 起動されるスレッドは、そのシグナルを禁止 (block) していな"
-"ã\81\84 ã\83¡ã\83³ã\83\90ã\83¼ã\81®ä¸­ã\81\8bã\82\89ä¸\80ã\81¤ã\81 ã\81\91ã\81\8cå\8b\9dæ\89\8bã\81« (arbitrarily) é\81¸ã\81°ã\82\8cã\82\8bã\80\82 ã\82¹ã\83¬ã\83\83ã\83\89ã\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°ã\83\8aã\83«ã\82\92å¾\85ã\81£ã\81¦ã\81\84ã\82\8bå ´"
-"合、 これらのスレッドの中から一つをカーネルが勝手に選択し、 そのスレッドが "
-"B<kill (2)> を使って送信されたシグナルを受信する。"
+"ã\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©ã\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©ã\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"
+"起動される。ハンドラーが 起動されるスレッドは、そのシグナルを禁止 (block) し"
+"ã\81¦ã\81\84ã\81ªã\81\84 ã\83¡ã\83³ã\83\90ã\83¼ã\81®ä¸­ã\81\8bã\82\89ä¸\80ã\81¤ã\81 ã\81\91ã\81\8cå\8b\9dæ\89\8bã\81« (arbitrarily) é\81¸ã\81°ã\82\8cã\82\8bã\80\82 ã\82¹ã\83¬ã\83\83ã\83\89ã\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°ã\83\8aã\83«ã\82\92å¾\85ã\81£ã\81¦"
+"いる場合、 これらのスレッドの中から一つをカーネルが勝手に選択し、 そのスレッ"
+"ドが 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."
@@ -1945,24 +1940,24 @@ 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 "
 "B<execve>(2)  or B<_exit>(2)  (as with B<vfork>(2))."
 msgstr ""
 "B<CLONE_VFORK> が設定された場合、 (B<vfork>(2)  と同様に) 子プロセスが "
-"B<execve>(2)  ã\81¾ã\81\9fã\81¯ B<_exit>(2)  ã\81«ã\82\88ã\81£ã\81¦ä»®æ\83³ã\83¡ã\83¢ã\83ªã\82\92解æ\94¾ã\81\99ã\82\8bã\81¾ã\81§ã\80\81å\91¼ã\81³å\87ºã\81\97"
-"元のプロセスの実行は停止される。"
+"B<execve>(2)  ã\81¾ã\81\9fã\81¯ B<_exit>(2)  ã\81«ã\82\88ã\81£ã\81¦ä»®æ\83³ã\83¡ã\83¢ã\83ªã\83¼ã\82\92解æ\94¾ã\81\99ã\82\8bã\81¾ã\81§ã\80\81å\91¼ã\81³å\87º"
+"元のプロセスの実行は停止される。"
 
 #. 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 "
@@ -1973,13 +1968,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 "
@@ -1987,14 +1982,14 @@ msgid ""
 "Moreover, any memory mapping or unmapping performed with B<mmap>(2)  or "
 "B<munmap>(2)  by the child or calling process also affects the other process."
 msgstr ""
-"B<CLONE_VM> が設定された場合、呼び出し元のプロセスと子プロセスは同じメモリ"
-"間で 実行される。特に、呼び出し元のプロセスや子プロセスの一方がメモリに 書き"
-"込んだ内容はもう一方のプロセスからも見ることができる。さらに、 子プロセスや呼"
-"ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81®ä¸\80æ\96¹ã\81\8c B<mmap>(2)  ã\82\84 B<munmap>(2)  ã\82\92使ã\81£ã\81¦ã\83¡ã\83¢ã\83ªã\82\92ã\83\9eã\83\83"
-"プしたりアンマップした場合、 もう一方のプロセスにも影響が及ぶ。"
+"B<CLONE_VM> が設定された場合、呼び出し元のプロセスと子プロセスは同じメモリ"
+"空間で 実行される。特に、呼び出し元のプロセスや子プロセスの一方がメモリーに "
+"書き込んだ内容はもう一方のプロセスからも見ることができる。さらに、 子プロセス"
+"ã\82\84å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81®ä¸\80æ\96¹ã\81\8c B<mmap>(2)  ã\82\84 B<munmap>(2)  ã\82\92使ã\81£ã\81¦ã\83¡ã\83¢ã\83ªã\83¼"
+"ã\82\92ã\83\9eã\83\83ã\83\97ã\81\97ã\81\9fã\82\8aã\82¢ã\83³ã\83\9eã\83\83ã\83\97ã\81\97ã\81\9få ´å\90\88ã\80\81 ã\82\82ã\81\86ä¸\80æ\96¹ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81«ã\82\82å½±é\9f¿ã\81\8cå\8f\8aã\81¶ã\80\82"
 
 #. 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 "
@@ -2002,18 +1997,18 @@ msgid ""
 "affect the other, as with B<fork>(2)."
 msgstr ""
 "B<CLONE_VM> が設定されていない場合、子プロセスは B<clone>()  が実行された時点"
-"での、親プロセスのメモリ空間をコピーした 別のメモリ空間で実行される。 一方の"
-"プロセスが行ったメモリへの書き込みや ファイルのマップ/アンマップは、 "
+"での、親プロセスのメモリー空間をコピーした 別のメモリー空間で実行される。 一"
+"方のプロセスが行ったメモリーへの書き込みや ファイルのマップ/アンマップは、 "
 "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, "
@@ -2024,11 +2019,11 @@ msgstr ""
 "素の B<clone> システムコールは、より B<fork>(2) に近いかたちになっており、 子"
 "プロセスの実行が呼び出しが行われた場所から続けられる。 そのため、 B<clone>() "
 "ラッパー関数の引き数 I<fn> と I<arg> は省略される。 また、 引き数の順序も違っ"
-"ている。 x86 と他の多くのアーキテクチャにおける、 素のシステムコールのイン"
+"ã\81¦ã\81\84ã\82\8bã\80\82 x86 ã\81¨ä»\96ã\81®å¤\9aã\81\8fã\81®ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81«ã\81\8aã\81\91ã\82\8bã\80\81 ç´ ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81®ã\82¤ã\83³"
 "ターフェースは、 おおまかには次のようになっている。"
 
 #. 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"
@@ -2040,7 +2035,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 "
@@ -2055,7 +2050,7 @@ msgstr ""
 "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-"
@@ -2063,19 +2058,19 @@ msgid ""
 "and fifth arguments is reversed.  On the cris and s390 architectures, the "
 "order of the first and second arguments is reversed."
 msgstr ""
-"ã\81\84ã\81\8fã\81¤ã\81\8bã\81®ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\81§ã\81¯ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81®å¼\95ã\81\8dæ\95°ã\81®é \86åº\8fã\81¯ä¸\8aè¨\98ã\81¨ã\81¯ç\95°ã\81ªã\81£ã\81¦"
-"ã\81\84ã\82\8bã\80\82 microblaze, ARM, ARM 64, PA-RISC, arc, Power PC, xtensa, MIPS ã\82¢ã\83¼ã\82­ã\83\86"
-"ã\82¯ã\83\81ã\83£ã\81§ã\81¯ã\80\81 4 ç\95ªç\9b®ã\81¨ 5 ç\95ªç\9b®ã\81®å¼\95ã\81\8dæ\95°ã\81®é \86ç\95ªã\81\8cé\80\86ã\81§ã\81\82ã\82\8bã\80\82 cris ã\81¨ s390 ã\82¢ã\83¼ã\82­ã\83\86"
-"ã\82¯ã\83\81ã\83£では、最初と 2 番目の引き数の順番が逆である。"
+"ã\81\84ã\81\8fã\81¤ã\81\8bã\81®ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81§ã\81¯ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81®å¼\95ã\81\8dæ\95°ã\81®é \86åº\8fã\81¯ä¸\8aè¨\98ã\81¨ã\81¯ç\95°ã\81ªã\81£"
+"ã\81¦ã\81\84ã\82\8bã\80\82 microblaze, ARM, ARM 64, PA-RISC, arc, Power PC, xtensa, MIPS ã\82¢ã\83¼ã\82­"
+"ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81§ã\81¯ã\80\81 4 ç\95ªç\9b®ã\81¨ 5 ç\95ªç\9b®ã\81®å¼\95ã\81\8dæ\95°ã\81®é \86ç\95ªã\81\8cé\80\86ã\81§ã\81\82ã\82\8bã\80\82 cris ã\81¨ s390 ã\82¢ã\83¼"
+"ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼では、最初と 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
+#: 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."
@@ -2084,18 +2079,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"
@@ -2109,7 +2104,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 "
@@ -2121,7 +2116,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, "
@@ -2133,13 +2128,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>."
@@ -2150,7 +2145,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 "
@@ -2161,35 +2156,33 @@ 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_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:77
-#: build/C/man2/unshare.2:212
+#: 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:892
-#, fuzzy
-#| msgid "Too many processes are already running."
+#: build/C/man2/clone.2:887
 msgid "Too many processes are already running; see B<fork>(2)."
-msgstr "すでに実行中のプロセスが多すぎる。"
+msgstr "すでに実行中のプロセスが多すぎる。 B<fork>(2) 参照。"
 
 #. type: TP
-#: build/C/man2/clone.2:892 build/C/man2/clone.2:899 build/C/man2/clone.2:914
-#: build/C/man2/clone.2:922 build/C/man2/clone.2:930 build/C/man2/clone.2:938
-#: build/C/man2/clone.2:944 build/C/man2/clone.2:954 build/C/man2/clone.2:962
-#: build/C/man2/clone.2:970 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
@@ -2197,13 +2190,15 @@ msgstr "すでに実行中のプロセスが多すぎる。"
 #: 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:82 build/C/man2/unshare.2:213
+#: build/C/man2/setns.2:150 build/C/man2/setns.2:155 build/C/man2/setns.2:159
+#: build/C/man2/setns.2:164 build/C/man2/setns.2:168 build/C/man2/setns.2:175
+#: 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:899
+#: build/C/man2/clone.2:894
 msgid ""
 "B<CLONE_SIGHAND> was specified, but B<CLONE_VM> was not.  (Since Linux 2.6.0-"
 "test6.)"
@@ -2220,7 +2215,7 @@ msgstr ""
 #.  was specified.
 #.  (Since Linux 2.6.0-test6.)
 #. type: Plain text
-#: build/C/man2/clone.2:914
+#: build/C/man2/clone.2:909
 msgid ""
 "B<CLONE_THREAD> was specified, but B<CLONE_SIGHAND> was not.  (Since Linux "
 "2.5.35.)"
@@ -2228,29 +2223,46 @@ msgstr ""
 "B<CLONE_THREAD> が指定されていたが、 B<CLONE_SIGHAND> が指定されていなかっ"
 "た。 (Linux 2.5.35 以降)"
 
+#.  commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71
 #. type: Plain text
-#: build/C/man2/clone.2:922
+#: 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: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:930
+#: 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:938
-msgid "Both B<CLONE_NEWPID> and B<CLONE_THREAD> were specified in I<flags>."
-msgstr "B<CLONE_NEWPID> と B<CLONE_THREAD> の両方が I<flags> に指定された。"
+#: build/C/man2/clone.2:946
+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_NEWUSER> の一方 (もしくは両方) と、 "
+"B<CLONE_THREAD> と B<CLONE_PARENT>  の一方 (もしくは両方) が、 I<flags> に指"
+"定された。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:944
+#: 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:954
+#: 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."
@@ -2259,7 +2271,7 @@ msgstr ""
 "B<CONFIG_SYSVIPC> と B<CONFIG_IPC_NS> が有効になっていなかった。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:962
+#: 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."
@@ -2268,7 +2280,7 @@ msgstr ""
 "B<CONFIG_NET_NS> が有効になっていなかった。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:970
+#: 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."
@@ -2277,7 +2289,7 @@ msgstr ""
 "B<CONFIG_PID_NS> が有効になっていなかった。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:978
+#: 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."
@@ -2286,32 +2298,34 @@ msgstr ""
 "B<CONFIG_UTS> が有効になっていなかった。"
 
 #. type: TP
-#: build/C/man2/clone.2:978 build/C/man2/setns.2:89 build/C/man2/unshare.2:217
+#: build/C/man2/clone.2:986 build/C/man2/setns.2:179
+#: build/C/man2/unshare.2:296
 #, no-wrap
 msgid "B<ENOMEM>"
 msgstr "B<ENOMEM>"
 
 #. type: Plain text
-#: build/C/man2/clone.2:983
+#: 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."
 msgstr ""
 "子プロセスのために確保すべきタスク構造体や、呼び出し元のコンテキストの 一部を"
-"コピーするのに必要なメモリを十分に割り当てることができない。"
+"ã\82³ã\83\94ã\83¼ã\81\99ã\82\8bã\81®ã\81«å¿\85è¦\81ã\81ªã\83¡ã\83¢ã\83ªã\83¼ã\82\92å\8d\81å\88\86ã\81«å\89²ã\82\8aå½\93ã\81¦ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81ªã\81\84ã\80\82"
 
 #. type: TP
-#: build/C/man2/clone.2:983 build/C/man2/clone.2:992 build/C/man2/kcmp.2:185
+#: 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:92
-#: build/C/man2/unshare.2:221
+#: build/C/man2/sched_setscheduler.2:164 build/C/man2/setns.2:182
+#: 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:992
+#: 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 "
@@ -2322,12 +2336,58 @@ msgstr ""
 "た。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:996
+#: 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:1003
+#: 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 ""
+"B<CLONE_NEWUSER> が I<flags> に指定されたが、 呼び出し元の実効ユーザー ID も"
+"しくは実効グループ ID が親名前空間にマッピングがない (B<user_namespaces>(7) "
+"参照)。"
+
+#. 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:1022 build/C/man2/unshare.2:321
+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 ""
+"B<CLONE_NEWUSER> が I<flags> に指定され、 呼び出し元が chroot された環境にい"
+"る (すなわち、呼び出し元の root ディレクトリが呼び出し元が属するマウント名前"
+"空間の root ディレクトリに一致しない)。"
+
+#. type: TP
+#: build/C/man2/clone.2:1022 build/C/man2/unshare.2:321
+#, no-wrap
+msgid "B<EUSERS> (since Linux 3.11)"
+msgstr "B<EUSERS> (Linux 3.11 以降)"
+
+#. type: Plain text
+#: build/C/man2/clone.2:1031 build/C/man2/unshare.2:330
+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 ""
+"B<CLONE_NEWUSER> が I<flags> に指定されており、 この呼び出しによりネストされ"
+"たユーザー名前空間数の上限を超えてしまう。 B<user_namespaces>(7) を参照。"
+
+#. type: Plain text
+#: build/C/man2/clone.2:1038
 msgid ""
 "There is no entry for B<clone>()  in libc5.  glibc2 provides B<clone>()  as "
 "described in this manual page."
@@ -2336,7 +2396,7 @@ msgstr ""
 "マニュアルページに記載の通りである。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1007
+#: build/C/man2/clone.2:1042
 msgid ""
 "B<clone>()  is Linux-specific and should not be used in programs intended to "
 "be portable."
@@ -2345,7 +2405,7 @@ msgstr ""
 "い。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1017
+#: build/C/man2/clone.2:1052
 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.  "
@@ -2358,7 +2418,7 @@ msgstr ""
 "グを指定すると、 暗黙のうちに CLONE_PARENT フラグを指定したことになる。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1027
+#: build/C/man2/clone.2:1062
 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 "
@@ -2370,7 +2430,7 @@ msgstr ""
 "要はなくなった。 このフラグはまだ定義されているが、何の効果もない。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1032
+#: build/C/man2/clone.2:1067
 msgid ""
 "On i386, B<clone>()  should not be called through vsyscall, but directly "
 "through I<int $0x80>."
@@ -2379,7 +2439,7 @@ msgstr ""
 "呼び出すべきである。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1063
+#: build/C/man2/clone.2:1098
 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.  "
@@ -2401,7 +2461,7 @@ msgstr ""
 "キャッシュする。 このキャッシュ処理が正しく動作するためには glibc の "
 "B<clone>()  のラッパー関数での助けが必要だが、現状の実装では、 ある状況下にお"
 "いてキャッシュが最新とならない可能性がある。 特に、 B<clone>()  の呼び出し直"
-"後にシグナルが子プロセスに配送された場合に、 そのシグナルに対するハンドラ内"
+"後にシグナルが子プロセスに配送された場合に、 そのシグナルに対するハンドラ内"
 "で B<getpid>(2)  を呼び出すと、それまでに clone のラッパー関数が子プロセスの "
 "PID キャッシュを 更新する機会が得られていなければ、呼び出し元プロセス (\"親プ"
 "ロセス\") の PID が 返される可能性がある。 (この議論では、子プロセスが "
@@ -2414,25 +2474,25 @@ msgstr ""
 "い。"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1066
+#: build/C/man2/clone.2:1101
 #, 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:1068
+#: build/C/man2/clone.2:1103
 #, no-wrap
 msgid "    pid_t mypid;\n"
 msgstr "    pid_t mypid;\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1070
+#: build/C/man2/clone.2:1105
 #, no-wrap
 msgid "    mypid = syscall(SYS_getpid);\n"
 msgstr "    mypid = syscall(SYS_getpid);\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1084
+#: build/C/man2/clone.2:1119
 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 "
@@ -2448,13 +2508,14 @@ msgstr ""
 "このプログラムの使用方法については B<setns>(2) を参照。"
 
 #. type: SS
-#: build/C/man2/clone.2:1084 build/C/man2/setns.2:166
+#: build/C/man2/clone.2:1119 build/C/man2/setns.2:255
+#: build/C/man2/unshare.2:396
 #, no-wrap
 msgid "Program source"
 msgstr "プログラムのソース"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1094
+#: build/C/man2/clone.2:1129
 #, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
@@ -2476,7 +2537,8 @@ msgstr ""
 "#include E<lt>unistd.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1097 build/C/man2/setns.2:177
+#: build/C/man2/clone.2:1132 build/C/man2/setns.2:266
+#: build/C/man2/unshare.2:415
 #, no-wrap
 msgid ""
 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
@@ -2486,7 +2548,7 @@ msgstr ""
 "                        } while (0)\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1102
+#: build/C/man2/clone.2:1137
 #, no-wrap
 msgid ""
 "static int              /* Start function for cloned child */\n"
@@ -2500,13 +2562,13 @@ msgstr ""
 "    struct utsname uts;\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1104
+#: build/C/man2/clone.2:1139
 #, no-wrap
 msgid "    /* Change hostname in UTS namespace of child */\n"
 msgstr "    /* 子プロセスの UTS 名前空間でホスト名を変更する */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1107
+#: build/C/man2/clone.2:1142
 #, no-wrap
 msgid ""
 "    if (sethostname(arg, strlen(arg)) == -1)\n"
@@ -2516,13 +2578,13 @@ msgstr ""
 "        errExit(\"sethostname\");\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1109
+#: build/C/man2/clone.2:1144
 #, no-wrap
 msgid "    /* Retrieve and display hostname */\n"
 msgstr "    /* ホスト名を取得し表示する */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1113
+#: build/C/man2/clone.2:1148
 #, no-wrap
 msgid ""
 "    if (uname(&uts) == -1)\n"
@@ -2534,7 +2596,7 @@ msgstr ""
 "    printf(\"uts.nodename in child:  %s\\en\", uts.nodename);\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1117
+#: build/C/man2/clone.2:1152
 #, no-wrap
 msgid ""
 "    /* Keep the namespace open for a while, by sleeping.\n"
@@ -2546,13 +2608,13 @@ msgstr ""
 "       別のプロセスがこの名前空間に参加するなど。 */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1119
+#: build/C/man2/clone.2:1154
 #, no-wrap
 msgid "    sleep(200);\n"
 msgstr "    sleep(200);\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1122
+#: build/C/man2/clone.2:1157
 #, no-wrap
 msgid ""
 "    return 0;           /* Child terminates now */\n"
@@ -2562,13 +2624,13 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1124
+#: build/C/man2/clone.2:1159
 #, 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:1132
+#: build/C/man2/clone.2:1167
 #, no-wrap
 msgid ""
 "int\n"
@@ -2582,13 +2644,13 @@ msgstr ""
 "int\n"
 "main(int argc, char *argv[])\n"
 "{\n"
-"    char *stack;                    /* スタックバッファの先頭 */\n"
-"    char *stackTop;                 /* スタックバッファの末尾 */\n"
+"    char *stack;                    /* ã\82¹ã\82¿ã\83\83ã\82¯ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®å\85\88é ­ */\n"
+"    char *stackTop;                 /* ã\82¹ã\82¿ã\83\83ã\82¯ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®æ\9c«å°¾ */\n"
 "    pid_t pid;\n"
 "    struct utsname uts;\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1137
+#: build/C/man2/clone.2:1172
 #, no-wrap
 msgid ""
 "    if (argc E<lt> 2) {\n"
@@ -2602,13 +2664,13 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1139
+#: build/C/man2/clone.2:1174
 #, no-wrap
 msgid "    /* Allocate stack for child */\n"
 msgstr "    /* 子プロセス用のスタックを割り当てる */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1144
+#: build/C/man2/clone.2:1179
 #, no-wrap
 msgid ""
 "    stack = malloc(STACK_SIZE);\n"
@@ -2622,7 +2684,7 @@ msgstr ""
 "    stackTop = stack + STACK_SIZE;  /* スタックは下方向に伸びるものとする */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1147
+#: build/C/man2/clone.2:1182
 #, no-wrap
 msgid ""
 "    /* Create child that has its own UTS namespace;\n"
@@ -2632,7 +2694,7 @@ msgstr ""
 "       子プロセスは childFunc() の実行を開始する */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1152
+#: build/C/man2/clone.2:1187
 #, no-wrap
 msgid ""
 "    pid = clone(childFunc, stackTop, CLONE_NEWUTS | SIGCHLD, argv[1]);\n"
@@ -2646,19 +2708,19 @@ msgstr ""
 "    printf(\"clone() returned %ld\\en\", (long) pid);\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1154
+#: build/C/man2/clone.2:1189
 #, no-wrap
 msgid "    /* Parent falls through to here */\n"
 msgstr "    /* 親プロセスの実行はここに来る */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1156
+#: build/C/man2/clone.2:1191
 #, 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:1159
+#: build/C/man2/clone.2:1194
 #, no-wrap
 msgid ""
 "    /* Display hostname in parent\\(aqs UTS namespace. This will be\n"
@@ -2668,7 +2730,7 @@ msgstr ""
 "       これは子プロセスの UTS 名前空間でのホスト名とは異なる */\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1163
+#: build/C/man2/clone.2:1198
 #, no-wrap
 msgid ""
 "    if (uname(&uts) == -1)\n"
@@ -2680,7 +2742,7 @@ msgstr ""
 "    printf(\"uts.nodename in parent: %s\\en\", uts.nodename);\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1167
+#: build/C/man2/clone.2:1202
 #, no-wrap
 msgid ""
 "    if (waitpid(pid, NULL, 0) == -1)    /* Wait for child */\n"
@@ -2692,7 +2754,7 @@ msgstr ""
 "    printf(\"child has terminated\\en\");\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1170
+#: build/C/man2/clone.2:1205
 #, no-wrap
 msgid ""
 "    exit(EXIT_SUCCESS);\n"
@@ -2702,15 +2764,17 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
-#: build/C/man2/clone.2:1185
+#: build/C/man2/clone.2:1221
 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
@@ -2761,8 +2825,8 @@ msgid ""
 "memory, file descriptors, and so on."
 msgstr ""
 "システムコール B<kcmp>() を使うと、 ID が I<pid1> と I<pid2> の二つのプロセス"
-"ã\81\8cã\80\81 ä»®æ\83³ã\83¡ã\83¢ã\83ªã\82\84ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81ªã\81©ã\81®ã\80\81 å\90\8cã\81\98ã\82«ã\83¼ã\83\8dã\83«ã\83ªã\82½ã\83¼ã\82¹ã\82\92å\85±æ\9c\89ã\81\97"
-"ているかどうかを検査できる。"
+"ã\81\8cã\80\81 ä»®æ\83³ã\83¡ã\83¢ã\83ªã\83¼ã\82\84ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81ªã\81©ã\81®ã\80\81 å\90\8cã\81\98ã\82«ã\83¼ã\83\8dã\83«ã\83ªã\82½ã\83¼ã\82¹ã\82\92å\85±"
+"有しているかどうかを検査できる。"
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:55
@@ -2786,8 +2850,8 @@ msgid ""
 "same open file description (see B<open>(2))  as file descriptor I<idx2> in "
 "the process I<pid2>."
 msgstr ""
-"プロセス I<pid1> のファイルディスクリプタ I<idx1> が、 プロセス I<pid2> の"
-"ファイルディスクリプタ I<idx2> と同じオープンファイル記述 (open file "
+"プロセス I<pid1> のファイルディスクリプタ I<idx1> が、 プロセス I<pid2> の"
+"ファイルディスクリプタ I<idx2> と同じオープンファイル記述 (open file "
 "description) を参照しているかを検査する。"
 
 #. type: TP
@@ -2902,9 +2966,9 @@ msgid ""
 "arithmetic comparison of kernel pointers (when the kernel compares "
 "resources, it uses their memory addresses)."
 msgstr ""
-"B<kcmp>() ã\81®å\91¼ã\81³å\87ºã\81\97ã\81\8cæ\88\90å\8a\9fã\81\97ã\81\9få ´å\90\88ã\81®è¿\94ã\82\8aå\80¤ã\81¯ã\80\81å\8d\98ã\81«ã\82«ã\83¼ã\83\8dã\83«ã\83\9dã\82¤ã\83³ã\82¿ã\82\92æ\95°å\80¤ã\81§æ¯\94"
-"較した結果となる (カーネルはリソースを比較する際、リソースのメモリアドレスを"
-"使用する)。"
+"B<kcmp>() ã\81®å\91¼ã\81³å\87ºã\81\97ã\81\8cæ\88\90å\8a\9fã\81\97ã\81\9få ´å\90\88ã\81®è¿\94ã\82\8aå\80¤ã\81¯ã\80\81å\8d\98ã\81«ã\82«ã\83¼ã\83\8dã\83«ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92æ\95°å\80¤ã\81§"
+"比較した結果となる (カーネルはリソースを比較する際、リソースのメモリーアドレ"
+"スを使用する)。"
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:141
@@ -2977,10 +3041,10 @@ msgid ""
 "descriptors."
 msgstr ""
 "B<kcmp>() は、ソートに適した値を返すように設計された。 大量のファイルディスク"
-"リプタを比較する必要がある場合に、特に役に立つ。"
+"ã\83ªã\83\97ã\82¿ã\83¼ã\82\92æ¯\94è¼\83ã\81\99ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8bå ´å\90\88ã\81«ã\80\81ç\89¹ã\81«å½¹ã\81«ç«\8bã\81¤ã\80\82"
 
 #. 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>"
@@ -3055,7 +3119,7 @@ msgid ""
 msgstr ""
 "このシステムコールが利用できるのは、 カーネルの B<CONFIG_CHECKPOINT_RESTORE> "
 "オプションが有効になっている場合だけである。 このシステムコールの主な用途"
-"は、 ユーザ空間でのチェックポイント/リストア (checkpoint/restore in user "
+"は、 ユーザ空間でのチェックポイント/リストア (checkpoint/restore in user "
 "space; CRIU) 機能である。 このシステムコールを使わないとすると、 B<proc>(5) "
 "ファイルシステム経由で必要なプロセス情報を公開することになるが、 これはセキュ"
 "リティ上の理由から不適切とみなされた。"
@@ -3221,7 +3285,7 @@ msgid "SCHED_GETCPU"
 msgstr "SCHED_GETCPU"
 
 #. type: TH
-#: build/C/man3/sched_getcpu.3:26 build/C/man2/sched_setaffinity.2:34
+#: build/C/man3/sched_getcpu.3:26
 #, no-wrap
 msgid "2014-05-10"
 msgstr "2014-05-10"
@@ -3428,7 +3492,7 @@ msgstr "B<EFAULT>"
 #. type: Plain text
 #: build/C/man2/sched_rr_get_interval.2:84
 msgid "Problem with copying information to user space."
-msgstr "情報をユーザ空間にコピーする時に問題が起きた。"
+msgstr "情報をユーザ空間にコピーする時に問題が起きた。"
 
 #. type: Plain text
 #: build/C/man2/sched_rr_get_interval.2:87
@@ -3515,6 +3579,12 @@ msgstr "B<sched>(7)"
 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 ""
@@ -3576,8 +3646,8 @@ msgid ""
 "described in B<CPU_SET>(3)."
 msgstr ""
 "CPU affinity マスクは「CPU の集合」を表す I<cpu_set_t> 構造体で表現され、 "
-"I<cpu_set_t> へのポインタ I<mask> で指定される。 CPU 集合を操作するためのマク"
-"ロ群については B<CPU_SET>(3)  で記載されている。"
+"I<cpu_set_t> へのポインター I<mask> で指定される。 CPU 集合を操作するためのマ"
+"ã\82¯ã\83­ç¾¤ã\81«ã\81¤ã\81\84ã\81¦ã\81¯ B<CPU_SET>(3)  ã\81§è¨\98è¼\89ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\80\82"
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:85
@@ -3629,7 +3699,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:120
 msgid "A supplied memory address was invalid."
-msgstr "指定されたメモリ番地が不正である。"
+msgstr "指定されたメモリ番地が不正である。"
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:128
@@ -3662,9 +3732,9 @@ msgid ""
 "the B<CAP_SYS_NICE> capability."
 msgstr ""
 "(B<sched_setaffinity>())  呼び出し元のスレッドに適切な特権がなかった。 呼び出"
-"し元は、実効ユーザ ID が I<pid> で識別されるスレッドの実ユーザ ID または実効"
-"ユーザ ID と同じであるか、 B<CAP_SYS_NICE> ケーパビリティ (capability) を持た"
-"なければならない。"
+"し元は、実効ユーザー ID が I<pid> で識別されるスレッドの実ユーザー ID または"
+"実効ユーザー ID と同じであるか、 B<CAP_SYS_NICE> ケーパビリティ (capability) "
+"ã\82\92æ\8c\81ã\81\9fã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82"
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:148 build/C/man2/sched_setattr.2:289
@@ -3682,7 +3752,7 @@ msgid ""
 "in glibc 2.3.4, with type I<size_t>."
 msgstr ""
 "CPU affinity システムコールは Linux kernel 2.5.8 で導入された。 これらのシス"
-"テムコールのラッパー関数は glibc 2.3 で導入された。 最初は、glibc のインタ"
+"テムコールのラッパー関数は glibc 2.3 で導入された。 最初は、glibc のインタ"
 "フェースには I<unsigned int> 型の I<cpusetsize> 引き数が入っていた。 glibc "
 "2.3.3 では I<cpusetsize> 引き数が削除されたが、glibc 2.3.4 で I<size_t> 型で"
 "復活した。"
@@ -3711,12 +3781,26 @@ msgstr ""
 "CPU 集合に対する制限はカーネルにより 暗黙のうちに適用される。"
 
 #. type: Plain text
-#: build/C/man2/sched_setaffinity.2:177
+#: 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 ""
+"システムで利用可能な CPU 数を判定する方法はいくつかある。 I</proc/cpuinfo> の"
+"内容を調べる、 B<sysconf>(3) を使って B<_SC_NPROCESSORS_CONF> と "
+"B<_SC_NPROCESSORS_ONLN> の値を取得する、 I</sys/devices/system/cpu/> の CPU "
+"ディレクトリの一覧を調べる、などがある。"
+
+#. type: Plain text
+#: 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:194
+#: 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 "
@@ -3736,7 +3820,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)."
@@ -3745,7 +3829,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> "
@@ -3755,104 +3839,89 @@ msgid ""
 "I<cpumask_t> data type that is used internally by the kernel to represent "
 "the CPU set bit mask."
 msgstr ""
-"ã\81\93ã\81®ã\83\9eã\83\8bã\83¥ã\82¢ã\83«ã\83\9aã\83¼ã\82¸ã\81§ã\81¯ CPU affinity ã\82³ã\83¼ã\83«ã\81® glibc ã\82¤ã\83³ã\82¿ã\83\95ã\82§ã\83¼ã\82¹ã\82\92 èª¬æ\98\8eã\81\97"
-"ã\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> の型が "
+"ã\81\93ã\81®ã\83\9eã\83\8bã\83¥ã\82¢ã\83«ã\83\9aã\83¼ã\82¸ã\81§ã\81¯ CPU affinity ã\82³ã\83¼ã\83«ã\81® glibc ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\82\92 èª¬æ\98\8e"
+"ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82å®\9fé\9a\9bã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\82¤ã\83³ã\82¿ã\83¼ã\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> の型が "
 "I<unsigned long\\ *> となっている。 成功時には、生の B<sched_getaffinity>()  "
 "システムコール自身は I<cpumask_t> データ型の (バイト単位の) 大きさを返す。 "
 "I<cpumask_t> はカーネル内部で CPU 集合のビットマスクを表現するのに 使われてい"
 "るデータ型である。"
 
 #. type: Plain text
-#: build/C/man2/sched_setaffinity.2:234
+#: build/C/man2/sched_setaffinity.2:248
 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)"
+"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<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)"
+"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_setattr.2:26
-#, fuzzy, no-wrap
-#| msgid "SCHED_SETPARAM"
+#, no-wrap
 msgid "SCHED_SETATTR"
-msgstr "SCHED_SETPARAM"
+msgstr "SCHED_SETATTR"
 
 #. type: TH
-#: build/C/man2/sched_setattr.2:26 build/C/man7/sched.7:32
-#, fuzzy, no-wrap
-#| msgid "2014-05-12"
-msgid "2014-05-13"
-msgstr "2014-05-12"
+#: 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_setattr.2:30
-#, fuzzy
-#| msgid "sched_setparam, sched_getparam - set and get scheduling parameters"
 msgid ""
 "sched_setattr, sched_getattr - set and get scheduling policy and attributes"
 msgstr ""
-"sched_setparam, sched_getparam - スケジューリングパラメータの設定と取得を行な"
-"う"
+"sched_setattr, sched_getattr - スケジューリングポリシーと属性の設定と取得を行"
+"ã\81ªã\81\86"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:36
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int sched_getaffinity(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_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_getaffinity(pid_t >I<pid>B<, size_t >I<cpusetsize>B<,>\n"
-"B<                      cpu_set_t *>I<mask>B<);>\n"
+"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_setattr.2:39
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int sched_getaffinity(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_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<int sched_getaffinity(pid_t >I<pid>B<, size_t >I<cpusetsize>B<,>\n"
-"B<                      cpu_set_t *>I<mask>B<);>\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
-#, fuzzy, no-wrap
-#| msgid "B<sched_getcpu>():"
+#, no-wrap
 msgid "sched_setattr()"
-msgstr "B<sched_getcpu>():"
+msgstr "sched_setattr()"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:52
-#, fuzzy
-#| 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."
 msgid ""
 "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_setscheduler>() システムコールは、 I<pid> で指定された ID を持つス"
-"レッドのスケジューリングポリシーとスケジューリングパラメーターの両方を設定す"
-"る。 I<pid> が 0 の場合、呼び出したスレッド自身のスケジューリングポリシーとス"
-"ケジューリングパラメーターが設定される。"
+"B<sched_setattr>() システムコールは、 I<pid> で指定された ID を持つスレッドの"
+"スケジューリングポリシーと関連する属性を設定する。 I<pid> が 0 の場合、呼び出"
+"したスレッド自身のスケジューリングポリシーと属性が設定される。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:56 build/C/man2/sched_setscheduler.2:73
@@ -3860,6 +3929,9 @@ msgid ""
 "Currently, Linux supports the following \"normal\" (i.e., non-real-time) "
 "scheduling policies as values that may be specified in I<policy>:"
 msgstr ""
+"現在のところ、 Linux では、 以下の「通常」の (つまり、リアルタイムではない) "
+"スケジューリングポリシーが、 I<policy> に指定できる値としてサポートされてい"
+"る。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:56 build/C/man2/sched_setscheduler.2:73
@@ -3936,19 +4008,20 @@ msgstr "ラウンドロビン型のポリシー。"
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:86
 msgid "Linux also provides the following policy:"
-msgstr ""
+msgstr "Linux では以下のポリシーも提供されている。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:86
-#, fuzzy, no-wrap
-#| msgid "B<SCHED_IDLE>"
+#, no-wrap
 msgid "B<SCHED_DEADLINE>"
-msgstr "B<SCHED_IDLE>"
+msgstr "B<SCHED_DEADLINE>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:91
 msgid "a deadline scheduling policy; see B<sched>(7)  for details."
 msgstr ""
+"デッドライン (応答期限) ベースのスケジューリングポリシー。詳細は B<sched>(7) "
+"を参照。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:97
@@ -3957,6 +4030,8 @@ msgid ""
 "scheduling policy and attributes for the specified thread.  This structure "
 "has the following form:"
 msgstr ""
+"I<attr> 引き数は、 指定したスレッドの新しいスケジューリングポリシーと属性を定"
+"義した構造体へのポインターである。 この構造体は以下の形式である。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:113
@@ -3976,19 +4051,30 @@ msgid ""
 "    u64 sched_period;\n"
 "};\n"
 msgstr ""
+"struct sched_attr {\n"
+"    u32 size;              /* この構造体のサイズ */\n"
+"    u32 sched_policy;      /* ポリシー (SCHED_*) */\n"
+"    u64 sched_flags;       /* フラグ */\n"
+"    s32 sched_nice;        /* nice 値 (SCHED_OTHER,\n"
+"                              SCHED_BATCH) */\n"
+"    u32 sched_priority;    /* 静的優先度 (SCHED_FIFO,\n"
+"                              SCHED_RR) */\n"
+"    /* 残りのフィールドは SCHED_DEADLINE 用である */\n"
+"    u64 sched_runtime;\n"
+"    u64 sched_deadline;\n"
+"    u64 sched_period;\n"
+"};\n"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:117
-#, fuzzy
-#| msgid "The I<timespec> structure has the following form:"
 msgid "The fields of this structure are as follows:"
-msgstr "I<timespec> 構造体は以下の通りである:"
+msgstr "この構造体のフィールドは以下の通りである。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:117
 #, no-wrap
 msgid "B<size>"
-msgstr ""
+msgstr "B<size>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:132
@@ -4001,6 +4087,12 @@ msgid ""
 "with the error B<E2BIG> and updates I<size> to contain the size of the "
 "kernel structure."
 msgstr ""
+"このフィールドには、 構造体のバイト単位のサイズを設定する。 I<sizeof(struct "
+"sched_attr)> を指定すればよい。 指定された構造体がカーネル構造体よりも小さい"
+"場合、 追加となるフィールドは 0 とみなされる。 指定された構造体がカーネル構造"
+"体よりも大きい場合、 カーネルは追加のフィールドが 0 であるかを検査する。 0 で"
+"ない場合は B<sched_setattr>() はエラー B<E2BIG> で失敗するので、 I<size> を"
+"カーネル構造体のサイズに更新する必要がある。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:146
@@ -4014,12 +4106,19 @@ msgid ""
 "whether they are running on an older kernel that does not support the larger "
 "structure."
 msgstr ""
+"ユーザー空間の I<sched_attr> 構造体のサイズがカーネル構造体のサイズと一致しな"
+"かった場合の上記の動作は、 このインターフェースを将来拡張できるようにするため"
+"である。 サイズが大きい構造体を渡す行儀の良くないアプリケーションも、 将来"
+"カーネルの I<sched_attr> 構造体のサイズが大きくなったとしてもおかしくならな"
+"い。 この仕組みにより、 将来的には、 大きなユーザー空間 I<sched_attr> 構造体"
+"があることを知っているアプリケーションで、 大きいサイズの構造体に対応していな"
+"い古いカーネル上で動作しているかを判定することができる。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:146
 #, no-wrap
 msgid "I<sched_policy>"
-msgstr ""
+msgstr "I<sched_policy>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:151
@@ -4027,37 +4126,33 @@ msgid ""
 "This field specifies the scheduling policy, as one of the B<SCHED_*> values "
 "listed above."
 msgstr ""
+"このフィールドはスケジューリングポリシーを指定する。 上記のリストにある "
+"B<SCHED_*> 値のいずれかを指定する。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:151
 #, no-wrap
 msgid "I<sched_flags>"
-msgstr ""
+msgstr "I<sched_flags>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:162
-#, 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.  See B<sched>(7)  for details."
 msgid ""
 "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 ""
-"Linux 2.6.32 以降では、 B<sched_setscheduler>() を呼び出す際に I<policy> に "
-"B<SCHED_RESET_ON_FORK> フラグを OR で指定できる。このフラグが指定されると、 "
-"B<fork>(2) で作成された子プロセスは特権が必要なスケジューリングポリシーを継承"
-"しない。 詳細は B<sched>(7) を参照。"
+"このフィールドはスケジューリング動作の制御を行う。 現在のところ、サポートされ"
+"ているフラグは B<SCHED_FLAG_RESET_ON_FORK> の一つだけである。 このフラグが指"
+"定されると、 B<fork>(2) で作成された子プロセスは特権が必要なスケジューリング"
+"ã\83\9dã\83ªã\82·ã\83¼ã\82\92ç¶\99æ\89¿ã\81\97ã\81ªã\81\84ã\80\82 è©³ç´°ã\81¯ B<sched>(7) ã\82\92å\8f\82ç\85§ã\80\82"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:162
 #, no-wrap
 msgid "I<sched_nice>"
-msgstr ""
+msgstr "I<sched_nice>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:173
@@ -4067,12 +4162,15 @@ msgid ""
 "number in the range -20 (high priority)  to +19 (low priority); see "
 "B<setpriority>(2)."
 msgstr ""
+"このフィールドは、 I<sched_policy> に B<SCHED_OTHER> か B<SCHED_BATCH> が指定"
+"された場合に設定される nice 値を指定する。 nice 値は -20 (高優先度) から +19 "
+"(低優先度) の範囲の数値である。 B<setpriority>(2) を参照。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:173
 #, no-wrap
 msgid "I<sched_priority>"
-msgstr ""
+msgstr "I<sched_priority>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:186
@@ -4083,12 +4181,17 @@ msgid ""
 "B<sched_get_priority_min>(2)  and B<sched_get_priority_max>(2).  For other "
 "policies, this field must be specified as 0."
 msgstr ""
+"このフィールドは、 I<sched_policy> に B<SCHED_FIFO> か B<SCHED_RR> が指定され"
+"た場合に設定される静的優先度を指定する。 これらのポリシーで指定できる優先度の"
+"範囲は、 B<sched_get_priority_min>(2) と B<sched_get_priority_max>(2) を使っ"
+"て判定できる。 他のポリシーでは、 このフィールドには 0 を指定しなければならな"
+"い。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:186
 #, no-wrap
 msgid "I<sched_runtime>"
-msgstr ""
+msgstr "I<sched_runtime>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:195
@@ -4098,12 +4201,16 @@ msgid ""
 "used only for B<SCHED_DEADLINE> scheduling; for further details, see "
 "B<sched>(7)."
 msgstr ""
+"このフィールドは、 デッドラインスケジューリングの \"Runtime\" パラメーターを"
+"指定する。 この値はナノ秒単位で表現される。 このフィールドと次の 2 つのフィー"
+"ルドは B<SCHED_DEADLINE> スケジューリングにおいてのみ使用される。 詳細は "
+"B<sched>(7) を参照。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:195
 #, no-wrap
 msgid "I<sched_deadline>"
-msgstr ""
+msgstr "I<sched_deadline>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:199
@@ -4111,12 +4218,14 @@ msgid ""
 "This field specifies the \"Deadline\" parameter for deadline scheduling.  "
 "The value is expressed in nanoseconds."
 msgstr ""
+"このフィールドは、 デッドラインスケジューリングの \"Deadline\" パラメーターを"
+"指定する。 この値はナノ秒単位で表現される。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:199
 #, no-wrap
 msgid "I<sched_period>"
-msgstr ""
+msgstr "I<sched_period>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:203
@@ -4124,6 +4233,8 @@ msgid ""
 "This field specifies the \"Period\" parameter for deadline scheduling.  The "
 "value is expressed in nanoseconds."
 msgstr ""
+"このフィールドは、 デッドラインスケジューリングの \"Period\" パラメーターを指"
+"定する。 この値はナノ秒単位で表現される。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:210 build/C/man2/sched_setattr.2:262
@@ -4131,32 +4242,26 @@ 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 ""
+"I<flags> 引き数は、このインターフェースの将来の拡張のために用意されている。 "
+"現在の実装では 0 を指定しなければならない。"
 
 #. type: SS
 #: build/C/man2/sched_setattr.2:210
-#, fuzzy, no-wrap
-#| msgid "B<sched_getcpu>():"
+#, no-wrap
 msgid "sched_getattr()"
-msgstr "B<sched_getcpu>():"
+msgstr "sched_getattr()"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:221
-#, fuzzy
-#| 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."
 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 の場合、呼び出したスレッド自身のスケジューリングポリシーとス"
-"ケジューリングパラメーターが設定される。"
+"B<sched_getattr>() システムコールは、 I<pid> で指定された ID を持つスレッドの"
+"スケジューリングポリシーと関連する属性を取得する。 I<pid> が 0 の場合、呼び出"
+"したスレッド自身のスケジューリングポリシーと関連する属性を取得する。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:231
@@ -4166,6 +4271,9 @@ msgid ""
 "the size of the initially published I<sched_attr> structure, or the call "
 "fails with the error B<EINVAL>."
 msgstr ""
+"I<size> 引き数には、 ユーザー空間での I<sched_attr> 構造体の大きさを設定す"
+"る。 この値は、 少なくとも初期バージョンの I<sched_attr> 構造体のサイズでなけ"
+"ればならない。 そうでなかった場合、 エラー B<EINVAL> で呼び出しが失敗する。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:241
@@ -4174,6 +4282,9 @@ msgid ""
 "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 ""
+"取得したスケジューリング属性は、 I<attr> が指す I<sched_attr> 構造体の各"
+"フィールドに格納される。 カーネルは I<attr.size> に I<sched_attr> 構造体のサ"
+"イズを設定する。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:257
@@ -4186,19 +4297,21 @@ msgid ""
 "with B<sched_setattr>(), these semantics allow for future extensibility of "
 "the interface."
 msgstr ""
+"呼び出し側が提供した I<attr> バッファーがカーネルの I<sched_attr> 構造体より"
+"も大きい場合、 ユーザー空間構造体の残りのバイトは変更されない。 呼び出し側が"
+"提供した構造体がカーネルの I<sched_attr> 構造体よりも小さく、 カーネルが値を"
+"返すのにもっと大きな空間が必要な場合、 B<sched_getattr>() はエラー B<E2BIG> "
+"で失敗する。 B<sched_setattr>() と同様、 この動作はこのインターフェースの将来"
+"の拡張性を考慮してのものである。"
 
 #. type: Plain text
 #: 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 ""
 "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> が適切に設定される。"
+"成功した場合は B<sched_setattr>()  と B<sched_getattr>()  は 0 を返す。 エ"
+"ラーの場合は -1 が返され、 エラーの原因を示す値が I<errno> に設定される。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:276
@@ -4206,29 +4319,29 @@ msgid ""
 "B<sched_getattr>()  and B<sched_setattr>()  can both fail for the following "
 "reasons:"
 msgstr ""
+"B<sched_getattr>() と B<sched_setattr>() の両方が以下の理由で失敗する。"
 
 #. 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 である。"
+msgstr ""
+"I<attr> が NULL である。 I<pid> が負である。 I<flags> が 0 以外である。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:293
 msgid "In addition, B<sched_getattr>()  can fail for the following reasons:"
-msgstr ""
+msgstr "さらに、 B<sched_getattr>() は以下の理由でも失敗する。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:293 build/C/man2/sched_setattr.2:310
 #, no-wrap
 msgid "B<E2BIG>"
-msgstr ""
+msgstr "B<E2BIG>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:300
 msgid "The buffer specified by I<size> and I<attr> is too small."
-msgstr ""
+msgstr "I<size> と I<attr> で指定されたバッファーが小さすぎる。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:306
@@ -4236,11 +4349,13 @@ 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 ""
+"I<size> が無効である。つまり、 最初のバージョンの I<sched_attr> 構造体 (48 バ"
+"イト) よりも小さいか、 システムのページサイズよりも大きい。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:310
 msgid "In addition, B<sched_setattr>()  can fail for the following reasons:"
-msgstr ""
+msgstr "さらに、 B<sched_setattr>() は以下の理由でも失敗する。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:318
@@ -4248,18 +4363,19 @@ 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 ""
+"I<size> と I<attr> で指定されたバッファーがカーネル構造体よりも大きく、 一つ"
+"以上の超過バイトが 0 でなかった。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:318
-#, fuzzy, no-wrap
-#| msgid "B<EBADF>"
+#, no-wrap
 msgid "B<EBUSY>"
-msgstr "B<EBADF>"
+msgstr "B<EBUSY>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:323
 msgid "B<SCHED_DEADLINE> admission control failure, see B<sched>(7)."
-msgstr ""
+msgstr "B<SCHED_DEADLINE> の流入制御の失敗については B<sched>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:339
@@ -4270,13 +4386,16 @@ msgid ""
 "B<SCHED_DEADLINE> and the deadline scheduling parameters in I<attr> are "
 "invalid."
 msgstr ""
+"I<attr.sched_policy> が認識できるポリシーではない。 I<attr.sched_flags> に "
+"B<SCHED_FLAG_RESET_ON_FORK> 以外のフラグが含まれている。 I<attr."
+"sched_priority> が無効である。 I<attr.sched_policy> が B<SCHED_DEADLINE> "
+"で、 I<attr> に指定されたデッドラインスケジューリングパラメーターが無効であ"
+"る。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:342
-#, fuzzy
-#| msgid "The calling thread does not have appropriate privileges."
 msgid "The caller does not have appropriate privileges."
-msgstr "呼び出したスレッドが適切な特権を持っていない。"
+msgstr "呼び出したが適切な特権を持っていない。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:348
@@ -4284,21 +4403,19 @@ msgid ""
 "The caller's CPU affinity mask does not include all CPUs in the system (see "
 "B<sched_setaffinity>(2))."
 msgstr ""
+"呼び出し元の CPU affinity マスクにシステムの全ての CPU のうち含まれていないも"
+"のがある (B<sched_setaffinity>(2) を参照)。"
 
-#.  FIXME Add glibc version
+#.  FIXME Add glibc version
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:351
-#, fuzzy
-#| msgid "The B<kcmp>()  system call first appeared in Linux 3.5."
 msgid "These system calls first appeared in Linux 3.14."
-msgstr "B<kcmp>() システムコールは Linux 3.5 で初めて登場した。"
+msgstr "これらのシステムコールは Linux 3.14 で初めて登場した。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:353
-#, fuzzy
-#| msgid "These system calls are Linux-specific."
 msgid "These system calls are nonstandard Linux extensions."
-msgstr "これらのシステムコールは Linux 固有である。"
+msgstr "これらのシステムコールは非標準の Linux による拡張である。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:369
@@ -4307,14 +4424,20 @@ msgid ""
 "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 "
+"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 ""
+"B<sched_setattr>() は、B<sched_setscheduler>(2), B<sched_setparam>(2), "
+"B<nice>(2) の機能および B<setpriority> の一部機能を持つ (ただし、"
+"B<setpriority>(2) の、指定されたユーザーに所属するすべてのプロセスまたは指定"
+"されたグループのすべてのプロセスの優先度を設定する機能は除く)。 同様に、 "
+"B<sched_getattr>() は B<sched_getscheduler>(2), B<sched_getparam>(2) の機能お"
+"よび B<getpriority>(2) の一部機能を持つ。"
 
-#.  FIXME patch sent to Peter Zijlstra
+#.  FIXME patch sent to Peter Zijlstra
 #.  In Linux versions up to up 3.15,
-#.  .\" FIXME patch from Peter Zijlstra pending
+#.  FIXME . patch from Peter Zijlstra pending
 #.  .BR sched_setattr ()
 #.  allowed a negative
 #.  .I attr.sched_policy
@@ -4325,29 +4448,27 @@ 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 ""
+"バージョン 3.15 までの Linux では、 B<sched_settattr>() は、 エラーの節に書か"
+"れている B<E2BIG> の場合にエラーB<EFAULT> で失敗していた。"
 
 #. type: Plain text
-#: build/C/man2/sched_setattr.2:406
-#, fuzzy
-#| 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)"
-msgid ""
-"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<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)"
+#: 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
@@ -4365,8 +4486,8 @@ msgstr "2014-05-11"
 #: build/C/man2/sched_setparam.2:33
 msgid "sched_setparam, sched_getparam - set and get scheduling parameters"
 msgstr ""
-"sched_setparam, sched_getparam - ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\81®è¨­å®\9aã\81¨å\8f\96å¾\97ã\82\92è¡\8cã\81ª"
-"う"
+"sched_setparam, sched_getparam - ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\83¼ã\81®è¨­å®\9aã\81¨å\8f\96å¾\97ã\82\92è¡\8c"
+"ã\81ªã\81\86"
 
 #. type: Plain text
 #: build/C/man2/sched_setparam.2:38
@@ -4407,11 +4528,11 @@ msgid ""
 "policies supported under Linux."
 msgstr ""
 "B<sched_setparam>()  は I<pid> で指定されたプロセスのスケジューリング方針 "
-"(scheduling policy) ã\81« é\96¢é\80£ã\81\99ã\82\8bã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\82\92設å®\9aã\81\99ã\82\8bã\80\82 I<pid> "
-"が 0 ならば、呼び出し元のプロセスのパラメータが設定される。 引き数 I<param> "
-"の解釈は、 I<pid> で指定されたプロセスのスケジューリング方針によって異なる。 "
-"Linux でサポートされているスケジューリング方針の説明は B<sched>(7)  を参照の"
-"こと。"
+"(scheduling policy) ã\81« é\96¢é\80£ã\81\99ã\82\8bã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\83¼ã\82\92設å®\9aã\81\99ã\82\8bã\80\82 "
+"I<pid> が 0 ならば、呼び出し元のプロセスのパラメーターが設定される。 引き数 "
+"I<param> の解釈は、 I<pid> で指定されたプロセスのスケジューリング方針によって"
+"異なる。 Linux でサポートされているスケジューリング方針の説明は B<sched>(7)  "
+"ã\82\92å\8f\82ç\85§ã\81®ã\81\93ã\81¨ã\80\82"
 
 #. type: Plain text
 #: build/C/man2/sched_setparam.2:66
@@ -4421,8 +4542,8 @@ msgid ""
 "process are retrieved."
 msgstr ""
 "B<sched_getparam>()  は I<pid> で指定されたプロセスのスケジューリングパラメー"
-"ã\82¿ã\82\92å\8f\96å¾\97ã\81\99ã\82\8bã\80\82 I<pid> ã\81\8c 0 ã\81ªã\82\89ã\81°ã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\82\92å\8f\96å¾\97ã\81\99"
-"る。"
+"ã\82¿ã\83¼ã\82\92å\8f\96å¾\97ã\81\99ã\82\8bã\80\82 I<pid> ã\81\8c 0 ã\81ªã\82\89ã\81°ã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\83¼ã\82\92å\8f\96å¾\97"
+"ã\81\99ã\82\8bã\80\82"
 
 #. type: Plain text
 #: build/C/man2/sched_setparam.2:75
@@ -4499,7 +4620,7 @@ msgid ""
 "Scheduling parameters are in fact per-thread attributes on Linux; see "
 "B<sched>(7)."
 msgstr ""
-"Linux では、スケジューリングパラメータは実際にはスレッド単位の属性である。 "
+"Linux ã\81§ã\81¯ã\80\81ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\83¼ã\81¯å®\9fé\9a\9bã\81«ã\81¯ã\82¹ã\83¬ã\83\83ã\83\89å\8d\98ä½\8dã\81®å±\9eæ\80§ã\81§ã\81\82ã\82\8bã\80\82 "
 "B<sched>(7) 参照。"
 
 #. type: Plain text
@@ -4521,20 +4642,14 @@ msgstr ""
 msgid "SCHED_SETSCHEDULER"
 msgstr "SCHED_SETSCHEDULER"
 
-#. type: TH
-#: build/C/man2/sched_setscheduler.2:26
-#, no-wrap
-msgid "2014-05-21"
-msgstr "2014-05-21"
-
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:30
 msgid ""
 "sched_setscheduler, sched_getscheduler - set and get scheduling policy/"
 "parameters"
 msgstr ""
-"sched_setscheduler, sched_getscheduler - スケジューリングポリシーとパラメー"
-"を設定/取得する"
+"sched_setscheduler, sched_getscheduler - スケジューリングポリシーとパラメー"
+"ã\82¿ã\83¼ã\82\92設å®\9a\8f\96å¾\97ã\81\99ã\82\8b"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:35
@@ -4572,6 +4687,8 @@ msgid ""
 "The scheduling parameters are specified in the I<param> argument, which is a "
 "pointer to a structure of the following form:"
 msgstr ""
+"スケジューリングパラメーターは I<param> 引き数で、以下の形式の構造体へのポイ"
+"ンターを指定する。"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:61
@@ -4596,21 +4713,30 @@ msgid ""
 "I<sched_priority>.  The interpretation of I<param> depends on the selected "
 "policy."
 msgstr ""
+"現在の実装では、この構造体のフィールドは I<sched_priority> だけである。 "
+"I<param> がどのように解釈されるかは選択されたポリシーによって変わる。"
 
 #. 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 ""
+"上記のどのポリシーの場合でも、 I<param-E<gt>sched_priority> は 0 でなければな"
+"らない。"
 
 #. 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_min>(2)  "
+"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 ""
+"上記のどのポリシーの場合でも、 I<param-E<gt>sched_priority> はそのスレッドの"
+"スケジューリングポリシーを指定する。 指定された I<policy> で "
+"I<sched_get_priority_min>(2) と I<sched_get_priority_max>(2) を呼び出した返り"
+"値の範囲の数字を指定する。 Linux では、これらのシステムコールはそれぞれ 1 と "
+"99 を返す。"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:129
@@ -4688,6 +4814,8 @@ 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 ""
+"上記の「通常」および「リアルタイム」スケジューリングポリシーの動作の詳細な説"
+"明は B<sched>(7) にある。"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:185
@@ -4710,9 +4838,9 @@ msgid ""
 msgstr ""
 "POSIX.1 は、非特権スレッドが B<sched_setscheduler>()  を呼び出すために必要な"
 "権限の詳細を規定しておらず、 詳細はシステムにより異なる。 例えば、Solaris 7 "
-"のマニュアルページでは、 呼び出し元の実ユーザ ID または実効ユーザ ID が 設定"
-"対象の実ユーザ ID か保存 (save) set-user-ID と 一致していなければならない、と"
-"なっている。"
+"のマニュアルページでは、 呼び出し元の実ユーザー ID または実効ユーザー ID が "
+"設定対象の実ユーザー ID か保存 (save) set-user-ID と 一致していなければならな"
+"ã\81\84ã\80\81ã\81¨ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\80\82"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:214
@@ -4726,8 +4854,8 @@ msgid ""
 "B<pthread_setschedparam>(3), B<pthread_getschedparam>(3), and "
 "B<pthread_setschedprio>(3), instead of the B<sched_*>(2)  system calls.)"
 msgstr ""
-"Linux ã\81§ã\81¯ã\80\81 ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83\9dã\83ªã\82·ã\83¼ã\81¨ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\81¯ã\80\81 å®\9fé\9a\9bã\81«"
-"はスレッド単位の属性である。 B<gettid>(2) の呼び出しの返り値をこのシステム"
+"Linux ã\81§ã\81¯ã\80\81 ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83\9dã\83ªã\82·ã\83¼ã\81¨ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\83¼ã\81¯ã\80\81 å®\9fé\9a\9b"
+"ã\81«ã\81¯ã\82¹ã\83¬ã\83\83ã\83\89å\8d\98ä½\8dã\81®å±\9eæ\80§ã\81§ã\81\82ã\82\8bã\80\82 B<gettid>(2) ã\81®å\91¼ã\81³å\87ºã\81\97ã\81®è¿\94ã\82\8aå\80¤ã\82\92ã\81\93ã\81®ã\82·ã\82¹ã\83\86ã\83 "
 "コールの I<pid> 引き数として渡すことができる。 I<pid> に 0 を指定すると、 呼"
 "び出し元のスレッドの属性が設定される。 B<getpid>(2) コールからの返り値を "
 "I<pid> に指定すると、 スレッドグループのメインスレッドの属性が設定される "
@@ -4747,19 +4875,19 @@ msgstr ""
 "に準拠しておらず、 成功時には常に 0 を返す。"
 
 #. type: Plain text
-#: build/C/man2/sched_setscheduler.2:240
+#: build/C/man2/sched_setscheduler.2:241
 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)"
+"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<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)"
+"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
@@ -4840,1994 +4968,2281 @@ msgstr ""
 "り、システム性能が 劣化する結果になるからである。"
 
 #. type: TH
-#: build/C/man2/setns.2:8
+#: build/C/man7/sched.7:32
 #, no-wrap
-msgid "SETNS"
-msgstr "SETNS"
+msgid "SCHED"
+msgstr "SCHED"
 
-#. type: TH
-#: build/C/man2/setns.2:8
+#. type: Plain text
+#: build/C/man7/sched.7:35
+msgid "sched - overview of scheduling APIs"
+msgstr "sched - スケジューリング API の概要"
+
+#. type: SS
+#: build/C/man7/sched.7:36
 #, no-wrap
-msgid "2013-01-01"
-msgstr "2013-01-01"
+msgid "API summary"
+msgstr "API の概要"
 
 #. type: Plain text
-#: build/C/man2/setns.2:11
-msgid "setns - reassociate thread with a namespace"
-msgstr "setns - スレッドに名前空間を関連付けしなおす"
+#: build/C/man7/sched.7:38
+msgid "The Linux scheduling APIs are as follows:"
+msgstr "Linux のスケジューリング API は以下のとおりである。"
+
+#. 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/man2/setns.2:17
+#: 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<int setns(int >I<fd>B<, int >I<nstype>B<);>\n"
-msgstr "B<int setns(int >I<fd>B<, int >I<nstype>B<);>\n"
+msgid "B<sched_getscheduler>(2)"
+msgstr "B<sched_getscheduler>(2)"
 
 #. type: Plain text
-#: build/C/man2/setns.2:21
-msgid ""
-"Given a file descriptor referring to a namespace, reassociate the calling "
-"thread with that namespace."
-msgstr ""
-"名前空間を参照するファイルディスクリプタを指定すると、\n"
-"呼び出したスレッドにその名前空間を関連付けしなおす。"
+#: 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/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 "
-"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<nstype> 引き数で指定された制限の範囲内で、\n"
-"呼び出したスレッドに I<fd> に対応する名前空間を関連付けしなおす。"
-
-#. type: Plain text
-#: build/C/man2/setns.2:40
-msgid ""
-"The I<nstype> argument specifies which type of namespace the calling thread "
-"may be reassociated with.  This argument can have one of the following "
-"values:"
-msgstr ""
-"I<nstype> 引き数は、呼び出したスレッドがどのタイプの名前空間を\n"
-"関連付けしなおすことができるかを指定する。\n"
-"この引き数には以下のいずれかの値を指定できる。"
+#: build/C/man7/sched.7:47
+msgid "Set the scheduling parameters of a specified thread."
+msgstr "指定されたスレッドのスケジューリングパラメーターを設定する。"
 
 #. type: TP
-#: build/C/man2/setns.2:40
+#: build/C/man7/sched.7:47
 #, no-wrap
-msgid "B<0>"
-msgstr "B<0>"
+msgid "B<sched_getparam>(2)"
+msgstr "B<sched_getparam>(2)"
 
 #. type: Plain text
-#: build/C/man2/setns.2:43
-msgid "Allow any type of namespace to be joined."
-msgstr "どのタイプの名前空間も関連付けることができる。"
+#: build/C/man7/sched.7:50
+msgid "Fetch the scheduling parameters of a specified thread."
+msgstr "指定されたスレッドのスケジューリングパラメーターを取得する。"
 
 #. type: TP
-#: build/C/man2/setns.2:43
+#: build/C/man7/sched.7:50
 #, no-wrap
-msgid "B<CLONE_NEWIPC>"
-msgstr "B<CLONE_NEWIPC>"
+msgid "B<sched_get_priority_max>(2)"
+msgstr "B<sched_get_priority_max>(2)"
 
 #. type: Plain text
-#: build/C/man2/setns.2:47
-msgid "I<fd> must refer to an IPC namespace."
-msgstr "I<fd> は IPC 名前空間を参照していなければならない。"
+#: build/C/man7/sched.7:53
+msgid "Return the minimum priority available in a specified scheduling policy."
+msgstr "指定されたスケジューリングポリシーで利用可能な最小の優先度を返す。"
 
 #. type: TP
-#: build/C/man2/setns.2:47
+#: build/C/man7/sched.7:53
 #, no-wrap
-msgid "B<CLONE_NEWNET>"
-msgstr "B<CLONE_NEWNET>"
+msgid "B<sched_get_priority_min>(2)"
+msgstr "B<sched_get_priority_min>(2)"
 
 #. type: Plain text
-#: build/C/man2/setns.2:51
-msgid "I<fd> must refer to a network namespace."
-msgstr "I<fd> はネットワーク名前空間を参照していなければならない。"
+#: build/C/man7/sched.7:56
+msgid "Return the maximum priority available in a specified scheduling policy."
+msgstr "指定されたスケジューリングポリシーで利用可能な最大の優先度を返す。"
 
 #. type: TP
-#: build/C/man2/setns.2:51
+#: build/C/man7/sched.7:56
 #, no-wrap
-msgid "B<CLONE_NEWUTS>"
-msgstr "B<CLONE_NEWUTS>"
-
-#. type: Plain text
-#: build/C/man2/setns.2:55
-msgid "I<fd> must refer to a UTS namespace."
-msgstr "I<fd> は UTS 名前空間を参照していなければならない。"
+msgid "B<sched_rr_get_interval>(2)"
+msgstr "B<sched_rr_get_interval>(2)"
 
 #. type: Plain text
-#: build/C/man2/setns.2:70
+#: build/C/man7/sched.7:60
 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 "
-"for I<nstype> is useful if the caller does not know what type of namespace "
-"is referred to by I<fd> and wants to ensure that the namespace is of a "
-"particular type.  (The caller might not know the type of the namespace "
-"referred to by I<fd> if the file descriptor was opened by another process "
-"and, for example, passed to the caller via a UNIX domain socket.)"
+"Fetch the quantum used for threads that are scheduled under the \"round-robin"
+"\" scheduling policy."
 msgstr ""
-"呼び出し側が I<fd> がどのタイプの名前空間を参照しているかを知っている\n"
-"(もしくは気にする必要がない) 場合には、 I<nstype> に 0 を指定すれば十分\n"
-"である。呼び出し側が I<fd> がどのタイプの名前空間を参照しているかを\n"
-"知っておらず、かつ、特定のタイプの名前空間であることを保証したい場合、\n"
-"I<nstype> に 0 以外の値を指定するとよい。 (ファイルディスクリプタが別の\n"
-"プロセスによりオープンされ、例えば、UNIX ドメインソケット経由で呼び出し\n"
-"側に渡された場合などでは、呼び出し側が I<fd> がどのタイプの名前空間を\n"
-"参照しているかを知らない可能性がある。)"
+"「ラウンドロビン」スケジューリングポリシーでスケジューリグされるスレッドで使"
+"用される単位時間 (quantum) を取得する。"
+
+#. 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/man2/setns.2:77
+#: build/C/man7/sched.7:64
 msgid ""
-"On success, I<setns>()  returns 0.  On failure, -1 is returned and I<errno> "
-"is set to indicate the error."
+"Cause the caller to relinquish the CPU, so that some other thread be "
+"executed."
 msgstr ""
-"成功すると I<setns>() は 0 を返す。\n"
-"失敗すると、 -1 が返され、 I<errno> にエラーを示す値が設定される。"
+"呼び出し元が CPU の使用権を明け渡して、 他のスレッドが実行できるようにする。"
 
-#. type: Plain text
-#: build/C/man2/setns.2:82
-msgid "I<fd> is not a valid file descriptor."
-msgstr "I<fd> が有効なファイルディスクリプタではない。"
+#. 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/man2/setns.2:89
-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."
-msgstr ""
-"I<fd> が I<nstype> で指定されたタイプと一致しない名前空間を参照している。\n"
-"または、指定された名前空間をそのスレッドに関連付けし直す際に問題\n"
-"があった。"
+#: build/C/man7/sched.7:68
+msgid "(Linux-specific)  Set the CPU affinity of a specified thread."
+msgstr "(Linux 固有) 指定されたスレッドの CPU affinity を設定する。"
+
+#. 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/man2/setns.2:92
-msgid "Cannot allocate sufficient memory to change the specified namespace."
-msgstr "指定された名前空間に変更するのに必要なメモリが割り当てられない。"
+#: build/C/man7/sched.7:72
+msgid "(Linux-specific)  Get the CPU affinity of a specified thread."
+msgstr "(Linux 固有) 指定されたスレッドの CPU affinity を取得する。"
+
+#. 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/man2/setns.2:97
+#: build/C/man7/sched.7:79
 msgid ""
-"The calling thread did not have the required privilege (B<CAP_SYS_ADMIN>)  "
-"for this operation."
+"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 ""
-"呼び出したスレッドがこの操作を行うのに必要な特権 (B<CAP_SYS_ADMIN>) を\n"
-"持っていなかった。"
+"指定されたスレッドのスケジューリングポリシーとパラメーターを設定する。 この "
+"(Linux 固有の) システムコールは B<sched_setscheduler>(2) と "
+"B<sched_setparam>(2) の両方の機能を持つ。"
+
+#. 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/man2/setns.2:102
+#: build/C/man7/sched.7:87
 msgid ""
-"The B<setns>()  system call first appeared in Linux in kernel 3.0; library "
-"support was added to glibc in version 2.14."
+"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 ""
-"B<setns>() システムコールはカーネル 3.0 で Linux に初めて登場した。\n"
-"ライブラリによるサポートは glibc バージョン 2.14 を追加された。"
+"指定されたスレッドのスケジューリングポリシーとパラメーターを取得する。 この "
+"(Linux 固有の) システムコールは B<sched_getscheduler>(2) と "
+"B<sched_getparam>(2) の両方の機能を持つ。"
 
-#. type: Plain text
-#: build/C/man2/setns.2:106
-msgid "The B<setns>()  system call is Linux-specific."
-msgstr "B<setns>() システムコールは Linux 固有である。"
+#. type: SS
+#: build/C/man7/sched.7:87
+#, no-wrap
+msgid "Scheduling policies"
+msgstr "スケジューリングポリシー (scheduling policy)"
 
 #. type: Plain text
-#: build/C/man2/setns.2:112
+#: build/C/man7/sched.7:95
 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>()."
+"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 ""
-"新しいスレッドが B<clone>(2) を使って作成された際に共有できる全ての属性を、\n"
-"B<setns>() を使って変更できるわけではない。"
+"スケジューラ (scheduler) とはカーネルの構成要素で、 次に CPU で実行される実行"
+"可能なスレッドを決定するものである。 各々のスレッドには、スケジューリングポリ"
+"シーと 「静的」なスケジューリング優先度 I<sched_priority> が対応付けられる。 "
+"スケジューラは、システム上の全スレッドのスケジューリングポリシーと 静的優先度"
+"に関する知識に基づいて決定を行う。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:121
+#: build/C/man7/sched.7:100
 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/> "
-"directory.  The remaining arguments specify a command and its arguments.  "
-"The program opens the namespace file, joins that namespace using B<setns>(), "
-"and executes the specified command inside that namespace."
+"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 ""
-"以下のプログラムは 2 つ以上の引き数を取る。 最初の引き数には、 既存の I</"
-"proc/[pid]/ns/> ディレクトリの名前空間ファイルのパス名を指定する。 残りの引き"
-"数は、コマンドとその引き数を指定する。 このプログラムは名前空間ファイルをオー"
-"プンし、 B<setns>() を使って名前空間に参加し、 指定されたコマンドをその名前空"
-"間内で実行する。"
+"通常のスケジューリングポリシー (B<SCHED_OTHER>, B<SCHED_IDLE>, "
+"B<SCHED_BATCH>)  の下でスケジューリングされるスレッドでは、 "
+"I<sched_priority> はスケジューリングの決定に使用されない (I<sched_priority> "
+"には 0 を指定しなければならない)。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:131
+#: build/C/man7/sched.7:114
 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> "
-"example program in the B<clone>(2)  man page (complied as a binary named "
-"I<newuts>)."
+"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 ""
-"以下のシェルセッションでは、 このプログラム (I<ns_exec> という名前のバイナリ"
-"としてコンパイルされている)を、 B<clone>(2) のマニュアルページの "
-"B<CLONE_NEWUTS> のサンプルプログラムと組み合わせて使っている。"
+"リアルタイムスケジューリングポリシー (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/man2/setns.2:139
+#: build/C/man7/sched.7:120
 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 "
-"child changes the hostname in its namespace, and then both processes display "
-"the hostnames in their UTS namespaces, so that we can see that they are "
-"different."
+"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 ""
-"まず、 B<clone>(2) のサンプルプログラムをバックグラウンドで実行する。 このプ"
-"ログラムは、 別の UTS 名前空間で子プロセスを作成する。 子プロセスは自分の名前"
-"空間内でホスト名を変更する。 それから、 親プロセスと子プロセスの両方でそれぞ"
-"ã\82\8cã\81® UTS å\90\8då\89\8d空é\96\93ã\81®ã\83\9bã\82¹ã\83\88å\90\8dã\82\92表示ã\81\97ã\80\81 2 ã\81¤ã\81®ã\83\9bã\82¹ã\83\88å\90\8dã\81\8cé\81\95ã\81\86ã\81\93ã\81¨ã\81\8c確èª\8dã\81§ã\81\8dる。"
+"概念としては、 スケジューラはその I<sched_priority> の値それぞれに対して 実行"
+"可能なスレッドのリストを管理している。 どのスレッドを次に実行するかを決定する"
+"ために、 スケジューラは静的優先度の最も高い空でないリストを探して、 そのリス"
+"ã\83\88ã\81®å\85\88é ­ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\82\92é\81¸æ\8a\9eã\81\99る。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:151
-#, no-wrap
+#: build/C/man7/sched.7:124
 msgid ""
-"$ B<su>                   # Need privilege for namespace operations\n"
-"Password:\n"
-"# B<./newuts bizarro &>\n"
-"[1] 3549\n"
-"clone() returned 3550\n"
-"uts.nodename in child:  bizarro\n"
-"uts.nodename in parent: antero\n"
-"# B<uname -n>             # Verify hostname in the shell\n"
-"antero\n"
+"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 ""
-"$ B<su>                   # 名前空間の操作には特権が必要\n"
-"Password:\n"
-"# B<./newuts bizarro &>\n"
-"[1] 3549\n"
-"clone() returned 3550\n"
-"uts.nodename in child:  bizarro\n"
-"uts.nodename in parent: antero\n"
-"# B<uname -n>             # シェルでホスト名を確認\n"
-"antero\n"
+"各スレッドのスケジューリングポリシーは、 そのスレッドが同じ静的優先度を持つス"
+"レッドのリストの中のどこに挿入され、 このリストの中をどのように移動するかを決"
+"定する。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:158
+#: build/C/man7/sched.7:132
 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 "
-"by the first program:"
+"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/setns.2:164
+#. type: SS
+#: build/C/man7/sched.7:132
 #, no-wrap
-msgid ""
-"# B<./ns_exec /proc/3550/ns/uts /bin/bash>\n"
-"# B<uname -n>             # Executed in shell started by ns_exec\n"
-"bizarro\n"
-msgstr ""
-"# B<./ns_exec /proc/3550/ns/uts /bin/bash>\n"
-"# B<uname -n>             #  ns_exec で起動されたシェル内で実行\n"
-"bizarro\n"
+msgid "SCHED_FIFO: First in-first out scheduling"
+msgstr "SCHED_FIFO: ファーストインファーストアウトスケジューリング"
 
 #. type: Plain text
-#: build/C/man2/setns.2:174
-#, no-wrap
+#: build/C/man7/sched.7:141
 msgid ""
-"#define _GNU_SOURCE\n"
-"#include E<lt>fcntl.hE<gt>\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"
+"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 ""
-"#define _GNU_SOURCE\n"
-"#include E<lt>fcntl.hE<gt>\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"
+"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/setns.2:182
+#. 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 ""
-"int\n"
-"main(int argc, char *argv[])\n"
-"{\n"
-"    int fd;\n"
-msgstr ""
-"int\n"
-"main(int argc, char *argv[])\n"
-"{\n"
-"    int fd;\n"
+msgid "*"
+msgstr "*"
 
 #. type: Plain text
-#: build/C/man2/setns.2:187
-#, no-wrap
+#: build/C/man7/sched.7:146
 msgid ""
-"    if (argc E<lt> 3) {\n"
-"        fprintf(stderr, \"%s /proc/PID/ns/FILE cmd args...\\en\", argv[0]);\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
+"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 ""
-"    if (argc E<lt> 3) {\n"
-"        fprintf(stderr, \"%s /proc/PID/ns/FILE cmd args...\\en\", argv[0]);\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
+"より高い優先度の他のスレッドによって取って代わられた B<SCHED_FIFO> スレッドは"
+"その優先度のリストの先頭に留まり続け、 より高い優先度のスレッド全てが停止 "
+"(block) した場合に実行を再開する。"
 
 #. type: Plain text
-#: build/C/man2/setns.2:191
-#, no-wrap
+#: build/C/man7/sched.7:149
 msgid ""
-"    fd = open(argv[1], O_RDONLY);   /* Get descriptor for namespace */\n"
-"    if (fd == -1)\n"
-"        errExit(\"open\");\n"
+"When a B<SCHED_FIFO> thread becomes runnable, it will be inserted at the end "
+"of the list for its priority."
 msgstr ""
-"    fd = open(argv[1], O_RDONLY);   /* 名前空間のディスクリプタを取得 */\n"
-"    if (fd == -1)\n"
-"        errExit(\"open\");\n"
+"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/man2/setns.2:194
-#, no-wrap
+#: build/C/man7/sched.7:164
 msgid ""
-"    if (setns(fd, 0) == -1)         /* Join that namespace */\n"
-"        errExit(\"setns\");\n"
+"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 ""
-"    if (setns(fd, 0) == -1)         /* 名前空間に参加 */\n"
-"        errExit(\"setns\");\n"
+"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/man2/setns.2:198
-#, no-wrap
+#: 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 ""
-"    execvp(argv[2], &argv[2]);      /* Execute a command in namespace */\n"
-"    errExit(\"execvp\");\n"
-"}\n"
+"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 ""
-"    execvp(argv[2], &argv[2]);      /* 名前空間内でコマンドを実行 */\n"
-"    errExit(\"execvp\");\n"
-"}\n"
+"その他のイベントによって B<SCHED_FIFO> ポリシーでスケジューリングされるスレッ"
+"ドが同じ優先度の実行可能なスレッドの待ちリストの中を移動することはない。"
 
 #. 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)"
-
-#. type: TH
-#: build/C/man2/unshare.2:20
-#, no-wrap
-msgid "UNSHARE"
-msgstr "UNSHARE"
+#: 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: TH
-#: build/C/man2/unshare.2:20
+#. type: SS
+#: build/C/man7/sched.7:177
 #, no-wrap
-msgid "2013-04-17"
-msgstr "2013-04-17"
+msgid "SCHED_RR: Round-robin scheduling"
+msgstr "SCHED_RR: ラウンドロビン (round-robin) スケジューリング"
 
+#.  On Linux 2.4, the length of the RR interval is influenced
+#.  by the process nice value -- MTK
 #. type: Plain text
-#: build/C/man2/unshare.2:23
-msgid "unshare - disassociate parts of the process execution context"
-msgstr "unshare - プロセス実行コンテキストの一部を分離する"
+#: 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: Plain text
-#: build/C/man2/unshare.2:28
+#. type: SS
+#: build/C/man7/sched.7:196
 #, no-wrap
-msgid "B<int unshare(int >I<flags>B<);>\n"
-msgstr "B<int unshare(int >I<flags>B<);>\n"
-
-#. type: Plain text
-#: build/C/man2/unshare.2:36
-msgid "B<unshare>():"
-msgstr "B<unshare>():"
+msgid "SCHED_DEADLINE: Sporadic task model deadline scheduling"
+msgstr "SCHED_DEADLINE: 散発タスクモデルのデッドラインスケジューリング"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:62
+#: build/C/man7/sched.7:208
 msgid ""
-"B<unshare>()  allows a process to disassociate parts of its execution "
-"context that are currently being shared with other processes.  Part of the "
-"execution context, such as the mount namespace, is shared implicitly when a "
-"new process is created using B<fork>(2)  or B<vfork>(2), while other parts, "
-"such as virtual memory, may be shared by explicit request when creating a "
-"process using B<clone>(2)."
+"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 ""
-"B<unshare>()  を使うと、プロセスは他のプロセスと現在共有している 実行コンテキ"
-"ストの一部を分離することができる。 実行コンテキストの一部、たとえばマウント名"
-"前空間 (mount namespace)  などは、新しいプロセスを B<fork>(2)  または "
-"B<vfork>(2)  を使って生成したときに、暗黙のうちに共有される。 一方、仮想メモ"
-"ã\83ªã\81ªã\81©ã\81¯ã\80\81 B<clone>(2)  ã\82\92使ã\81£ã\81¦ã\83\97ã\83­ã\82»ã\82¹ã\82\92ç\94\9fæ\88\90ã\81\99ã\82\8bã\81¨ã\81\8dã\81«ã\80\81æ\98\8e示ç\9a\84ã\81«å\85±æ\9c\89ã\81\99ã\82\8bã\81\93"
-"とを要求できる。"
+"バージョン 3.14 以降では、 Linux はデッドラインスケジューリングポリシー "
+"(B<SCHED_DEADLINE>) が提供される。 現在のところ、 このポリシーは GEDF "
+"(Global Earliest Deadline First) を使って CBS (Constant Bandwidth Server) と"
+"の組み合わせで実装されている。 このポリシーと関連する属性の設定、取得を行うに"
+"ã\81¯ã\80\81 Linux å\9bºæ\9c\89ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83« B<sched_setattr>(2) ã\81¨ B<sched_getattr>(2) ã\82\92"
+"使用する必要がある。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:67
+#: build/C/man7/sched.7:226
 msgid ""
-"The main use of B<unshare>()  is to allow a process to control its shared "
-"execution context without creating a new process."
+"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 ""
-"B<unshare>()  の主な利用法は、プロセスが新しいプロセスを生成することなく、 共"
-"有実行コンテキストを制御することである。"
+"散発タスク (sporadic task) はジョブ列を持つタスクで、 各ジョブは期間 "
+"(period) あたり多くとも 1 回だけ有効化される。 各ジョブには I<relative "
+"deadline> (相対デッドライン) と I<computation time> (計算時間) がある。 相対"
+"デッドラインは、そのジョブがそのデッドラインより前に実行が終了すべきであるこ"
+"とを示す。 計算時間は、このジョブを実行するのに必要な CPU 時間である。 新しい"
+"ジョブを実行する必要が出てタスクが起こされる時点は I<arrival time> (到着時"
+"刻) と呼ばれる (要求時刻 (request time) や解放時刻 (release time) と呼ばれる"
+"こともある)。 I<start time> はタスクが実行を開始する時刻である。 したがっ"
+"て、 I<absolute deadline> (絶対デッドライン) は到着時刻に相対デッドラインを加"
+"算することで求められる。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:74
-msgid ""
-"The I<flags> argument is a bit mask that specifies which parts of the "
-"execution context should be unshared.  This argument is specified by ORing "
-"together zero or more of the following constants:"
-msgstr ""
-"I<flags> 引き数はビットマスクであり、 実行コンテキストのどの部分の共有を解除"
-"するかを表す。 この引き数は、以下の定数の 0 個以上の OR で指定する:"
-
-#. type: TP
-#: build/C/man2/unshare.2:74
-#, no-wrap
-msgid "B<CLONE_FILES>"
-msgstr "B<CLONE_FILES>"
+#: build/C/man7/sched.7:228
+msgid "The following diagram clarifies these terms:"
+msgstr "以下の図はこれらの用語をまとめたものである。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:82
+#: build/C/man7/sched.7:239
+#, no-wrap
 msgid ""
-"Reverse the effect of the B<clone>(2)  B<CLONE_FILES> flag.  Unshare the "
-"file descriptor table, so that the calling process no longer shares its file "
-"descriptors with any other process."
+"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 ""
-"B<clone>(2)  B<CLONE_FILES> フラグの効果を取り消す。 ファイルディスクリプタ"
-"テーブルを共有させず、 呼び出し元プロセスは他のプロセスとファイルディスクリプ"
-"タを共有しなくなる。"
-
-#. type: TP
-#: build/C/man2/unshare.2:82
-#, no-wrap
-msgid "B<CLONE_FS>"
-msgstr "B<CLONE_FS>"
+"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"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:96
+#: build/C/man7/sched.7:258
 msgid ""
-"Reverse the effect of the B<clone>(2)  B<CLONE_FS> flag.  Unshare filesystem "
-"attributes, so that the calling process no longer shares its root directory "
-"(B<chroot>(2)), current directory (B<chdir>(2)), or umask (B<umask>(2))  "
-"attributes with any other process."
+"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 ""
-"B<clone>(2)  B<CLONE_FS> フラグの効果を取り消す。ファイルシステム属性を共有さ"
-"せず、呼び出し元プロセスは、ルートディレクトリ (B<chroot>(2))、カレントディレ"
-"クトリ (B<chdir>(2))、 umask (B<umask>(2)) を他のプロセスと共有しなくなる。"
+"B<sched_setattr>(2) を使ってスレッドに B<SCHED_DEADLINE> ポリシーを設定する"
+"際、 I<Runtime>, I<Deadline>, I<Period> の 3 つのパラメーターを指定することが"
+"できる。 これらのパラメーターは必ずしも上で述べた用語に対応しているわけではな"
+"い。 よくある方法としては、 Runtime に平均計算時間 (もしくはハードリアルタイ"
+"ムタスクの場合は最悪ケースの実行時間) よりも大きな値を、 Deadline に相対デッ"
+"ドラインを、 Period にタスクの期間 (period) を設定する。 したがって、 "
+"B<SCHED_DEADLINE> スケジューリングでは、 以下のようになる。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:113
+#: build/C/man7/sched.7:269
+#, no-wrap
 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."
+"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 ""
-"このフラグは B<clone>(2) B<CLONE_NEWIPC> フラグと同じ効果を持つ。\n"
-"System\\ V IPC 名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは\n"
-"共有しない固有の System\\ V IPC 名前空間のコピーを持つ。 このフラグを指定\n"
-"すると、 B<CLONE_SYSVSEM> も暗黙のうちに指定される。 B<CLONE_NEWIPC> を\n"
-"使用するには B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
+"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"
 
+#.  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/man2/unshare.2:128
+#: build/C/man7/sched.7:289
 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."
+"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 ""
-"このフラグは B<clone>(2) B<CLONE_NEWNET> フラグと同じ効果を持つ。ネット\n"
-"ワーク名前空間を共有せず、呼び出し元プロセスは他のプロセスとは共有しな\n"
-"ã\81\84å\9bºæ\9c\89ã\81®ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯å\90\8då\89\8d空é\96\93ã\81®ã\82³ã\83\94ã\83¼ã\82\92æ\8c\81ã\81¤ã\80\82B<CLONE_NEWNET> ã\82\92使ç\94¨ã\81\99ã\82\8b\n"
-"には B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
+"3 つのデッドラインスケジューリングパラメーターは I<sched_attr> 構造体の "
+"I<sched_runtime>, I<sched_deadline>, I<sched_period> フィールドに対応する。 "
+"ã\81\93ã\82\8cã\82\89ã\81®ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81¯ã\83\8aã\83\8eç§\92å\8d\98ä½\8dã\81®å\80¤ã\81§ã\81\82ã\82\8bã\80\82 I<sched_period> ã\81« 0 ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81\9f"
+"場合 I<sched_deadline> と同じ値になる。"
 
-#. type: TP
-#: build/C/man2/unshare.2:128
+#. 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 "B<CLONE_NEWNS>"
-msgstr "B<CLONE_NEWNS>"
+msgid "    sched_runtime E<lt>= sched_deadline E<lt>= sched_period\n"
+msgstr "    sched_runtime E<lt>= sched_deadline E<lt>= sched_period\n"
 
-#.  These flag name are inconsistent:
-#.  CLONE_NEWNS does the same thing in clone(), but CLONE_VM,
-#.  CLONE_FS, and CLONE_FILES reverse the action of the clone()
-#.  flags of the same name.
+#.  See __checkparam_dl in kernel/sched/core.c
 #. type: Plain text
-#: build/C/man2/unshare.2:149
+#: build/C/man7/sched.7:303
 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."
+"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 ""
-"このフラグは B<clone>(2) B<CLONE_NEWNS> フラグと同じ効果を持つ。 マウン\n"
-"ト名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは共有しない固\n"
-"有の名前空間のコピーを持つ。 このフラグを指定すると、 B<CLONE_FS> も暗\n"
-"黙のうちに指定される。 B<CLONE_NEWNS> を使用するには B<CAP_SYS_ADMIN>\n"
-"ケーパビリティが必要である。"
+"これに加えて、 現在の実装では、 すべてのパラメーター値は少なくとも 1024 (実装"
+"の粒度である 1 マイクロ秒よりも少しだけ大きな値) で 2^63 よりも小さくなければ"
+"ならない。 これらのチェックのいずれかが失敗すると、 B<sched_setattr>(2) はエ"
+"ラー B<EINVAL> で失敗する。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:163
+#: build/C/man7/sched.7:306
 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 "
-"copy of the UTS namespace which is not shared with any other process.  Use "
-"of B<CLONE_NEWUTS> requires the B<CAP_SYS_ADMIN> capability."
+"The CBS guarantees non-interference between tasks, by throttling threads "
+"that attempt to over-run their specified Runtime."
 msgstr ""
-"このフラグは B<clone>(2) B<CLONE_NEWUTS> フラグと同じ効果を持つ。 UTS\n"
-"IPC 名前空間を共有せず、呼び出し元プロセスは他のプロセスとは共有しない\n"
-"固有の UTS IPC 名前空間のコピーを持つ。 このフラグを指定すると、\n"
-"B<CLONE_FS> も暗黙のうちに指定される。B<CLONE_NEWUTS> を使用するには\n"
-"B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
-
-#. type: TP
-#: build/C/man2/unshare.2:163
-#, no-wrap
-msgid "B<CLONE_SYSVSEM> (since Linux 2.6.26)"
-msgstr "B<CLONE_SYSVSEM> (Linux 2.6.26 以降)"
+"CBS によりタスク間の干渉がないことが保証される。 指定された Runtime を超えて"
+"実行しようとしたスレッドは絞り込まれることになる。"
 
-#.  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
-#.  (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/man7/sched.7:319
 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."
+"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 ""
-"このフラグは B<clone>(2) B<CLONE_SYSVSEM> フラグの効果を逆転させる。\n"
-"System\\ V セマフォのアンドゥ値を共有せず、呼び出し元プロセスは 他のプロ\n"
-"セスとは共有しない固有のコピーを持つ。B<CLONE_SYSVSEM> を使用するには\n"
-"B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
+"デッドラインスケジューリングの保証がきちんと機能するためには、 カーネルは "
+"B<SCHEDULING> スレッドの集合が指定された制約条件におさまらない (スケジューリ"
+"ングできない) 状況を防止しなければならない。 そのため、カーネルは "
+"B<SCHED_DEADLINE> ポリシーと属性を設定、変更する際に、受け入れチェック "
+"(admittance test) を実行する。 この受け入れチェックは、変更が実行可能かを計算"
+"し、もし実行できないようであれば B<sched_setattr>(2) はエラー B<EBUSY> で失敗"
+"する。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:207
+#: build/C/man7/sched.7:325
 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."
+"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 ""
-"I<flags> に 0 が指定された場合、 B<unshare>()  は何も行わないので、 呼び出し"
-"元プロセスの実行コンテキストは、何も変更されない。"
+"例えば、 使用率の合計が利用可能な合計 CPU 数以下である必要がある (ただし、必"
+"ずしも十分というわけではない)。 なお、 各スレッドは最大で Period あたり "
+"Runtime だけ実行されることがあるので、 そのスレッドの使用率は Runtime を "
+"Period で割ったものとなる。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:212
+#: build/C/man7/sched.7:336
 msgid ""
-"On success, zero returned.  On failure, -1 is returned and I<errno> is set "
-"to indicate the error."
+"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 ""
-"成功した場合は 0 が返される。 失敗した場合は -1 が返されて、 I<errno> にはエ"
-"ラーを示す値が設定される。"
-
-#. type: Plain text
-#: build/C/man2/unshare.2:217
-msgid "An invalid bit was specified in I<flags>."
-msgstr "I<flags> に不正なビットが指定された。"
+"スレッドが B<SCHED_DEADLINE> ポリシーに受け入れられた場合に保証を実現するた"
+"め、 B<SCHED_DEADLINE> スレッドはシステムで (ユーザーが制御可能な) 最高優先度"
+"のスレッドとなる。 いずれかの B<SCHED_DEADLINE> スレッドが実行可能であれば、 "
+"他のポリシーでスケジューリングされているスレッドはすべて横取りされる。"
 
 #. type: Plain text
-#: build/C/man2/unshare.2:221
+#: build/C/man7/sched.7:344
 msgid ""
-"Cannot allocate sufficient memory to copy parts of caller's context that "
-"need to be unshared."
+"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 ""
-"呼び出し元のコンテキストのうち共有を解除する必要がある部分をコピーするため"
-"に、 十分なメモリが確保できなかった。"
+"B<SCHED_DEADLINE> ポリシーでスケジューリングされているスレッドが B<fork>(2) "
+"を呼び出すと、 そのスレッドで reset-on-fork フラグがセットされている場合 (下"
+"記参照) を除き、 エラー B<EAGAIN> で失敗する。"
 
+#
+#.  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/man2/unshare.2:224
+#: build/C/man7/sched.7:355
 msgid ""
-"The calling process did not have the required privileges for this operation."
-msgstr "呼び出し元プロセスはこの操作を行うのに必要な特権を持っていなかった。"
-
-#. type: Plain text
-#: build/C/man2/unshare.2:228
-msgid "The B<unshare>()  system call was added to Linux in kernel 2.6.16."
-msgstr "B<unshare>()  システムコールは Linux カーネル 2.6.16 で追加された。"
+"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 ""
+"B<SCHED_DEADLINE> スレッドが B<sched_yield>(2) を呼び出すと、 現在のジョブが "
+"CPU を明け渡し、新しい期間が開始するのを待つ。"
 
-#. type: Plain text
-#: build/C/man2/unshare.2:232
-msgid "The B<unshare>()  system call is Linux-specific."
-msgstr "B<unshare>()  システムコールは Linux 固有である。"
+#. type: SS
+#: build/C/man7/sched.7:355
+#, no-wrap
+msgid "SCHED_OTHER: Default Linux time-sharing scheduling"
+msgstr "SCHED_OTHER: Linux のデフォルトの時分割スケジューリング"
 
-#.  FIXME all of the following needs to be reviewed for the current kernel
-#.  However, we can do unshare(CLONE_SIGHAND) if CLONE_SIGHAND
-#.  was not specified when doing clone(); i.e., unsharing
-#.  signal handlers is permitted if we are not actually
-#.  sharing signal handlers.   mtk
-#.  However, we can do unshare(CLONE_VM) if CLONE_VM
-#.  was not specified when doing clone(); i.e., unsharing
-#.  virtual memory is permitted if we are not actually
-#.  sharing virtual memory.   mtk
-#. 9) Future Work
-#. --------------
-#. The current implementation of unshare does not allow unsharing of
-#. signals and signal handlers. Signals are complex to begin with and
-#. to unshare signals and/or signal handlers of a currently running
-#. process is even more complex. If in the future there is a specific
-#. need to allow unsharing of signals and/or signal handlers, it can
-#. be incrementally added to unshare without affecting legacy
-#. applications using unshare.
 #. type: Plain text
-#: build/C/man2/unshare.2:266
+#: build/C/man7/sched.7:372
 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 "
-"particular, as at kernel 3.8, B<unshare>()  does not implement flags that "
-"reverse the effects of B<CLONE_SIGHAND>, B<CLONE_THREAD>, or B<CLONE_VM>.  "
-"Such functionality may be added in the future, if required."
+"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<clone>(2)  で新しいプロセスを生成したときに共有される全てのプロセス属性"
-"を、 B<unshare>()  によって共有の解除ができるわけではない。 特に、カーネル "
-"3.8 時点では、 B<unshare>()  に B<CLONE_SIGHAND>, B<CLONE_THREAD>, "
-"B<CLONE_VM> の効果を取り消すためのフラグが実装されていない。 これらの機能は、"
-"必要であれば将来追加されるかもしれない。"
+"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: 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)"
+#. type: SS
+#: build/C/man7/sched.7:372
+#, no-wrap
+msgid "SCHED_BATCH: Scheduling batch processes"
+msgstr "SCHED_BATCH: バッチプロセスのスケジューリング"
 
 #. 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>"
-
-#. type: TH
-#: build/C/man7/sched.7:32
-#, fuzzy, no-wrap
-#| msgid "B<SCHED_RR>"
-msgid "SCHED"
-msgstr "B<SCHED_RR>"
+#: 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:35
-msgid "sched - overview of scheduling APIs"
+#: 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:36
+#: build/C/man7/sched.7:394
 #, no-wrap
-msgid "API summary"
-msgstr ""
+msgid "SCHED_IDLE: Scheduling very low priority jobs"
+msgstr "SCHED_IDLE: 非常に優先度の低いジョブのスケジューリング"
 
 #. type: Plain text
-#: build/C/man7/sched.7:38
-msgid "The Linux scheduling APIs are as follows:"
+#: 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 ""
-
-#. type: TP
-#: build/C/man7/sched.7:38
-#, fuzzy, no-wrap
-#| msgid "B<sched_getcpu>():"
-msgid "B<sched_setscheduler>(2)"
-msgstr "B<sched_getcpu>():"
+"(Linux 2.6.23 以降)  B<SCHED_IDLE> は静的優先度 0 でのみ使用できる。 このポリ"
+"シーではプロセスの nice 値はスケジューリングに影響を与えない。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:41
-msgid "Set the scheduling policy and parameters of a specified thread."
+#: 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: TP
-#: build/C/man7/sched.7:41
-#, fuzzy, no-wrap
-#| msgid "B<sched_getcpu>():"
-msgid "B<sched_getscheduler>(2)"
-msgstr "B<sched_getcpu>():"
-
-#. type: Plain text
-#: build/C/man7/sched.7:44
-#, fuzzy
-#| msgid "Resetting scheduling policy for child processes"
-msgid "Return the scheduling policy of a specified thread."
+#. type: SS
+#: build/C/man7/sched.7:406
+#, no-wrap
+msgid "Resetting scheduling policy for child processes"
 msgstr "子プロセスでのスケジューリングポリシーのリセット"
 
-#. type: TP
-#: build/C/man7/sched.7:44
-#, fuzzy, no-wrap
-#| msgid "B<sched_getcpu>():"
-msgid "B<sched_setparam>(2)"
-msgstr "B<sched_getcpu>():"
-
 #. type: Plain text
-#: build/C/man7/sched.7:47
-msgid "Set the scheduling parameters of a specified thread."
+#: 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: TP
-#: build/C/man7/sched.7:47
-#, fuzzy, no-wrap
-#| msgid "B<sched_getcpu>():"
-msgid "B<sched_getparam>(2)"
-msgstr "B<sched_getcpu>():"
+"各スレッドには reset-on-fork スケジューリングフラグがある。 このフラグがセッ"
+"トされると、 B<fork>(2) で作成される子プロセスは特権スケジューリングポリシー"
+"を継承しない。 reset-on-fork フラグは以下のいずれかの方法でセットできる。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:50
-msgid "Fetch the scheduling parameters of a specified thread."
+#: build/C/man7/sched.7:421
+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 ""
-
-#. type: TP
-#: build/C/man7/sched.7:50
-#, fuzzy, no-wrap
-#| msgid "B<int sched_get_priority_max(int >I<policy>B<);>"
-msgid "B<sched_get_priority_max>(2)"
-msgstr "B<int sched_get_priority_max(int >I<policy>B<);>"
-
-#. 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
-#, fuzzy, no-wrap
-#| msgid "B<int sched_get_priority_min(int >I<policy>B<);>"
-msgid "B<sched_get_priority_min>(2)"
-msgstr "B<int sched_get_priority_min(int >I<policy>B<);>"
+"B<sched_setscheduler>(2) を呼び出す際に B<SCHED_RESET_ON_FORK> フラグを "
+"I<policy> 引き数に論理和で指定する (Linux 2.6.32 以降)。"
 
 #. 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
-#, fuzzy, no-wrap
-#| msgid "B<sched_getcpu>():"
-msgid "B<sched_rr_get_interval>(2)"
-msgstr "B<sched_getcpu>():"
+#: 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 ""
+"B<sched_setattr>(2) を呼び出し際に I<attr.sched_flags> に "
+"B<SCHED_FLAG_RESET_ON_FORK> フラグを指定する。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:60
+#: build/C/man7/sched.7:434
 msgid ""
-"Fetch the quantum used for threads that are scheduled under the \"round-robin"
-"\" scheduling policy."
+"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: TP
-#: build/C/man7/sched.7:60
-#, fuzzy, no-wrap
-#| msgid "B<int sched_yield(void);>"
-msgid "B<sched_yield>(2)"
-msgstr "B<int sched_yield(void);>"
+"これらの 2 つの API で使用される定数は名前が違っている点に注意すること。 同様"
+"に reset-on-fork フラグの状態は B<sched_getscheduler>(2) と "
+"B<sched_getattr>(2) を使って取得できる。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:64
+#: build/C/man7/sched.7:441
 msgid ""
-"Cause the caller to relinquish the CPU, so that some other thread be "
-"executed."
+"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: TP
-#: build/C/man7/sched.7:64
-#, fuzzy, no-wrap
-#| msgid "B<sched_getcpu>():"
-msgid "B<sched_setaffinity>(2)"
-msgstr "B<sched_getcpu>():"
+"reset-on-fork 機能はメディア再生アプリケーションでの利用を意図したものであ"
+"る。 複数の子プロセスを作成することで、 アプリケーションは B<RLIMIT_RTTIME> "
+"リソース上限 (B<getrlimit>(2) を参照) を避けることができる。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:68
-msgid "(Linux-specific)  Set the CPU affinity of a specified thread."
+#: 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 ""
-
-#. type: TP
-#: build/C/man7/sched.7:68
-#, fuzzy, no-wrap
-#| msgid "B<sched_getcpu>():"
-msgid "B<sched_getaffinity>(2)"
-msgstr "B<sched_getcpu>():"
+"より正確には、 reset-on-fork フラグがセットされた場合、それ以降に作成される子"
+"プロセスに以下のルールが適用される。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:72
-msgid "(Linux-specific)  Get the CPU affinity of a specified thread."
+#: 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 ""
-
-#. type: TP
-#: build/C/man7/sched.7:72
-#, fuzzy, no-wrap
-#| msgid "B<sched_getcpu>():"
-msgid "B<sched_setattr>(2)"
-msgstr "B<sched_getcpu>():"
+"呼び出したスレッドのスケジューリングポリシーが B<SCHED_FIFO> か B<SCHED_RR> "
+"の場合、子プロセスのポリシーは B<SCHED_OTHER> にリセットされる。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:79
+#: build/C/man7/sched.7:455
 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)."
+"If the calling process has a negative nice value, the nice value is reset to "
+"zero in child processes."
 msgstr ""
-
-#. type: TP
-#: build/C/man7/sched.7:79
-#, fuzzy, no-wrap
-#| msgid "B<sched_getcpu>():"
-msgid "B<sched_getattr>(2)"
-msgstr "B<sched_getcpu>():"
+"子プロセスが負の nice 値を持っている場合、子プロセスの nice 値は 0 にリセット"
+"される。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:87
+#: build/C/man7/sched.7:463
 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)."
+"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: SS
-#: build/C/man7/sched.7:87
+#: build/C/man7/sched.7:463
 #, no-wrap
-msgid "Scheduling policies"
-msgstr "スケジューリングポリシー (scheduling policy)"
+msgid "Privileges and resource limits"
+msgstr "特権とリソース制限"
 
 #. type: Plain text
-#: build/C/man7/sched.7:95
-#, fuzzy
-#| 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."
+#: build/C/man7/sched.7:475
 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."
+"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 ""
-"スケジューラ (scheduler) とはカーネルの構成要素で、 次に CPU で実行される実行"
-"可能なスレッドを決定するものである。 各々のスレッドには、スケジューリングポリ"
-"シーと 「静的」なスケジューリング優先度 I<sched_priority> が対応付けられ、 こ"
-"れらの設定は B<sched_setscheduler>()  で変更できる。 スケジューラは、システム"
-"上の全スレッドのスケジューリングポリシーと 静的優先度に関する知識に基づいて決"
-"定を行う。"
+"2.6.12 より前のバージョンの Linux カーネルでは、 特権スレッド "
+"(B<CAP_SYS_NICE> ケーパビリティを持つスレッド) だけが 0 以外の静的優先度を設"
+"定する (すなわち、リアルタイムスケジューリングポリシーを設定する) ことができ"
+"る。 非特権スレッドができる変更は B<SCHED_OTHER> ポリシーを設定することだけで"
+"あり、さらに、 この変更を行えるのは、 呼び出し元の実効ユーザー ID がポリシー"
+"の変更対象スレッド (I<pid> で指定されたスレッド) の実ユーザー ID か実効ユー"
+"ザー ID と 一致する場合だけである。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:100
+#: build/C/man7/sched.7:481
 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)."
+"A thread must be privileged (B<CAP_SYS_NICE>)  in order to set or modify a "
+"B<SCHED_DEADLINE> policy."
 msgstr ""
-"通常のスケジューリングポリシー (B<SCHED_OTHER>, B<SCHED_IDLE>, "
-"B<SCHED_BATCH>)  の下でスケジューリングされるスレッドでは、 "
-"I<sched_priority> はスケジューリングの決定に使用されない (I<sched_priority> "
-"には 0 を指定しなければならない)。"
+"B<SCHED_DEADLINE> ポリシーを設定、変更するには、スレッドが特権 "
+"(B<CAP_SYS_NICE>) を持っていなければならない。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:114
+#: build/C/man7/sched.7:491
 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."
+"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 ""
-"リアルタイムスケジューリングポリシー (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)  を使っ"
-"て、あるポリシーがサポートする優先度の範囲を調べるべきである。"
+"Linux 2.6.12 以降では、リソース制限 B<RLIMIT_RTPRIO> が定義されており、 スケ"
+"ジューリングポリシーが B<SCHED_RR> と B<SCHED_FIFO> の場合の、非特権スレッド"
+"の静的優先度の上限を定めている。 スケジューリングポリシーと優先度を変更する際"
+"のルールは以下の通りである。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:120
+#: build/C/man7/sched.7:499
 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."
+"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 ""
-"概念としては、 スケジューラはその I<sched_priority> の値それぞれに対して 実行"
-"å\8f¯è\83½ã\81ªã\82¹ã\83¬ã\83\83ã\83\89ã\81®ã\83ªã\82¹ã\83\88ã\82\92管ç\90\86ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82 ã\81©ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\82\92次ã\81«å®\9fè¡\8cã\81\99ã\82\8bã\81\8bã\82\92決å®\9aã\81\99ã\82\8b"
-"ã\81\9fã\82\81ã\81«ã\80\81 ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83©ã\81¯é\9d\99ç\9a\84å\84ªå\85\88度ã\81®æ\9c\80ã\82\82é«\98ã\81\84空ã\81§ã\81ªã\81\84ã\83ªã\82¹ã\83\88ã\82\92æ\8e¢ã\81\97ã\81¦ã\80\81 ã\81\9dã\81®ã\83ªã\82¹"
-"トの先頭のスレッドを選択する。"
+"非特権スレッドに 0 以外の B<RLIMIT_RTPRIO> ソフトリミットが設定されている場"
+"å\90\88ã\80\81 é\9d\9eç\89¹æ¨©ã\82¹ã\83¬ã\83\83ã\83\89ã\81¯ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81®ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83\9dã\83ªã\82·ã\83¼ã\81¨å\84ªå\85\88度ã\82\92 å¤\89æ\9b´ã\81§"
+"ã\81\8dã\82\8bã\81\8cã\80\81å\84ªå\85\88度ã\82\92ç\8f¾å\9c¨ã\81®è\87ªèº«ã\81®å\84ªå\85\88度ã\81¨ B<RLIMIT_RTPRIO> ã\82½ã\83\95ã\83\88ã\83ªã\83\9fã\83\83ã\83\88ã\81®å¤§ã\81\8dã\81\84"
+"方よりも高い値に設定できないという制限が課される。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:124
+#: build/C/man7/sched.7:504
 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."
+"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 の場合、優先度を下げるか、 リアルタイムで"
+"ないポリシーへ切り替えるかの変更だけが許可される。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:132
+#: build/C/man7/sched.7:509
 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."
+"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 ""
-"全てのスケジューリングはプリエンプティブ (preemptive) である: より高い優先度"
-"のスレッドが実行可能になると、現在実行中のスレッドは実行権を 取り上げられ "
-"(preempted)、そのスレッドの静的優先度レベルの待ちリストに 戻される。スケ"
-"ジューリングポリシーは同じ静的優先度を持つ実行可能な スレッドのリストの中で順"
-"番のみを決定する。"
-
-#. type: SS
-#: build/C/man7/sched.7:132
-#, no-wrap
-msgid "SCHED_FIFO: First in-first out scheduling"
-msgstr "SCHED_FIFO: ファーストインファーストアウトスケジューリング"
+"ある非特権スレッドが別のスレッドに対してこれらの変更を行う際にも、 同じルール"
+"が適用される。変更を行えるのは、変更を行おうとするスレッド の実効ユーザー ID "
+"が変更対象のスレッドの実ユーザー ID か実効ユーザー ID と 一致している場合に限"
+"られる。"
 
+#.  commit c02aa73b1d18e43cfd79c2f193b225e84ca497c8
 #. type: Plain text
-#: build/C/man7/sched.7:141
+#: build/C/man7/sched.7:528
 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:"
+"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_FIFO> は 0 より大きな静的優先度でのみ使用できる。このポリシーでは、 "
-"B<SCHED_FIFO> スレッドが実行可能になった場合、 そのポリシーが "
-"B<SCHED_OTHER>、 B<SCHED_BATCH>、 B<SCHED_IDLE> の 現在実行中のスレッドは直ち"
-"に実行権を取り上げられる。 B<SCHED_FIFO> は時分割のない単純なスケジューリング"
-"アルゴリズムである。 B<SCHED_FIFO> ポリシーでスケジューリングされているスレッ"
-"ドには以下の ルールが適用される:"
+"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: 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:413 build/C/man7/sched.7:422
-#: build/C/man7/sched.7:445 build/C/man7/sched.7:453 build/C/man7/sched.7:492
-#: build/C/man7/sched.7:500 build/C/man7/sched.7:505 build/C/man7/sched.7:510
+#. type: Plain text
+#: 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 "*"
-msgstr "*"
+msgid "Limiting the CPU usage of real-time and deadline processes"
+msgstr "リアルタイムプロセスとデッドラインプロセスの CPU 使用量を制限する"
 
 #. type: Plain text
-#: build/C/man7/sched.7:146
+#: build/C/man7/sched.7:552
 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."
+"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> スレッドは"
-"その優先度のリストの先頭に留まり続け、 より高い優先度のスレッド全てが停止 "
-"(block) した場合に実行を再開する。"
+"B<SCHED_FIFO>, B<SCHED_RR>, B<SCHED_DEADLINE> でスケジューリングされる スレッ"
+"ドが停止せずに無限ループに陥ると、 他の全てのより低い優先度のスレッドを永久に"
+"停止 (block) させてしまう。 Linux 2.6.25 より前では、 リアルタイムプロセスが"
+"暴走してしまい、システムが止まってしまうのを防止する唯一の方法は、 (コンソー"
+"ルで) シェルをテスト対象のアプリケーションよりも高い静的優先度で実行すること"
+"だけであった。 これによって期待通りに停止したり終了したりしないリアルタイム "
+"アプリケーションを緊急終了させることが可能になる。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:149
+#: build/C/man7/sched.7:562
 msgid ""
-"When a B<SCHED_FIFO> thread becomes runnable, it will be inserted at the end "
-"of the list for its priority."
+"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 ""
-"B<SCHED_FIFO> スレッドが実行可能になった時、その優先度のリストの最後 に挿入さ"
-"れる。"
+"Linux 2.6.25 以降では、 暴走したリアルタイムプロセスやデッドラインプロセスを"
+"扱う別の方法が提供されている。 一つは B<RLIMIT_RTTIME> リソース上限を使ってリ"
+"アルタイムプロセスが消費できる CPU 時間の上限を設定する方法である。 詳細は "
+"B<getrlimit>(2) を参照。"
 
-#.  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
-#, fuzzy
-#| 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.)"
+#: build/C/man7/sched.7:570
 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.)"
+"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 ""
-"B<sched_setscheduler>()  や B<sched_setparam>(2)  は I<pid> で指定された "
-"B<SCHED_FIFO> (または B<SCHED_RR>) スレッドが 実行可能な場合、リストの最初に"
-"置く。 結果として、もし優先度が同じだった場合、 現在実行中のスレッドに先んじ"
-"るかもしれない。 (POSIX.1-2001 ではスレッドはリストの最後に行くべきと規定され"
-"ている。)"
+"Linux 2.6.25 以降では、 2 つの I</proc> ファイルを使って、リアルタイムでない"
+"プロセスが使用できる CPU 時間を一定量予約することができる。 この方法で CPU 時"
+"間をいくらか予約しておくことで、 CPU 時間が (例えば) root シェルに割り当てら"
+"れ、このシェルから暴走したプロセスを殺すことができる。 これらのファイルでは両"
+"方ともマイクロ秒で時間を指定する。"
+
+#. type: TP
+#: build/C/man7/sched.7:570
+#, no-wrap
+msgid "I</proc/sys/kernel/sched_rt_period_us>"
+msgstr "I</proc/sys/kernel/sched_rt_period_us>"
 
 #. 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)  を呼び出したスレッドはリストの最後に置かれる。"
+#: build/C/man7/sched.7:578
+msgid ""
+"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 ""
+"このファイルは、 CPU 時間 100% にあたるスケジューリング間隔を指定する。 この"
+"ファイルの値として 1 から B<INT_MAX> を指定できる。 この値は実際の時間として"
+"は 1 マイクロ秒から約 35 分に相当する。 このファイルのデフォルト値は "
+"1,000,000 (1 秒) である。"
+
+#. type: TP
+#: build/C/man7/sched.7:578
+#, no-wrap
+msgid "I</proc/sys/kernel/sched_rt_runtime_us>"
+msgstr "I</proc/sys/kernel/sched_rt_runtime_us>"
 
 #. type: Plain text
-#: build/C/man7/sched.7:172
+#: build/C/man7/sched.7:591
 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."
+"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 ""
-"その他のイベントによって B<SCHED_FIFO> ポリシーでスケジューリングされるスレッ"
-"ドが同じ優先度の実行可能なスレッドの待ちリストの中を移動することはない。"
+"このファイルの値は、 システム上のリアルタイムスケジューリングやデッドラインス"
+"ケジューリングの全プロセスが使用できる「期間」を指定する。 このファイルの値と"
+"して -1 から B<INT_MAX>-1 を指定できる。 -1 を指定すると、実行時間 (runtime) "
+"はスケジューリング間隔 (period) と同じになる。 つまり、 CPU 時間はリアルタイ"
+"ムでないプロセスには確保されない (カーネル 2.6.25 より前の Linux の動作であ"
+"る)。 このファイルのデフォルト値は 950,000 (0.95 秒) である。 これは CPU 時間"
+"の 5% がリアルタイムやデッドラインスケジューリングポリシー以外で動作するプロ"
+"セスに確保されるという意味する。"
+
+#. 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/man7/sched.7:177
+#: build/C/man7/sched.7:600
 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)."
+"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 ""
-"B<SCHED_FIFO> スレッドは I/O 要求によって停止するか、 より高い優先度のスレッ"
-"ドによって置きかえられるか、 B<sched_yield>(2)  を呼び出すまで実行を続ける。"
+"I/O 待ちで停止したより高い優先度のスレッドは再びスケジューリングされる 前にい"
+"くらかの応答時間がかかる。デバイスドライバーを書く場合には \"slow interrupt"
+"\" 割り込みハンドラーを使用することで この応答時間を劇的に減少させることがで"
+"きる。"
 
 #. type: SS
-#: build/C/man7/sched.7:177
+#: build/C/man7/sched.7:600
 #, no-wrap
-msgid "SCHED_RR: Round-robin scheduling"
-msgstr "SCHED_RR: ラウンドロビン (round-robin)スケジューリング"
+msgid "Miscellaneous"
+msgstr "その他"
 
-#.  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
+#: build/C/man7/sched.7:605
 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)."
+"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<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) を使って取得できる。"
+"子プロセスは B<fork>(2)  の際に親プロセスのスケジューリングポリシーとパラメー"
+"ターを継承する。 B<execve>(2)  の前後で、スケジューリングポリシーとパラメー"
+"ターは保持される。"
+
+#. type: Plain text
+#: build/C/man7/sched.7:611
+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)."
+msgstr ""
+"リアルタイムプロセスは大抵、ページングの待ち時間を避けるために B<mlock>(2)  "
+"や B<mlockall>(2)  を使ってメモリーロックをしなければならない。"
+
+#. type: Plain text
+#: 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: SS
-#: build/C/man7/sched.7:196
+#: build/C/man7/sched.7:622
 #, no-wrap
-msgid "SCHED_DEADLINE: Sporadic task model deadline scheduling"
+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/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/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/man7/sched.7:646
+msgid ""
+"and can be downloaded from E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/"
+"kernel\\:/projects\\:/rt/> E<.UE .>"
+msgstr ""
+"という名前で、 E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/kernel\\:/"
+"projects\\:/rt/> E<.UE> からダウンロードできる。"
+
+#. type: Plain text
+#: build/C/man7/sched.7:655
+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) だけが提供される。 これらのクラスでは、最悪の場合"
+"のスケジューリング遅延がそれぞれ 全く減らない、いくらか減る、かなり減る。"
+
+#. type: Plain text
+#: 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/man7/sched.7:691
+msgid ""
+"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<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/man7/sched.7:695
+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."
+
+#. type: Plain text
+#: build/C/man7/sched.7:702
+msgid ""
+"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 ""
+"Linux カーネルソースのファイル I<Documentation/scheduler/sched-deadline."
+"txt>, I<Documentation/scheduler/sched-rt-group.txt>, I<Documentation/"
+"scheduler/sched-design-CFS.txt>, I<Documentation/scheduler/sched-nice-design."
+"txt>"
+
+#. type: TH
+#: build/C/man2/setns.2:8
+#, no-wrap
+msgid "SETNS"
+msgstr "SETNS"
+
+#. type: TH
+#: build/C/man2/setns.2:8
+#, no-wrap
+msgid "2015-01-10"
+msgstr "2015-01-10"
+
+#. type: Plain text
+#: build/C/man2/setns.2:11
+msgid "setns - reassociate thread with a namespace"
+msgstr "setns - スレッドに名前空間を関連付けしなおす"
+
+#. type: Plain text
+#: build/C/man2/setns.2:17
+#, no-wrap
+msgid "B<int setns(int >I<fd>B<, int >I<nstype>B<);>\n"
+msgstr "B<int setns(int >I<fd>B<, int >I<nstype>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/setns.2:21
+msgid ""
+"Given a file descriptor referring to a namespace, reassociate the calling "
+"thread with that namespace."
+msgstr ""
+"名前空間を参照するファイルディスクリプターを指定すると、\n"
+"呼び出したスレッドにその名前空間を関連付けしなおす。"
+
+#. type: Plain text
+#: 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<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<namespaces>(7) を参照。\n"
+"I<nstype> 引き数で指定された制限の範囲内で、\n"
+"呼び出したスレッドに I<fd> に対応する名前空間を関連付けしなおす。"
+
+#. type: Plain text
+#: build/C/man2/setns.2:40
+msgid ""
+"The I<nstype> argument specifies which type of namespace the calling thread "
+"may be reassociated with.  This argument can have one of the following "
+"values:"
+msgstr ""
+"I<nstype> 引き数は、呼び出したスレッドがどのタイプの名前空間を\n"
+"関連付けしなおすことができるかを指定する。\n"
+"この引き数には以下のいずれかの値を指定できる。"
+
+#. type: TP
+#: build/C/man2/setns.2:40
+#, no-wrap
+msgid "B<0>"
+msgstr "B<0>"
+
+#. type: Plain text
+#: build/C/man2/setns.2:43
+msgid "Allow any type of namespace to be joined."
+msgstr "どのタイプの名前空間も関連付けることができる。"
+
+#. type: TP
+#: build/C/man2/setns.2:43
+#, no-wrap
+msgid "B<CLONE_NEWIPC> (since Linux 3.0)"
+msgstr "B<CLONE_NEWIPC> (Linux 3.0 以降)"
+
+#. type: Plain text
+#: build/C/man2/setns.2:47
+msgid "I<fd> must refer to an IPC namespace."
+msgstr "I<fd> は IPC 名前空間を参照していなければならない。"
+
+#. type: TP
+#: build/C/man2/setns.2:47
+#, no-wrap
+msgid "B<CLONE_NEWNET> (since Linux 3.0)"
+msgstr "B<CLONE_NEWNET> (Linux 3.0 以降)"
+
+#. type: Plain text
+#: build/C/man2/setns.2:51
+msgid "I<fd> must refer to a network namespace."
+msgstr "I<fd> はネットワーク名前空間を参照していなければならない。"
+
+#. type: TP
+#: build/C/man2/setns.2:51
+#, no-wrap
+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 descendant 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: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 "
+"for I<nstype> is useful if the caller does not know what type of namespace "
+"is referred to by I<fd> and wants to ensure that the namespace is of a "
+"particular type.  (The caller might not know the type of the namespace "
+"referred to by I<fd> if the file descriptor was opened by another process "
+"and, for example, passed to the caller via a UNIX domain socket.)"
+msgstr ""
+"呼び出し側が I<fd> がどのタイプの名前空間を参照しているかを知っている\n"
+"(もしくは気にする必要がない) 場合には、 I<nstype> に 0 を指定すれば十分\n"
+"である。呼び出し側が I<fd> がどのタイプの名前空間を参照しているかを\n"
+"知っておらず、かつ、特定のタイプの名前空間であることを保証したい場合、\n"
+"I<nstype> に 0 以外の値を指定するとよい。 (ファイルディスクリプターが別の\n"
+"プロセスによりオープンされ、例えば、UNIX ドメインソケット経由で呼び出し\n"
+"側に渡された場合などでは、呼び出し側が I<fd> がどのタイプの名前空間を\n"
+"参照しているかを知らない可能性がある。)"
+
+#. type: Plain text
+#: build/C/man2/setns.2:97
+#, fuzzy
+#| 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)."
+msgid ""
+"B<CLONE_NEWPID> behaves somewhat differently from the other I<nstype> "
+"values: reassociating the calling thread with a PID namespace changes only "
+"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 allowed only 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 ""
+"B<CLONE_NEWPID> は他の I<nstype> 値の場合と少し違った動作をする。 呼び出し元"
+"スレッドを PID 名前空間に関連付けし直すと、 呼び出し元の子プロセスが作成され"
+"る PID 名前空間が変更されるだけである。 呼び出し元自身の PID 名前空間は変更さ"
+"れない。 PID 名前空間を関連付けし直すことができるのは、 I<fd> で指定された "
+"PID 名前空間が呼び出し元の PID 名前空間の子孫 (子プロセス、孫プロセスなど) の"
+"場合だけである。 PID 名前空間の詳細は B<pid_namespaces>(7) を参照。"
+
+#.  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 ""
+"プロセスが自分自身をユーザー名前空間に再関連付けするには、 そのプロセスは変更"
+"後のユーザー名前空間において B<CAP_SYS_ADMIN> ケーパビリティを持っていなけれ"
+"ばならない。 ユーザー名前空間への参加に成功すると、 そのユーザー ID やグルー"
+"プ ID に関わらず、 プロセスにはその名前空間におけるすべてのケーパビリティが認"
+"められる。 マルチスレッドのプロセスは B<setns>() でユーザー名前空間を変更でき"
+"ない。 B<setns>() を使って、呼び出し元が現在のユーザー名前空間に再度入ること"
+"は認められていない。 これにより、 いくつかのケーパビリティを外した呼び出し元"
+"が B<setns>() を呼び出すことでそれらのケーパビリティを再度得ることを防ぐこと"
+"ができる。 セキュリティ上の理由から、 ファイルシステム関連の属性 (共有が "
+"B<clone>(2) B<CLONE_FS> フラグで制御される属性) を別のプロセスと共有している"
+"場合、 プロセスは新しいユーザー名前空間に参加できない。 ユーザー名前空間の詳"
+"細は B<user_namespaces>(7) を参照。"
+
+#.  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 ""
+"プロセスがマルチスレッドの場合、そのプロセスを新しいマウント名前空間に関連付"
+"けし直すことは許可されていない。 マウント名前空間を変更するには、呼び出し元の"
+"プロセスが、 自分自身のユーザー名前空間において B<CAP_SYS_CHROOT> と "
+"B<CAP_SYS_ADMIN> の両方のケーパビリティを持っており、 変更後のマウント名前空"
+"間で B<CAP_SYS_ADMIN> ケーパビリティを持っていなければならない。 ユーザー名前"
+"空間とマウント名前空間の関係の詳細は B<user_namespaces>(7) を参照。"
+
+#. type: Plain text
+#: build/C/man2/setns.2:145
+msgid ""
+"On success, B<setns>()  returns 0.  On failure, -1 is returned and I<errno> "
+"is set to indicate the error."
+msgstr ""
+"成功すると B<setns>() は 0 を返す。 失敗すると、 -1 が返され、 I<errno> にエ"
+"ラーを示す値が設定される。"
 
 #. 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 ""
+#: build/C/man2/setns.2:150
+msgid "I<fd> is not a valid file descriptor."
+msgstr "I<fd> が有効なファイルディスクリプターではない。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:226
+#: build/C/man2/setns.2:155
 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."
+"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/man7/sched.7:228
-msgid "The following diagram clarifies these terms:"
-msgstr ""
+#: build/C/man2/setns.2:159
+msgid ""
+"There is problem with reassociating the thread with the specified namespace."
+msgstr "スレッドを指定された名前空間に関連付けし直す際に問題が発生した。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:239
-#, no-wrap
+#: build/C/man2/setns.2:164
 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 ""
+"The caller tried to join an ancestor (parent, grandparent, etc...)  pid "
+"namespace."
+msgstr "呼び出し元が先祖 (親や親の親など) の PID 名前空間に参加しようとした。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:258
+#: build/C/man2/setns.2:168
 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 ""
+"The caller attempted to join the user namespace in which it is already a "
+"member."
+msgstr "自分がすでにメンバーとなっているユーザー名前空間に参加しようとした。"
 
+#.  commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71
 #. type: Plain text
-#: build/C/man7/sched.7:269
-#, no-wrap
+#: build/C/man2/setns.2:175
 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"
+"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 ""
+"呼び出し元が他のプロセスとファイルシステム状態 (特に root ディレクトリ) を共"
+"有していて (B<CLONE_FS>)、 新しいユーザー名前空間に参加しようとした。"
 
-#.  FIXME It looks as though specifying sched_period as 0 means
-#.        "make sched_period the same as sched_deadline", right?
-#.        This needs to be documented.
+#.  See kernel/user_namespace.c::userns_install() [kernel 3.15 sources]
 #. 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>."
+#: build/C/man2/setns.2:179
+msgid "The caller is multithreaded and tried to join a new user namespace."
 msgstr ""
+"呼び出し元プロセスがマルチスレッドで、新しいユーザー名前空間に参加しようとし"
+"た。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:291
-msgid "The kernel requires that:"
-msgstr ""
+#: build/C/man2/setns.2:182
+msgid "Cannot allocate sufficient memory to change the specified namespace."
+msgstr "指定された名前空間に変更するのに必要なメモリーが割り当てられない。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:293
-#, no-wrap
-msgid "    sched_runtime E<lt>= sched_deadline E<lt>= sched_period\n"
+#: build/C/man2/setns.2:186
+msgid ""
+"The calling thread did not have the required capability for this operation."
 msgstr ""
+"呼び出し元スレッドはこの操作を行うのに必要なケーパビリティを持っていなかっ"
+"た。"
 
-#.  See __checkparam_dl in kernel/sched/core.c
 #. type: Plain text
-#: build/C/man7/sched.7:303
+#: build/C/man2/setns.2:191
 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>."
+"The B<setns>()  system call first appeared in Linux in kernel 3.0; library "
+"support was added to glibc in version 2.14."
 msgstr ""
+"B<setns>() システムコールはカーネル 3.0 で Linux に初めて登場した。\n"
+"ライブラリによるサポートは glibc バージョン 2.14 を追加された。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:306
+#: build/C/man2/setns.2:195
+msgid "The B<setns>()  system call is Linux-specific."
+msgstr "B<setns>() システムコールは Linux 固有である。"
+
+#. type: Plain text
+#: build/C/man2/setns.2:201
 msgid ""
-"The CBS guarantees non-interference between tasks, by throttling threads "
-"that attempt to over-run their specified Runtime."
+"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>()."
 msgstr ""
+"新しいスレッドが B<clone>(2) を使って作成された際に共有できる全ての属性を、\n"
+"B<setns>() を使って変更できるわけではない。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:319
+#: build/C/man2/setns.2:210
 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>."
+"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/> "
+"directory.  The remaining arguments specify a command and its arguments.  "
+"The program opens the namespace file, joins that namespace using B<setns>(), "
+"and executes the specified command inside that namespace."
 msgstr ""
+"以下のプログラムは 2 つ以上の引き数を取る。 最初の引き数には、 既存の I</"
+"proc/[pid]/ns/> ディレクトリの名前空間ファイルのパス名を指定する。 残りの引き"
+"数は、コマンドとその引き数を指定する。 このプログラムは名前空間ファイルをオー"
+"プンし、 B<setns>() を使って名前空間に参加し、 指定されたコマンドをその名前空"
+"間内で実行する。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:325
+#: build/C/man2/setns.2:220
 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."
+"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> "
+"example program in the B<clone>(2)  man page (complied as a binary named "
+"I<newuts>)."
 msgstr ""
+"以下のシェルセッションでは、 このプログラム (I<ns_exec> という名前のバイナリ"
+"としてコンパイルされている)を、 B<clone>(2) のマニュアルページの "
+"B<CLONE_NEWUTS> のサンプルプログラムと組み合わせて使っている。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:336
+#: build/C/man2/setns.2:228
 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."
+"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 "
+"child changes the hostname in its namespace, and then both processes display "
+"the hostnames in their UTS namespaces, so that we can see that they are "
+"different."
 msgstr ""
+"まず、 B<clone>(2) のサンプルプログラムをバックグラウンドで実行する。 このプ"
+"ログラムは、 別の UTS 名前空間で子プロセスを作成する。 子プロセスは自分の名前"
+"空間内でホスト名を変更する。 それから、 親プロセスと子プロセスの両方でそれぞ"
+"れの UTS 名前空間のホスト名を表示し、 2 つのホスト名が違うことが確認できる。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:344
+#: build/C/man2/setns.2:240
+#, no-wrap
 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)."
+"$ B<su>                   # Need privilege for namespace operations\n"
+"Password:\n"
+"# B<./newuts bizarro &>\n"
+"[1] 3549\n"
+"clone() returned 3550\n"
+"uts.nodename in child:  bizarro\n"
+"uts.nodename in parent: antero\n"
+"# B<uname -n>             # Verify hostname in the shell\n"
+"antero\n"
 msgstr ""
+"$ B<su>                   # 名前空間の操作には特権が必要\n"
+"Password:\n"
+"# B<./newuts bizarro &>\n"
+"[1] 3549\n"
+"clone() returned 3550\n"
+"uts.nodename in child:  bizarro\n"
+"uts.nodename in parent: antero\n"
+"# B<uname -n>             # シェルでホスト名を確認\n"
+"antero\n"
 
-#
-#.  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:356
+#: build/C/man2/setns.2:247
 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."
+"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 "
+"by the first program:"
 msgstr ""
+"次に、以下のプログラムを使ってシェルを実行する。 このシェルの中では、ホスト名"
+"が最初のプログラムで作成された子プロセスが設定したホスト名になっていることを"
+"確認できる。"
 
-#. type: SS
-#: build/C/man7/sched.7:356
+#. type: Plain text
+#: build/C/man2/setns.2:253
 #, no-wrap
-msgid "SCHED_OTHER: Default Linux time-sharing scheduling"
-msgstr "SCHED_OTHER: Linux のデフォルトの時分割スケジューリング"
+msgid ""
+"# B<./ns_exec /proc/3550/ns/uts /bin/bash>\n"
+"# B<uname -n>             # Executed in shell started by ns_exec\n"
+"bizarro\n"
+msgstr ""
+"# B<./ns_exec /proc/3550/ns/uts /bin/bash>\n"
+"# B<uname -n>             #  ns_exec で起動されたシェル内で実行\n"
+"bizarro\n"
 
 #. type: Plain text
-#: build/C/man7/sched.7:373
-#, fuzzy
-#| 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."
+#: build/C/man2/setns.2:263
+#, no-wrap
 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."
+"#define _GNU_SOURCE\n"
+"#include E<lt>fcntl.hE<gt>\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 ""
-"B<SCHED_OTHER> は静的優先度 0 でのみ使用できる。 B<SCHED_OTHER> は Linux 標準"
-"の時分割スケジューラで、 特別なリアルタイム機構を必要としていない全てのスレッ"
-"ドで使用される。 実行するスレッドは、静的優先度 0 のリストから、このリストの"
-"中だけで 決定される「動的な」優先度 (dynamic priority) に基いて決定される。 "
-"動的な優先度は (B<nice>(2)  や B<setpriority>(2)  により設定される) nice 値に"
-"基づいて決定されるもので、 単位時間毎に、スレッドが実行可能だが、スケジューラ"
-"により実行が拒否された 場合にインクリメントされる。 これにより、全ての "
-"B<SCHED_OTHER> スレッドでの公平性が保証される。"
+"#define _GNU_SOURCE\n"
+"#include E<lt>fcntl.hE<gt>\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"
 
-#. type: SS
-#: build/C/man7/sched.7:373
+#. type: Plain text
+#: build/C/man2/setns.2:271
 #, no-wrap
-msgid "SCHED_BATCH: Scheduling batch processes"
-msgstr "SCHED_BATCH: バッチプロセスのスケジューリング"
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    int fd;\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    int fd;\n"
 
 #. type: Plain text
-#: build/C/man7/sched.7:385
+#: build/C/man2/setns.2:276
+#, no-wrap
 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."
+"    if (argc E<lt> 3) {\n"
+"        fprintf(stderr, \"%s /proc/PID/ns/FILE cmd args...\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
 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
+"    if (argc E<lt> 3) {\n"
+"        fprintf(stderr, \"%s /proc/PID/ns/FILE cmd args...\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
 #. type: Plain text
-#: build/C/man7/sched.7:395
+#: build/C/man2/setns.2:280
+#, no-wrap
 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)."
+"    fd = open(argv[1], O_RDONLY);  /* Get descriptor for namespace */\n"
+"    if (fd == -1)\n"
+"        errExit(\"open\");\n"
 msgstr ""
-"このポリシーは、非対話的な処理だがその nice 値を下げたくない処理や、 (処理の"
-"タスク間で) 余計なタスクの置き換えの原因とある対話的な処理なしで 確定的な "
-"(deterministic) スケジューリングポリシーを適用したい処理に 対して有効である。"
+"    fd = open(argv[1], O_RDONLY);  /* 名前空間のディスクリプターを取得 */\n"
+"    if (fd == -1)\n"
+"        errExit(\"open\");\n"
 
-#. type: SS
-#: build/C/man7/sched.7:395
+#. type: Plain text
+#: build/C/man2/setns.2:283
 #, no-wrap
-msgid "SCHED_IDLE: Scheduling very low priority jobs"
-msgstr "SCHED_IDLE: 非常に優先度の低いジョブのスケジューリング"
+msgid ""
+"    if (setns(fd, 0) == -1)        /* Join that namespace */\n"
+"        errExit(\"setns\");\n"
+msgstr ""
+"    if (setns(fd, 0) == -1)        /* 名前空間に参加 */\n"
+"        errExit(\"setns\");\n"
 
 #. type: Plain text
-#: build/C/man7/sched.7:399
+#: build/C/man2/setns.2:287
+#, no-wrap
 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."
+"    execvp(argv[2], &argv[2]);     /* Execute a command in namespace */\n"
+"    errExit(\"execvp\");\n"
+"}\n"
 msgstr ""
-"(Linux 2.6.23 以降)  B<SCHED_IDLE> は静的優先度 0 でのみ使用できる。 このポリ"
-"シーではプロセスの nice 値はスケジューリングに影響を与えない。"
+"    execvp(argv[2], &argv[2]);     /* 名前空間内でコマンドを実行 */\n"
+"    errExit(\"execvp\");\n"
+"}\n"
 
 #. type: Plain text
-#: build/C/man7/sched.7:407
+#: build/C/man2/setns.2:295
 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)."
+"B<clone>(2), B<fork>(2), B<unshare>(2), B<vfork>(2), B<namespaces>(7), "
+"B<unix>(7)"
 msgstr ""
-"非常に低い優先度でのジョブの実行を目的としたものである (非常に低い優先度と"
-"は、ポリシー B<SCHED_OTHER> か B<SCHED_BATCH> での nice 値 +19 よりさらに低い"
-"優先度である)。"
+"B<clone>(2), B<fork>(2), B<unshare>(2), B<vfork>(2), B<namespaces>(7), "
+"B<unix>(7)"
 
-#. type: SS
-#: build/C/man7/sched.7:407
+#. type: TH
+#: build/C/man2/unshare.2:20
 #, no-wrap
-msgid "Resetting scheduling policy for child processes"
-msgstr "子プロセスでのスケジューリングポリシーのリセット"
+msgid "UNSHARE"
+msgstr "UNSHARE"
 
 #. type: Plain text
-#: build/C/man7/sched.7:413
-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 ""
+#: build/C/man2/unshare.2:23
+msgid "unshare - disassociate parts of the process execution context"
+msgstr "unshare - プロセス実行コンテキストの一部を分離する"
 
 #. type: Plain text
-#: build/C/man7/sched.7:422
-#, 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>() が返すポリシー値で"
-"参照できる。"
+#: build/C/man2/unshare.2:28
+#, no-wrap
+msgid "B<int unshare(int >I<flags>B<);>\n"
+msgstr "B<int unshare(int >I<flags>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/unshare.2:36
+msgid "B<unshare>():"
+msgstr "B<unshare>():"
 
 #. type: Plain text
-#: build/C/man7/sched.7:429
+#: build/C/man2/unshare.2:62
 msgid ""
-"specifying the B<SCHED_FLAG_RESET_ON_FORK> flag in I<attr.sched_flags> when "
-"calling B<sched_setattr>(2)."
+"B<unshare>()  allows a process to disassociate parts of its execution "
+"context that are currently being shared with other processes.  Part of the "
+"execution context, such as the mount namespace, is shared implicitly when a "
+"new process is created using B<fork>(2)  or B<vfork>(2), while other parts, "
+"such as virtual memory, may be shared by explicit request when creating a "
+"process using B<clone>(2)."
 msgstr ""
+"B<unshare>()  を使うと、プロセスは他のプロセスと現在共有している 実行コンテキ"
+"ストの一部を分離することができる。 実行コンテキストの一部、たとえばマウント名"
+"前空間 (mount namespace)  などは、新しいプロセスを B<fork>(2)  または "
+"B<vfork>(2)  を使って生成したときに、暗黙のうちに共有される。 一方、仮想メモ"
+"リーなどは、 B<clone>(2)  を使ってプロセスを生成するときに、明示的に共有する"
+"ことを要求できる。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:435
+#: build/C/man2/unshare.2:67
 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)."
+"The main use of B<unshare>()  is to allow a process to control its shared "
+"execution context without creating a new process."
 msgstr ""
+"B<unshare>()  の主な利用法は、プロセスが新しいプロセスを生成することなく、 共"
+"有実行コンテキストを制御することである。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:442
+#: build/C/man2/unshare.2:74
 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."
+"The I<flags> argument is a bit mask that specifies which parts of the "
+"execution context should be unshared.  This argument is specified by ORing "
+"together zero or more of the following constants:"
 msgstr ""
+"I<flags> 引き数はビットマスクであり、 実行コンテキストのどの部分の共有を解除"
+"するかを表す。 この引き数は、以下の定数の 0 個以上の OR で指定する:"
+
+#. type: TP
+#: build/C/man2/unshare.2:74
+#, no-wrap
+msgid "B<CLONE_FILES>"
+msgstr "B<CLONE_FILES>"
 
 #. type: Plain text
-#: build/C/man7/sched.7:445
-#, fuzzy
-#| msgid ""
-#| "More precisely, if the B<SCHED_RESET_ON_FORK> flag is specified, the "
-#| "following rules apply for subsequently created children:"
+#: build/C/man2/unshare.2:82
 msgid ""
-"More precisely, if the reset-on-fork flag is set, the following rules apply "
-"for subsequently created children:"
+"Reverse the effect of the B<clone>(2)  B<CLONE_FILES> flag.  Unshare the "
+"file descriptor table, so that the calling process no longer shares its file "
+"descriptors with any other process."
 msgstr ""
-"より正確には、 B<SCHED_RESET_ON_FORK> フラグが指定された場合、それ以降に作成"
-"される子プロセスに以下のルールが適用される。"
+"B<clone>(2)  B<CLONE_FILES> フラグの効果を取り消す。 ファイルディスクリプター"
+"テーブルを共有させず、 呼び出し元プロセスは他のプロセスとファイルディスクリプ"
+"ターを共有しなくなる。"
+
+#. type: TP
+#: build/C/man2/unshare.2:82
+#, no-wrap
+msgid "B<CLONE_FS>"
+msgstr "B<CLONE_FS>"
 
 #. type: Plain text
-#: build/C/man7/sched.7:453
+#: build/C/man2/unshare.2:96
 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."
+"Reverse the effect of the B<clone>(2)  B<CLONE_FS> flag.  Unshare filesystem "
+"attributes, so that the calling process no longer shares its root directory "
+"(B<chroot>(2)), current directory (B<chdir>(2)), or umask (B<umask>(2))  "
+"attributes with any other process."
 msgstr ""
-"呼び出したスレッドのスケジューリングポリシーが B<SCHED_FIFO> か B<SCHED_RR> "
-"の場合、子プロセスのポリシーは B<SCHED_OTHER> にリセットされる。"
+"B<clone>(2)  B<CLONE_FS> フラグの効果を取り消す。ファイルシステム属性を共有さ"
+"せず、呼び出し元プロセスは、ルートディレクトリ (B<chroot>(2))、カレントディレ"
+"クトリ (B<chdir>(2))、 umask (B<umask>(2)) を他のプロセスと共有しなくなる。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:456
+#: build/C/man2/unshare.2:113
 msgid ""
-"If the calling process has a negative nice value, the nice value is reset to "
-"zero in child processes."
+"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."
 msgstr ""
-"子プロセスが負の nice 値を持っている場合、子プロセスの nice 値は 0 にリセット"
-"される。"
+"このフラグは B<clone>(2) B<CLONE_NEWIPC> フラグと同じ効果を持つ。\n"
+"System\\ V IPC 名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは\n"
+"共有しない固有の System\\ V IPC 名前空間のコピーを持つ。 このフラグを指定\n"
+"すると、 B<CLONE_SYSVSEM> も暗黙のうちに指定される。 B<CLONE_NEWIPC> を\n"
+"使用するには B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:464
-#, fuzzy
-#| 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)."
+#: build/C/man2/unshare.2:128
 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)."
+"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."
 msgstr ""
-"一度 B<SCHED_RESET_ON_FORK> フラグが有効にされた後は、このフラグをリセットで"
-"きるのは、スレッドが B<CAP_SYS_NICE> ケーパビリティを持つ場合だけである。この"
-"フラグは B<fork>(2) で作成された子プロセスでは無効になる。"
+"このフラグは B<clone>(2) B<CLONE_NEWNET> フラグと同じ効果を持つ。ネット\n"
+"ワーク名前空間を共有せず、呼び出し元プロセスは他のプロセスとは共有しな\n"
+"い固有のネットワーク名前空間のコピーを持つ。B<CLONE_NEWNET> を使用する\n"
+"には B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
 
-#. type: SS
-#: build/C/man7/sched.7:464
+#. type: TP
+#: build/C/man2/unshare.2:128
 #, no-wrap
-msgid "Privileges and resource limits"
-msgstr "特権とリソース制限"
+msgid "B<CLONE_NEWNS>"
+msgstr "B<CLONE_NEWNS>"
 
+#.  These flag name are inconsistent:
+#.  CLONE_NEWNS does the same thing in clone(), but CLONE_VM,
+#.  CLONE_FS, and CLONE_FILES reverse the action of the clone()
+#.  flags of the same name.
 #. type: Plain text
-#: build/C/man7/sched.7:476
-#, fuzzy
-#| 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."
+#: build/C/man2/unshare.2:149
 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."
+"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."
 msgstr ""
-"2.6.12 より前のバージョンの Linux カーネルでは、 特権スレッド "
-"(B<CAP_SYS_NICE> ケーパビリティを持つスレッド) だけが 0 以外の静的優先度を設"
-"定する (すなわち、リアルタイムスケジューリングポリシーを設定する) ことができ"
-"る。 非特権スレッドができる変更は B<SCHED_OTHER> ポリシーを設定することだけで"
-"あり、さらにこの変更を行えるのは B<sched_setscheduler>()  の呼び出し元の実効"
-"ユーザ ID がポリシーの変更対象スレッド (I<pid> で指定されたスレッド) の実ユー"
-"ザ ID か実効ユーザ ID と 一致する場合だけである。"
+"このフラグは 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/man7/sched.7:482
+#: build/C/man2/unshare.2:176
 msgid ""
-"A thread must be privileged (B<CAP_SYS_NICE>)  in order to set or modify a "
-"B<SCHED_DEADLINE> policy."
+"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_NEWPID> フラグと同じ効果を持つ。 PID 名前空"
+"間を共有しない。 呼び出し元プロセスは、 すでに存在するどのプロセスとも共有さ"
+"れない新しい PID 名前空間を、 自身の子プロセス用に持つことになる。 このプロセ"
+"スにより作成される最初の子プロセスはプロセス ID 1 を持ち、 この新しい名前空間"
+"において B<init>(1) の役割を持つとみなされる。 B<CLONE_NEWPID> を指定すると、"
+"自動的に B<CLONE_THREAD> も指定されたものとみなされる。 B<CLONE_NEWPID> を使"
+"用するには B<CAP_SYS_ADMIN> ケーパビリティが必要である。 詳細な情報は "
+"B<pid_namespaces>(7) を参照。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:492
+#: build/C/man2/unshare.2:190
 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:"
+"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 ""
-"Linux 2.6.12 以降では、リソース制限 B<RLIMIT_RTPRIO> が定義されており、 スケ"
-"ジューリングポリシーが B<SCHED_RR> と B<SCHED_FIFO> の場合の、非特権スレッド"
-"の静的優先度の上限を定めている。 スケジューリングポリシーと優先度を変更する際"
-"のルールは以下の通りである。"
+"このフラグは B<clone>(2) B<CLONE_NEWUSER> フラグと同じ効果を持つ。 ユーザー名"
+"前空間を共有せず、 呼び出し元プロセスはすでに存在するどのプロセスとも共有され"
+"ない新しいユーザー名前空間に移動される。 B<CLONE_NEWUSER> フラグを指定して "
+"B<clone>(2) で作成された子プロセスと同様に、 呼び出し元は新しい名前空間ですべ"
+"てのケーパビリティを獲得する。"
 
+#.  commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71
+#.  https://lwn.net/Articles/543273/
 #. type: Plain text
-#: build/C/man7/sched.7:500
+#: build/C/man2/unshare.2:206
 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."
+"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 ""
-"非特権スレッドに 0 以外の B<RLIMIT_RTPRIO> ソフトリミットが設定されている場"
-"合、 非特権スレッドはそのスレッドのスケジューリングポリシーと優先度を 変更で"
-"きるが、優先度を現在の自身の優先度と B<RLIMIT_RTPRIO> ソフトリミットの大きい"
-"方よりも高い値に設定できないという制限が課される。"
+"B<CLONE_NEWUSER> を使うには、呼び出し元プロセスがスレッド化されていないことが"
+"必要である。 B<CLONE_NEWUSER> を指定すると、自動的に B<CLONE_THREAD> が指定さ"
+"れたものとみなされる。 Linux 3.9 以降では、 B<CLONE_NEWUSER> が指定された場"
+"合 B<CLONE_FS> も指定されたとみなされる。 B<CLONE_NEWUSER> を使うには、呼び出"
+"し元プロセスのユーザー ID とグループ ID が、 呼び出した時点で、 呼び出し元プ"
+"ロセスのユーザー名前空間のユーザー ID とグループ ID にマッピングされている必"
+"要がある。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:505
+#: build/C/man2/unshare.2:223
 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."
+"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 "
+"copy of the UTS namespace which is not shared with any other process.  Use "
+"of B<CLONE_NEWUTS> requires the B<CAP_SYS_ADMIN> capability."
 msgstr ""
-"B<RLIMIT_RTPRIO> ソフトリミットが 0 の場合、優先度を下げるか、 リアルタイムで"
-"ないポリシーへ切り替えるかの変更だけが許可される。"
+"このフラグは B<clone>(2) B<CLONE_NEWUTS> フラグと同じ効果を持つ。 UTS\n"
+"IPC 名前空間を共有せず、呼び出し元プロセスは他のプロセスとは共有しない\n"
+"固有の UTS IPC 名前空間のコピーを持つ。 このフラグを指定すると、\n"
+"B<CLONE_FS> も暗黙のうちに指定される。B<CLONE_NEWUTS> を使用するには\n"
+"B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
+
+#. type: TP
+#: 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
+#.  CLONE_NEWNS If CLONE_SIGHAND is set and signals are also being shared
+#.  (i.e., current->signal->count > 1), force CLONE_THREAD.
 #. type: Plain text
-#: build/C/man7/sched.7:510
+#: build/C/man2/unshare.2:243
 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 と 一致している場合に限られ"
-"る。"
+"This flag reverses the effect of the B<clone>(2)  B<CLONE_SYSVSEM> flag.  "
+"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> フラグの効果を逆転させる。 System"
+"\\ V セマフォの調整値 (I<semadj>) を共有せず、 呼び出し元プロセスは他のプロセ"
+"スとは共有されない新しい空の I<semadj> リストを持つ。 そのプロセスが、自分の"
+"現在の I<semadj> リストへの参照を持つ最後のプロセスであれば、 このリストの調"
+"整値は対応するセマフォに適用される (B<semop>(2) に説明がある通り)。"
 
-#.  commit c02aa73b1d18e43cfd79c2f193b225e84ca497c8
+#
+#.  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/man7/sched.7:529
-#, fuzzy
-#| 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))."
+#: build/C/man2/unshare.2:270
 msgid ""
-"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))."
+"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 ""
+"上記に加えて、 呼び出し元がシングルスレッドの場合 (すなわち別のプロセスやス"
+"レッドとアドレス空間を共有していない場合)、 B<CLONE_THREAD>, "
+"B<CLONE_SIGHAND>, B<CLONE_VM> を指定することができる。 この場合、 これらのフ"
+"ラグは効果を持たない。 (B<CLONE_THREAD> を指定すると自動的に B<CLONE_VM> が指"
+"定されたとみなされ、 B<CLONE_VM> を指定すると自動的に B<CLONE_SIGHAND> が指定"
+"されたとみなされる点に注意してほしい。) プロセスがマルチスレッドの場合、 これ"
+"らのフラグを使用するとエラーとなる。"
+
+#. type: Plain text
+#: 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."
 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> ポリシーに切り替えることが"
-"できる。"
+"I<flags> に 0 が指定された場合、 B<unshare>()  は何も行わないので、 呼び出し"
+"元プロセスの実行コンテキストは、何も変更されない。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:540
+#: build/C/man2/unshare.2:282
 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>."
+"On success, zero returned.  On failure, -1 is returned and I<errno> is set "
+"to indicate the error."
 msgstr ""
-"特権スレッド (B<CAP_SYS_NICE> ケーパビリティを持つスレッド) の場合、 "
-"B<RLIMIT_RTPRIO> の制限は無視される; 古いカーネルと同じように、スケジューリン"
-"グポリシーと優先度に対し 任意の変更を行うことができる。 B<RLIMIT_RTPRIO> に関"
-"するもっと詳しい情報は B<getrlimit>(2)  を参照のこと。"
+"成功した場合は 0 が返される。 失敗した場合は -1 が返されて、 I<errno> にはエ"
+"ラーを示す値が設定される。"
 
-#. type: SS
-#: build/C/man7/sched.7:540
-#, no-wrap
-msgid "Limiting the CPU usage of real-time and deadline processes"
-msgstr ""
+#. type: Plain text
+#: build/C/man2/unshare.2:287
+msgid "An invalid bit was specified in I<flags>."
+msgstr "I<flags> に不正なビットが指定された。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:553
-#, fuzzy
-#| 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)."
+#: build/C/man2/unshare.2:296
 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."
+"B<CLONE_THREAD>, B<CLONE_SIGHAND>, or B<CLONE_VM> was specified in I<flags>, "
+"and the caller is multithreaded."
 msgstr ""
-"B<SCHED_FIFO> や B<SCHED_RR> でスケジューリングされる スレッドが停止せずに無"
-"限ループに陥ると、 他の全てのより低い優先度のスレッドを永久に停止 (block) さ"
-"せてしまうので、 ソフトウェア開発者はコンソールのシェルの静的優先度をテストす"
-"る アプリケーションよりも常に高く保つべきである。 これによって期待通りに停止"
-"したり終了したりしないリアルタイム アプリケーションを緊急終了させることが可能"
-"になる。 B<getrlimit>(2)  のリソース制限 B<RLIMIT_RTTIME> の説明も参照のこ"
-"と。"
+"B<CLONE_THREAD>, B<CLONE_SIGHAND>, B<CLONE_VM> が I<flags> に指定されたが、 "
+"呼び出したプロセスはマルチスレッドである。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:563
+#: build/C/man2/unshare.2:300
 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."
+"Cannot allocate sufficient memory to copy parts of caller's context that "
+"need to be unshared."
 msgstr ""
+"呼び出し元のコンテキストのうち共有を解除する必要がある部分をコピーするため"
+"に、 十分なメモリーが確保できなかった。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:571
+#: build/C/man2/unshare.2:303
 msgid ""
-"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 ""
+"The calling process did not have the required privileges for this operation."
+msgstr "呼び出し元プロセスはこの操作を行うのに必要な特権を持っていなかった。"
 
-#. type: TP
-#: build/C/man7/sched.7:571
-#, no-wrap
-msgid "I</proc/sys/kernel/sched_rt_period_us>"
-msgstr ""
+#. type: Plain text
+#: build/C/man2/unshare.2:334
+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/man7/sched.7:579
-msgid ""
-"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 ""
+#: build/C/man2/unshare.2:338
+msgid "The B<unshare>()  system call is Linux-specific."
+msgstr "B<unshare>()  システムコールは Linux 固有である。"
 
-#. type: TP
-#: build/C/man7/sched.7:579
-#, no-wrap
-msgid "I</proc/sys/kernel/sched_rt_runtime_us>"
+#.  FIXME all of the following needs to be reviewed for the current kernel
+#.  However, we can do unshare(CLONE_SIGHAND) if CLONE_SIGHAND
+#.  was not specified when doing clone(); i.e., unsharing
+#.  signal handlers is permitted if we are not actually
+#.  sharing signal handlers.   mtk
+#.  However, we can do unshare(CLONE_VM) if CLONE_VM
+#.  was not specified when doing clone(); i.e., unsharing
+#.  virtual memory is permitted if we are not actually
+#.  sharing virtual memory.   mtk
+#. 9) Future Work
+#. --------------
+#. The current implementation of unshare does not allow unsharing of
+#. signals and signal handlers. Signals are complex to begin with and
+#. to unshare signals and/or signal handlers of a currently running
+#. process is even more complex. If in the future there is a specific
+#. need to allow unsharing of signals and/or signal handlers, it can
+#. be incrementally added to unshare without affecting legacy
+#. applications using unshare.
+#. type: Plain text
+#: build/C/man2/unshare.2:372
+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 "
+"particular, as at kernel 3.8, B<unshare>()  does not implement flags that "
+"reverse the effects of B<CLONE_SIGHAND>, B<CLONE_THREAD>, or B<CLONE_VM>.  "
+"Such functionality may be added in the future, if required."
 msgstr ""
+"B<clone>(2)  で新しいプロセスを生成したときに共有される全てのプロセス属性"
+"を、 B<unshare>()  によって共有の解除ができるわけではない。 特に、カーネル "
+"3.8 時点では、 B<unshare>()  に B<CLONE_SIGHAND>, B<CLONE_THREAD>, "
+"B<CLONE_VM> の効果を取り消すためのフラグが実装されていない。 これらの機能は、"
+"必要であれば将来追加されるかもしれない。"
 
 #. type: Plain text
-#: build/C/man7/sched.7:592
+#: build/C/man2/unshare.2:381
 msgid ""
-"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."
+"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 ""
+"以下のプログラムは B<unshare>(1) コマンドの簡単な実装である。 このコマンド"
+"は、1 つ以上の名前空間の unshare を行ってから、 コマンドライン引き数で指定さ"
+"れたコマンドを実行する。 以下はこのプログラムの使用例である。 新しいマウント"
+"名前空間でシェルを実行し、 元のシェルと新しいシェルが別のマウント名前空間にい"
+"ることを確認している。"
 
-#. type: SS
-#: build/C/man7/sched.7:593
+#. type: Plain text
+#: build/C/man2/unshare.2:390
 #, no-wrap
-msgid "Response time"
-msgstr "応答時間 (response time)"
+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"
 
-#.  as described in
-#.  .BR request_irq (9).
 #. type: Plain text
-#: build/C/man7/sched.7:601
-#, fuzzy
-#| 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."
+#: build/C/man2/unshare.2:396
 msgid ""
-"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."
+"The differing output of the two B<readlink>(1)  commands shows that the two "
+"shells are in different mount namespaces."
 msgstr ""
-"I/O 待ちで停止したより高い優先度のスレッドは再びスケジューリングされる 前にい"
-"くらかの応答時間がかかる。デバイスドライバーを書く場合には \"slow interrupt"
-"\" 割り込みハンドラーを使用することで この応答時間を劇的に減少させることがで"
-"きる。"
+"2 つの B<readlink>(1) コマンドの出力が違うことから、 2 つのシェルは異なるマウ"
+"ント名前空間にいることが分かる。"
 
-#. type: SS
-#: build/C/man7/sched.7:601
+#. type: Plain text
+#: build/C/man2/unshare.2:400
 #, no-wrap
-msgid "Miscellaneous"
-msgstr "その他"
+msgid "/* unshare.c\n"
+msgstr "/* unshare.c\n"
 
 #. type: Plain text
-#: build/C/man7/sched.7:606
+#: build/C/man2/unshare.2:409
+#, no-wrap
 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)."
+"   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 ""
-"子プロセスは B<fork>(2)  の際に親プロセスのスケジューリングポリシーとパラメー"
-"タを継承する。 B<execve>(2)  の前後で、スケジューリングポリシーとパラメータは"
-"保持される。"
+"   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"
 
 #. type: Plain text
-#: build/C/man7/sched.7:612
+#: build/C/man2/unshare.2:412
+#, no-wrap
 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)."
+"/* A simple error-handling function: print an error message based\n"
+"   on the value in \\(aqerrno\\(aq and terminate the calling process */\n"
 msgstr ""
-"リアルタイムプロセスは大抵、ページングの待ち時間を避けるために B<mlock>(2)  "
-"や B<mlockall>(2)  を使ってメモリロックをしなければならない。"
+"/* A simple error-handling function: print an error message based\n"
+"   on the value in \\(aqerrno\\(aq and terminate the calling process */\n"
 
 #. type: Plain text
-#: build/C/man7/sched.7:623
+#: build/C/man2/unshare.2:429
+#, no-wrap
 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."
+"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 ""
-"もともとは、標準の Linux は一般目的のオペレーティングシステムとして 設計され"
-"ており、バックグラウンドプロセスや対話的アプリケーション、 リアルタイム性の要"
-"求が厳しくないリアルタイムアプリケーション (普通はタイミングの応答期限 "
-"(deadline) を満たす必要があるアプリケーション)  を扱うことができた。 Linux "
-"カーネル 2.6 では、 カーネルのプリエンプション (タスクの置き換え) が可能であ"
-"り、 新たに導入された O(1) スケジューラにより、 アクティブなタスクの数に関わ"
-"らずスケジューリングに必要な時間は 固定で確定的 (deterministic) であることが"
-"保証されている。 それにも関わらず、カーネル 2.6.17 までは 真のリアルタイムコ"
-"ンピューティングは実現できなかった。"
-
-#. type: SS
-#: build/C/man7/sched.7:623
-#, no-wrap
-msgid "Real-time features in the mainline Linux kernel"
-msgstr "本流の Linux カーネルでのリアルタイム機能"
+"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"
 
-#.  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/man7/sched.7:637
+#: build/C/man2/unshare.2:434
+#, no-wrap
 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:"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    int flags, opt;\n"
 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"
-"これらのパッチは"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    int flags, opt;\n"
 
 #. type: Plain text
-#: build/C/man7/sched.7:641
+#: build/C/man2/unshare.2:436
 #, no-wrap
-msgid "patch-I<kernelversion>-rtI<patchversion>\n"
-msgstr "patch-I<kernelversion>-rtI<patchversion>\n"
+msgid "    flags = 0;\n"
+msgstr "    flags = 0;\n"
 
 #. type: Plain text
-#: build/C/man7/sched.7:647
+#: build/C/man2/unshare.2:448
+#, no-wrap
 msgid ""
-"and can be downloaded from E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/"
-"kernel\\:/projects\\:/rt/> E<.UE .>"
+"    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 ""
-"という名前で、 E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/kernel\\:/"
-"projects\\:/rt/> E<.UE> からダウンロードできる。"
+"    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"
 
 #. type: Plain text
-#: build/C/man7/sched.7:656
+#: build/C/man2/unshare.2:451
+#, no-wrap
 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."
+"    if (optind E<gt>= argc)\n"
+"        usage(argv[0]);\n"
 msgstr ""
-"このパッチが適用されず、かつパッチの内容の本流のカーネルへのマージが 完了する"
-"までは、カーネルの設定では B<CONFIG_PREEMPT_NONE>, "
-"B<CONFIG_PREEMPT_VOLUNTARY>, B<CONFIG_PREEMPT_DESKTOP> の 3つのプリエンプショ"
-"ンクラス (preemption class) だけが提供される。 これらのクラスでは、最悪の場合"
-"のスケジューリング遅延がそれぞれ 全く減らない、いくらか減る、かなり減る。"
+"    if (optind E<gt>= argc)\n"
+"        usage(argv[0]);\n"
 
 #. type: Plain text
-#: build/C/man7/sched.7:665
-#, fuzzy
-#| 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."
+#: build/C/man2/unshare.2:454
+#, no-wrap
 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."
+"    if (unshare(flags) == -1)\n"
+"        errExit(\"unshare\");\n"
 msgstr ""
-"パッチが適用された場合、またはパッチの内容の本流のカーネルへのマージが 完了し"
-"た後では、上記に加えて設定項目として B<CONFIG_PREEMPT_RT> が利用可能になる。"
-"この項目を選択すると、 Linux は通常のリアルタイムオペレーティングシステムに変"
-"身する。 この場合には、 B<sched_setscheduler>()  で選択できる FIFO と RR のス"
-"ケジューリングポリシーは、 真のリアルタイム優先度を持つスレッドを最悪の場合の"
-"スケジューリング遅延が 最小となる環境で動作させるために使われることになる。"
-
-#. type: Plain text
-#: build/C/man7/sched.7:691
-#, fuzzy
-#| 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)"
-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_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<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)"
+"    if (unshare(flags) == -1)\n"
+"        errExit(\"unshare\");\n"
 
 #. type: Plain text
-#: build/C/man7/sched.7:695
+#: build/C/man2/unshare.2:458
+#, no-wrap
 msgid ""
-"I<Programming for the real world - POSIX.4> by Bill O. Gallmeister, O'Reilly "
-"& Associates, Inc., ISBN 1-56592-074-0."
+"    execvp(argv[optind], &argv[optind]);\n"
+"    errExit(\"execvp\");\n"
+"}\n"
 msgstr ""
-"I<Programming for the real world - POSIX.4> by Bill O. Gallmeister, O'Reilly "
-"& Associates, Inc., ISBN 1-56592-074-0."
+"    execvp(argv[optind], &argv[optind]);\n"
+"    errExit(\"execvp\");\n"
+"}\n"
 
 #. type: Plain text
-#: build/C/man7/sched.7:702
+#: build/C/man2/unshare.2:467
 msgid ""
-"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>"
+"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 "2014-02-27"
-#~ msgstr "2014-02-27"
-
-#~ msgid "2013-09-23"
-#~ msgstr "2013-09-23"
-
-#~ 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 ""
-#~ "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 ""
-#~ "スケジューリングポリシー I<policy> が間違っている。\n"
-#~ "または I<param> が NULL である。\n"
-#~ "または I<param> がそのポリシーでは意味をなさない。"
-
-#~ msgid ""
-#~ "The Linux kernel source file I<Documentation/scheduler/sched-rt-group.txt>"
-#~ msgstr ""
-#~ "Linux カーネルソースファイル I<Documentation/scheduler/sched-rt-group.txt>"
-
-#~ msgid "2008-10-18"
-#~ msgstr "2008-10-18"
-
-#~ msgid "B<sched_setscheduler>(2)  for a description of Linux scheduling"
-#~ msgstr ""
-#~ "Linux のスケージュリング (scheduling) については B<sched_setscheduler>(2) "
-#~ "を参照。"
-
-#~ msgid "2013-04-16"
-#~ msgstr "2013-04-16"
-
-#~ msgid "Create a child that executes in a separate UTS namespace"
-#~ msgstr "別の UTS 名前空間で動作する子プロセスを作成する"
-
-#~ msgid "2013-01-27"
-#~ msgstr "2013-01-27"
-
-#~ msgid "2006-03-23"
-#~ msgstr "2006-03-23"
-
-#~ msgid "2013-02-11"
-#~ msgstr "2013-02-11"
-
-#~ msgid ""
-#~ "B<clone>()  creates a new process, in a manner similar to B<fork>(2).  It "
-#~ "is actually a library function layered on top of the underlying "
-#~ "B<clone>()  system call, hereinafter referred to as B<sys_clone>.  A "
-#~ "description of B<sys_clone> is given toward the end of this page."
-#~ msgstr ""
-#~ "B<clone>()  は B<fork>(2)  と同じような方法で新しいプロセスを作成する。 "
-#~ "B<clone>()  には、ライブラリ関数とその下層にあたる B<clone>()  システム"
-#~ "コールが存在する。以下の説明では、システムコールの方を B<sys_clone> と表す"
-#~ "こととする。 B<sys_clone> に関する説明はこのマニュアルの最後の方にある。"
-
-#~ msgid ""
-#~ "The B<clone>()  and B<sys_clone> calls are Linux-specific and should not "
-#~ "be used in programs intended to be portable."
-#~ msgstr ""
-#~ "B<clone>()  と B<sys_clone> コールは Linux 特有であり、移植を考慮したプロ"
-#~ "グラムでは使用すべき ではない。"
-
-#~ msgid ""
-#~ "I<Documentation/scheduler/sched-rt-group.txt> in the Linux kernel source "
-#~ "tree (since kernel 2.6.25)."
-#~ msgstr ""
-#~ "Linux カーネルソース内の I<Documentation/scheduler/sched-rt-group.txt> "
-#~ "(カーネル 2.6.25 以降)"
-
-#~ msgid ""
-#~ "The PID namespace and the mount namespace are not currently supported.  "
-#~ "(See the descriptions of B<CLONE_NEWPID> and B<CLONE_NEWNS> in "
-#~ "B<clone>(2).)"
-#~ msgstr ""
-#~ "現在のところ、 PID 名前空間とマウント名前空間はサポートされていない\n"
-#~ "(B<clone>(2) の B<CLONE_NEWPID> と B<CLONE_NEWNS> の説明を参照)。"
-
-#~ msgid ""
-#~ "If I<pid> is zero, the time quantum for the calling process is written "
-#~ "into I<*tp>.  The identified process should be running under the "
-#~ "B<SCHED_RR> scheduling policy.  POSIX systems on which "
-#~ "B<sched_rr_get_interval>()  is available define "
-#~ "B<_POSIX_PRIORITY_SCHEDULING> in I<E<lt>unistd.hE<gt>>."
-#~ msgstr ""
-#~ "I<pid> がゼロの場合、呼び出したプロセスの時間量が I<*tp> に書き込まれる。"
-#~ "指定したプロセスは B<SCHED_RR> スケジューリング方針で稼動している必要があ"
-#~ "る。 B<sched_rr_get_interval>()  の使用可能な POSIX システムでは "
-#~ "I<E<lt>unistd.hE<gt>> で B<_POSIX_PRIORITY_SCHEDULING> が定義されている。"
-
-#~ msgid ""
-#~ "I<From Linux 2.6.25 this flag is deprecated.> You probably never wanted "
-#~ "to use it, you certainly shouldn't be using it, and soon it will go away."
-#~ msgstr ""
-#~ "I<Linux 2.6.25 以降、このフラグは非推奨である。> このフラグを使いたいと思"
-#~ "うことは決してないだろうし、 確実に使わないようにすべきである。 このフラグ"
-#~ "は近いうちになくなることだろう。"
-
-#~ msgid ""
-#~ "Special rules apply for the B<SCHED_IDLE>: an unprivileged process "
-#~ "operating under this policy cannot change its policy, regardless of the "
-#~ "value of its B<RLIMIT_RTPRIO> resource limit."
-#~ msgstr ""
-#~ "B<SCHED_IDLE> には特別なルールが適用され、 このポリシーの下で動作する非特"
-#~ "権プロセスは、リソース制限 B<RLIMIT_RTPRIO> の値にかかわらず自身のポリシー"
-#~ "を変更することができない。"
-
-#~ msgid ""
-#~ "I<flags> specified B<CLONE_NEWNS> but the calling process was not "
-#~ "privileged (did not have the B<CAP_SYS_ADMIN> capability)."
-#~ msgstr ""
-#~ "I<flags> に B<CLONE_NEWNS> が指定されたが、呼び出し元プロセスに特権 "
-#~ "(B<CAP_SYS_ADMIN> ケーパビリティ) がなかった。"
+#. type: Plain text
+#: build/C/man2/unshare.2:470
+msgid "I<Documentation/unshare.txt> in the Linux kernel source tree"
+msgstr "Linux カーネルソース内の I<Documentation/unshare.txt>"