OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / draft / man2 / sched_setscheduler.2
index eb62d06..363382d 100644 (file)
 .\" Updated 2007-10-13, Akihiro MOTOKI, LDP v2.65
 .\" Updated 2008-08-13, Akihiro MOTOKI, LDP v3.05
 .\"
-.\"WORD:       privileges              Æø¢
-.\"WORD:       resource limit          ¥ê¥½¡¼¥¹À©¸Â
-.\"WORD:       scheduling policy       ¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼
+.\"WORD:       privileges              特権
+.\"WORD:       resource limit          リソース制限
+.\"WORD:       scheduling policy       ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83»ã\83\9dã\83ªã\82·ã\83¼
 .\"
 .TH SCHED_SETSCHEDULER 2 2008-11-06 "Linux" "Linux Programmer's Manual"
 .\"O .SH NAME
-.SH Ì¾Á°
+.SH 名前
 .\"O sched_setscheduler, sched_getscheduler \-
 .\"O set and get scheduling policy/parameters
 sched_setscheduler, sched_getscheduler \-
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤È¥Ñ¥é¥á¡¼¥¿¤òÀßÄê/¼èÆÀ¤¹¤ë
+スケジューリング・ポリシーとパラメータを設定/取得する
 .\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
 .nf
 .B #include <sched.h>
 .sp
@@ -87,7 +87,7 @@ sched_setscheduler, sched_getscheduler \-
 };
 .fi
 .\"O .SH DESCRIPTION
-.SH ÀâÌÀ
+.SH 説明
 .\"O .BR sched_setscheduler ()
 .\"O sets both the scheduling policy and the associated parameters for the
 .\"O process whose ID is specified in \fIpid\fP.
@@ -98,49 +98,49 @@ sched_setscheduler, sched_getscheduler \-
 .\"O Currently, Linux supports the following "normal"
 .\"O (i.e., non-real-time) scheduling policies:
 .BR sched_setscheduler ()
-¤Ï \fIpid\fP ¤Ç»ØÄꤵ¤ì¤¿ ID ¤ò»ý¤Ä¥×¥í¥»¥¹¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤ä
-¤½¤ì¤Ë´ØÏ¢¤¹¤ë¥Ñ¥é¥á¡¼¥¿¤òÀßÄꤹ¤ë¡£\fIpid\fP ¤¬ 0 ¤Î¾ì¹ç¤Ï
-¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤È¥Ñ¥é¥á¡¼¥¿¤¬ÀßÄꤵ¤ì¤ë¡£
-°ú¤­¿ô \fIparam\fP ¤Î²ò¼á¤ÏÁªÂò¤µ¤ì¤¿¥Ý¥ê¥·¡¼¤Ë¤è¤ë¡£
-¸½ºß¤Î¤È¤³¤í¡¢Linux ¤Ç¤Ï
-°Ê²¼¤Ë¼¨¤¹¡ÖÄ̾ï¡×(¥ê¥¢¥ë¥¿¥¤¥à¤Ç¤Ê¤¤) ¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤¬
-¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£
+は \fIpid\fP で指定された ID を持つプロセスのスケジューリング・ポリシーや
+それに関連するパラメータを設定する。\fIpid\fP が 0 の場合は
+呼び出したプロセスのスケジューリング・ポリシーとパラメータが設定される。
+引き数 \fIparam\fP の解釈は選択されたポリシーによる。
+現在のところ、Linux では
+以下に示す「通常」(リアルタイムでない) スケジューリング・ポリシーが
+サポートされている。
 .TP 14
 .BR SCHED_OTHER
 .\"O the standard round-robin time-sharing policy;
-ɸ½à¤Î¡¢¥é¥¦¥ó¥É¥í¥Ó¥ó¤Ë¤è¤ë»þʬ³ä·¿¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¡£
+標準の、ラウンドロビンによる時分割型のスケジューリング・ポリシー。
 .\"O .\" In the 2.6 kernel sources, SCHED_OTHER is actually called
 .\"O .\" SCHED_NORMAL.
-.\" 2.6 ¥«¡¼¥Í¥ë¥½¡¼¥¹¤Ç¤Ï¡¢SCHED_OTHER ¤Ï¼ÂºÝ¤Ë¤Ï
-.\" SCHED_NORMAL ¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¡£
+.\" 2.6 カーネルソースでは、SCHED_OTHER は実際には
+.\" SCHED_NORMAL と呼ばれている。
 .TP
 .BR SCHED_BATCH
 .\"O for "batch" style execution of processes; and
-¡Ö¥Ð¥Ã¥Á¡×·Á¼°¤Ç¤Î¥×¥í¥»¥¹¤Î¼Â¹ÔÍÑ¡£
+「バッチ」形式でのプロセスの実行用。
 .TP
 .BR SCHED_IDLE
 .\"O for running
 .\"O .I very
 .\"O low priority background jobs.
-¡ÖÈó¾ï¤Ë¡×Ä㤤ͥÀèÅÙ¤ÇÆ°ºî¤¹¤ë¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥¸¥ç¥ÖÍÑ¡£
+「非常に」低い優先度で動作するバックグラウンド・ジョブ用。
 .PP
 .\"O The following "real-time" policies are also supported,
 .\"O for special time-critical applications that need precise control over
 .\"O the way in which runnable processes are selected for execution:
-¤É¤Î¼Â¹Ô²Äǽ¥×¥í¥»¥¹¤òÁªÂò¤¹¤ë¤«¤Ë¤Ä¤¤¤Æ¡¢¤è¤êÀµ³Î¤ÊÀ©¸æ¤òɬÍפȤ¹¤ë
-»þ´Ö¤ÎÀ©Ì󤬸·¤·¤¤ÆÃÊ̤ʥ¢¥×¥ê¥±¡¼¥·¥ç¥óÍѤȤ·¤Æ¡¢
-°Ê²¼¤Î¡Ö¥ê¥¢¥ë¥¿¥¤¥à¡×¥Ý¥ê¥·¡¼¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£
+どの実行可能プロセスを選択するかについて、より正確な制御を必要とする
+時間の制約が厳しい特別なアプリケーション用として、
+以下の「リアルタイム」ポリシーもサポートされている。
 .TP 14
 .BR SCHED_FIFO
 .\"O a first-in, first-out policy; and
-¥Õ¥¡¡¼¥¹¥È¥¤¥ó¡¢¥Õ¥¡¡¼¥¹¥È¥¢¥¦¥È·¿¤Î¥Ý¥ê¥·¡¼¡£
+ファーストイン、ファーストアウト型のポリシー。
 .TP
 .BR SCHED_RR
 .\"O a round-robin policy.
-¥é¥¦¥ó¥É¥í¥Ó¥ó·¿¤Î¥Ý¥ê¥·¡¼¡£
+ラウンドロビン型のポリシー。
 .PP
 .\"O The semantics of each of these policies are detailed below.
-¤³¤ì¤é¤Î¥Ý¥ê¥·¡¼¤Î¤½¤ì¤¾¤ì¤ÎÆ°ºî¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤ÇÀâÌÀ¤¹¤ë¡£
+これらのポリシーのそれぞれの動作については以下で説明する。
 
 .\"O .BR sched_getscheduler ()
 .\"O queries the scheduling policy currently applied to the process
@@ -148,12 +148,12 @@ sched_setscheduler, sched_getscheduler \-
 .\"O If \fIpid\fP equals zero, the policy of the
 .\"O calling process will be retrieved.
 .BR sched_getscheduler ()
-¤Ï \fIpid\fP ¤Ç¼±Ê̤µ¤ì¤ë¥×¥í¥»¥¹¤Ë¸½ºßŬÍѤµ¤ì¤Æ¤¤¤ë
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤ò¿Ò¤Í¤ë¡£\fIpid\fP ¤¬ 0 ¤Ê¤é¤Ð¡¢¸Æ¤Ó½Ð¤·¤¿
-¥×¥í¥»¥¹¼«¿È¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤¬ÊÖ¤µ¤ì¤ë¡£
+は \fIpid\fP で識別されるプロセスに現在適用されている
+スケジューリング・ポリシーを尋ねる。\fIpid\fP が 0 ならば、呼び出した
+プロセス自身のスケジューリング・ポリシーが返される。
 .\"
 .\"O .SS Scheduling Policies
-.SS ¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼ (scheduling policy)
+.SS ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83»ã\83\9dã\83ªã\82·ã\83¼ (scheduling policy)
 .\"O The scheduler is the kernel component that decides which runnable process
 .\"O will be executed by the CPU next.
 .\"O Each process has an associated scheduling policy and a \fIstatic\fP
@@ -162,36 +162,36 @@ sched_setscheduler, sched_getscheduler \-
 .\"O .BR sched_setscheduler ().
 .\"O The scheduler makes it decisions based on knowledge of the scheduling
 .\"O policy and static priority of all processes on the system.
-¥¹¥±¥¸¥å¡¼¥é (scheduler) ¤È¤Ï¥«¡¼¥Í¥ë¤Î¹½À®Í×ÁǤǡ¢
-¼¡¤Ë CPU ¤Ç¼Â¹Ô¤µ¤ì¤ë¼Â¹Ô²Äǽ¤Ê¥×¥í¥»¥¹¤ò·èÄꤹ¤ë¤â¤Î¤Ç¤¢¤ë¡£
-³Æ¡¹¤Î¥×¥í¥»¥¹¤Ë¤Ï¡¢¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤È
-¡ÖÀÅŪ¡×¤Ê¥¹¥±¥¸¥å¡¼¥ê¥ó¥°Í¥ÀèÅÙ \fIsched_priority\fP ¤¬ÂбþÉÕ¤±¤é¤ì¡¢
-¤³¤ì¤é¤ÎÀßÄê¤Ï
+スケジューラ (scheduler) とはカーネルの構成要素で、
+次に CPU で実行される実行可能なプロセスを決定するものである。
+各々のプロセスには、スケジューリング・ポリシーと
+「静的」なスケジューリング優先度 \fIsched_priority\fP が対応付けられ、
+これらの設定は
 .BR sched_setscheduler ()
-¤ÇÊѹ¹¤Ç¤­¤ë¡£
-¥¹¥±¥¸¥å¡¼¥é¤Ï¡¢¥·¥¹¥Æ¥à¾å¤ÎÁ´¥×¥í¥»¥¹¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤È
-ÀÅŪͥÀèÅ٤˴ؤ¹¤ëÃμ±¤Ë´ð¤Å¤¤¤Æ·èÄê¤ò¹Ô¤¦¡£
+で変更できる。
+スケジューラは、システム上の全プロセスのスケジューリング・ポリシーと
+静的優先度に関する知識に基づいて決定を行う。
 
 .\"O For processes scheduled under one of the normal scheduling policies
 .\"O (\fBSCHED_OTHER\fP, \fBSCHED_IDLE\fP, \fBSCHED_BATCH\fP),
 .\"O \fIsched_priority\fP is not used in scheduling
 .\"O decisions (it must be specified as 0).
-Ä̾ï¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼
+é\80\9a常ã\81®ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83»ã\83\9dã\83ªã\82·ã\83¼
 (\fBSCHED_OTHER\fP, \fBSCHED_IDLE\fP, \fBSCHED_BATCH\fP)
-¤Î²¼¤Ç¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤µ¤ì¤ë¥×¥í¥»¥¹¤Ç¤Ï¡¢
-\fIsched_priority\fP ¤Ï¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Î·èÄê¤Ë»ÈÍѤµ¤ì¤Ê¤¤
-(\fIsched_priority\fP ¤Ë¤Ï 0 ¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤)¡£
+の下でスケジューリングされるプロセスでは、
+\fIsched_priority\fP はスケジューリングの決定に使用されない
+(\fIsched_priority\fP には 0 を指定しなければならない)。
 
 .\"O Processes scheduled under one of the real-time policies
 .\"O (\fBSCHED_FIFO\fP, \fBSCHED_RR\fP) have a
 .\"O \fIsched_priority\fP value in the range 1 (low) to 99 (high).
 .\"O (As the numbers imply, real-time processes always have higher priority
 .\"O than normal processes.)
-¥ê¥¢¥ë¥¿¥¤¥à¡¦¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼ (\fBSCHED_FIFO\fP, \fBSCHED_RR\fP)
-¤Î²¼¤Ç¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤µ¤ì¤ë¥×¥í¥»¥¹¤Ï¡¢
-\fIsched_priority\fP ¤ÎÃͤϠ1 (ºÇÄã) ¤«¤é 99 (ºÇ¹â) ¤ÎÈϰϤȤʤë
-(¿ô»ú¤«¤éʬ¤«¤ë¤è¤¦¤Ë¡¢¥ê¥¢¥ë¥¿¥¤¥à¡¦¥×¥í¥»¥¹¤Ï¾ï¤ËÄ̾ï¤Î¥×¥í¥»¥¹¤è¤ê¤â
-¹â¤¤Í¥ÀèÅÙ¤ò»ý¤Ä)¡£
+ã\83ªã\82¢ã\83«ã\82¿ã\82¤ã\83 ã\83»ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83»ã\83\9dã\83ªã\82·ã\83¼ (\fBSCHED_FIFO\fP, \fBSCHED_RR\fP)
+の下でスケジューリングされるプロセスは、
+\fIsched_priority\fP の値は 1 (最低) から 99 (最高) の範囲となる
+(数字から分かるように、リアルタイム・プロセスは常に通常のプロセスよりも
+高い優先度を持つ)。
 .\"O Note well: POSIX.1-2001 only requires an implementation to support a
 .\"O minimum 32 distinct priority levels for the real-time policies,
 .\"O and some systems supply just this minimum.
@@ -200,34 +200,34 @@ sched_setscheduler, sched_getscheduler \-
 .\"O and
 .\"O .BR sched_get_priority_max (2)
 .\"O to find the range of priorities supported for a particular policy.
-¤³¤³¤ÇÃí°Õ¤¹¤Ù¤­¤Ê¤Î¤Ï¡¢POSIX.1-2001 ¤¬Í׵ᤷ¤Æ¤¤¤ë¤Î¤Ï¡¢
-¥ê¥¢¥ë¥¿¥¤¥à¡¦¥Ý¥ê¥·¡¼¤Î¼ÂÁõ¤Ë¤ª¤¤¤ÆºÇÄã 32 ¼ïÎà¤Î°Û¤Ê¤ëÍ¥ÀèÅÙ¥ì¥Ù¥ë¤¬
-¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤À¤±¤Ç¤¢¤ê¡¢¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¤³¤ÎºÇÄã¸Â¤Î¿ô¤Î
-Í¥ÀèÅÙ¤·¤«Ä󶡤µ¤ì¤Æ¤¤¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£
-°Ü¿¢À­¤¬É¬Í×¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï¡¢
+ここで注意すべきなのは、POSIX.1-2001 が要求しているのは、
+リアルタイム・ポリシーの実装において最低 32 種類の異なる優先度レベルが
+サポートされることだけであり、いくつかのシステムではこの最低限の数の
+優先度しか提供されていない、ということである。
+移植性が必要なプログラムでは、
 .BR sched_get_priority_min (2)
-¤È
+と
 .BR sched_get_priority_max (2)
-¤ò»È¤Ã¤Æ¡¢¤¢¤ë¥Ý¥ê¥·¡¼¤¬¥µ¥Ý¡¼¥È¤¹¤ëÍ¥ÀèÅÙ¤ÎÈϰϤòÄ´¤Ù¤ë¤Ù¤­¤Ç¤¢¤ë¡£
+を使って、あるポリシーがサポートする優先度の範囲を調べるべきである。
 
 .\"O Conceptually, the scheduler maintains a list of runnable
 .\"O processes for each possible \fIsched_priority\fP value.
 .\"O In order to determine which process runs next, the scheduler looks for
 .\"O the nonempty list with the highest static priority and selects the
 .\"O process at the head of this list.
-³µÇ°¤È¤·¤Æ¤Ï¡¢
-¥¹¥±¥¸¥å¡¼¥é¤Ï¤½¤Î \fIsched_priority\fP ¤ÎÃͤ½¤ì¤¾¤ì¤ËÂФ·¤Æ
-¼Â¹Ô²Äǽ¤Ê¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ò´ÉÍý¤·¤Æ¤¤¤ë¡£
-¤É¤Î¥×¥í¥»¥¹¤ò¼¡¤Ë¼Â¹Ô¤¹¤ë¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë¡¢
-¥¹¥±¥¸¥å¡¼¥é¤ÏÀÅŪͥÀèÅ٤κǤâ¹â¤¤¶õ¤Ç¤Ê¤¤¥ê¥¹¥È¤òõ¤·¤Æ¡¢
-¤½¤Î¥ê¥¹¥È¤ÎÀèƬ¤Î¥×¥í¥»¥¹¤òÁªÂò¤¹¤ë¡£
+概念としては、
+スケジューラはその \fIsched_priority\fP の値それぞれに対して
+実行可能なプロセスのリストを管理している。
+どのプロセスを次に実行するかを決定するために、
+スケジューラは静的優先度の最も高い空でないリストを探して、
+そのリストの先頭のプロセスを選択する。
 
 .\"O A process's scheduling policy determines
 .\"O where it will be inserted into the list of processes
 .\"O with equal static priority and how it will move inside this list.
-³Æ¥×¥í¥»¥¹¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤Ï¡¢
-¤½¤Î¥×¥í¥»¥¹¤¬Æ±¤¸ÀÅŪͥÀèÅÙ¤ò»ý¤Ä¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ÎÃæ¤Î¤É¤³¤ËÁÞÆþ¤µ¤ì¡¢
-¤³¤Î¥ê¥¹¥È¤ÎÃæ¤ò¤É¤Î¤è¤¦¤Ë°ÜÆ°¤¹¤ë¤«¤ò·èÄꤹ¤ë¡£
+各プロセスのスケジューリング・ポリシーは、
+そのプロセスが同じ静的優先度を持つプロセスのリストの中のどこに挿入され、
+このリストの中をどのように移動するかを決定する。
 
 .\"O All scheduling is preemptive: if a process with a higher static
 .\"O priority becomes ready to run, the currently running process
@@ -236,13 +236,13 @@ sched_setscheduler, sched_getscheduler \-
 .\"O The scheduling policy only determines the
 .\"O ordering within the list of runnable processes with equal static
 .\"O priority.
-Á´¤Æ¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Ï¥×¥ê¥¨¥ó¥×¥Æ¥£¥Ö (preemptive) ¤Ç¤¢¤ë:
-¤è¤ê¹â¤¤Í¥ÀèÅÙ¤Î¥×¥í¥»¥¹¤¬¼Â¹Ô²Äǽ¤Ë¤Ê¤ë¤È¡¢¸½ºß¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹¤Ï¼Â¹Ô¸¢¤ò
-¼è¤ê¾å¤²¤é¤ì (preempted)¡¢¤½¤Î¥×¥í¥»¥¹¤ÎÀÅŪͥÀèÅÙ¥ì¥Ù¥ë¤ÎÂÔ¤Á¥ê¥¹¥È¤Ë
-Ìᤵ¤ì¤ë¡£¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤ÏƱ¤¸ÀÅŪͥÀèÅÙ¤ò»ý¤Ä¼Â¹Ô²Äǽ¤Ê
-¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ÎÃæ¤Ç½çÈ֤Τߤò·èÄꤹ¤ë¡£
+全てのスケジューリングはプリエンプティブ (preemptive) である:
+より高い優先度のプロセスが実行可能になると、現在実行中のプロセスは実行権を
+取り上げられ (preempted)、そのプロセスの静的優先度レベルの待ちリストに
+戻される。スケジューリング・ポリシーは同じ静的優先度を持つ実行可能な
+プロセスのリストの中で順番のみを決定する。
 .\"O .SS SCHED_FIFO: First In-First Out scheduling
-.SS SCHED_FIFO: ¥Õ¥¡¡¼¥¹¥È¥¤¥ó¡¦¥Õ¥¡¡¼¥¹¥È¥¢¥¦¥È¡¦¥¹¥±¥¸¥å¡¼¥ê¥ó¥°
+.SS SCHED_FIFO: ã\83\95ã\82¡ã\83¼ã\82¹ã\83\88ã\82¤ã\83³ã\83»ã\83\95ã\82¡ã\83¼ã\82¹ã\83\88ã\82¢ã\82¦ã\83\88ã\83»ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°
 .\"O \fBSCHED_FIFO\fP can only be used with static priorities higher than
 .\"O 0, which means that when a \fBSCHED_FIFO\fP processes becomes runnable,
 .\"O it will always immediately preempt any currently running
@@ -251,26 +251,26 @@ sched_setscheduler, sched_getscheduler \-
 .\"O algorithm without time slicing.
 .\"O For processes scheduled under the
 .\"O \fBSCHED_FIFO\fP policy, the following rules apply:
-\fBSCHED_FIFO\fP ¤Ï 0 ¤è¤êÂ礭¤ÊÀÅŪͥÀèÅ٤ǤΤ߻ÈÍѤǤ­¤ë¡£¤³¤Î¥Ý¥ê¥·¡¼¤Ç¤Ï¡¢
-\fBSCHED_FIFO\fP ¥×¥í¥»¥¹¤¬¼Â¹Ô²Äǽ¤Ë¤Ê¤Ã¤¿¾ì¹ç¡¢
-¤½¤Î¥Ý¥ê¥·¡¼¤¬ \fBSCHED_OTHER\fP¡¢ \fBSCHED_BATCH\fP¡¢ \fBSCHED_IDLE\fP ¤Î
-¸½ºß¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹¤Ïľ¤Á¤Ë¼Â¹Ô¸¢¤ò¼è¤ê¾å¤²¤é¤ì¤ë¡£
-\fBSCHED_FIFO\fP ¤Ï»þʬ³ä¤Î¤Ê¤¤Ã±½ã¤Ê¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥¢¥ë¥´¥ê¥º¥à¤Ç¤¢¤ë¡£
-\fBSCHED_FIFO\fP ¥Ý¥ê¥·¡¼¤Ç¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤µ¤ì¤Æ¤¤¤ë¥×¥í¥»¥¹¤Ë¤Ï°Ê²¼¤Î
-¥ë¡¼¥ë¤¬Å¬ÍѤµ¤ì¤ë:
+\fBSCHED_FIFO\fP は 0 より大きな静的優先度でのみ使用できる。このポリシーでは、
+\fBSCHED_FIFO\fP プロセスが実行可能になった場合、
+そのポリシーが \fBSCHED_OTHER\fP、 \fBSCHED_BATCH\fP、 \fBSCHED_IDLE\fP の
+現在実行中のプロセスは直ちに実行権を取り上げられる。
+\fBSCHED_FIFO\fP は時分割のない単純なスケジューリング・アルゴリズムである。
+\fBSCHED_FIFO\fP ポリシーでスケジューリングされているプロセスには以下の
+ルールが適用される:
 .IP * 3
 .\"O A \fBSCHED_FIFO\fP process that has been preempted by another process of
 .\"O higher priority will stay at the head of the list for its priority and
 .\"O will resume execution as soon as all processes of higher priority are
 .\"O blocked again.
-¤è¤ê¹â¤¤Í¥ÀèÅ٤ξ¤Î¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ¼è¤Ã¤ÆÂå¤ï¤é¤ì¤¿
-\fBSCHED_FIFO\fP ¥×¥í¥»¥¹¤Ï¤½¤ÎÍ¥ÀèÅ٤Υꥹ¥È¤ÎÀèƬ¤Ëα¤Þ¤ê³¤±¡¢
-¤è¤ê¹â¤¤Í¥ÀèÅÙ¤Î¥×¥í¥»¥¹Á´¤Æ¤¬Ää»ß (block) ¤·¤¿¾ì¹ç¤Ë¼Â¹Ô¤òºÆ³«¤¹¤ë¡£
+より高い優先度の他のプロセスによって取って代わられた
+\fBSCHED_FIFO\fP プロセスはその優先度のリストの先頭に留まり続け、
+より高い優先度のプロセス全てが停止 (block) した場合に実行を再開する。
 .IP *
 .\"O When a \fBSCHED_FIFO\fP process becomes runnable, it
 .\"O will be inserted at the end of the list for its priority.
-\fBSCHED_FIFO\fP ¥×¥í¥»¥¹¤¬¼Â¹Ô²Äǽ¤Ë¤Ê¤Ã¤¿»þ¡¢¤½¤ÎÍ¥ÀèÅ٤Υꥹ¥È¤ÎºÇ¸å
-¤ËÁÞÆþ¤µ¤ì¤ë¡£
+\fBSCHED_FIFO\fP プロセスが実行可能になった時、その優先度のリストの最後
+に挿入される。
 .IP *
 .\"O A call to
 .\"O .BR sched_setscheduler ()
@@ -280,18 +280,18 @@ sched_setscheduler, sched_getscheduler \-
 .\"O \fBSCHED_FIFO\fP (or \fBSCHED_RR\fP) process identified by
 .\"O \fIpid\fP at the start of the list if it was runnable.
 .BR sched_setscheduler ()
-¤ä
+や
 .BR sched_setparam (2)
-¤Ï
-\fIpid\fP ¤Ç»ØÄꤵ¤ì¤¿ \fBSCHED_FIFO\fP (¤Þ¤¿¤Ï \fBSCHED_RR\fP) ¥×¥í¥»¥¹¤¬
-¼Â¹Ô²Äǽ¤Ê¾ì¹ç¡¢¥ê¥¹¥È¤ÎºÇ½é¤ËÃÖ¤¯¡£
+は
+\fIpid\fP で指定された \fBSCHED_FIFO\fP (または \fBSCHED_RR\fP) プロセスが
+実行可能な場合、リストの最初に置く。
 .\"O As a consequence, it may preempt the currently running process if
 .\"O it has the same priority.
 .\"O (POSIX.1-2001 specifies that the process should go to the end
 .\"O of the list.)
-·ë²Ì¤È¤·¤Æ¡¢¤â¤·Í¥ÀèÅÙ¤¬Æ±¤¸¤À¤Ã¤¿¾ì¹ç¡¢
-¸½ºß¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹¤ËÀè¤ó¤¸¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
-(POSIX.1-2001 ¤Ç¤Ï¥×¥í¥»¥¹¤Ï¥ê¥¹¥È¤ÎºÇ¸å¤Ë¹Ô¤¯¤Ù¤­¤Èµ¬Äꤵ¤ì¤Æ¤¤¤ë¡£)
+結果として、もし優先度が同じだった場合、
+現在実行中のプロセスに先んじるかもしれない。
+(POSIX.1-2001 ではプロセスはリストの最後に行くべきと規定されている。)
 .\" In 2.2.x and 2.4.x, the process is placed at the front of the queue
 .\" In 2.0.x, the Right Thing happened: the process went to the back -- MTK
 .IP *
@@ -299,25 +299,25 @@ sched_setscheduler, sched_getscheduler \-
 .\"O .BR sched_yield (2)
 .\"O will be put at the end of the list.
 .BR sched_yield (2)
-¤ò¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Ï¥ê¥¹¥È¤ÎºÇ¸å¤ËÃÖ¤«¤ì¤ë¡£
+を呼び出したプロセスはリストの最後に置かれる。
 .PP
 .\"O No other events will move a process
 .\"O scheduled under the \fBSCHED_FIFO\fP policy in the wait list of
 .\"O runnable processes with equal static priority.
-¤½¤Î¾¤Î¥¤¥Ù¥ó¥È¤Ë¤è¤Ã¤Æ \fBSCHED_FIFO\fP ¥Ý¥ê¥·¡¼¤Ç
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤µ¤ì¤ë¥×¥í¥»¥¹¤¬Æ±¤¸Í¥ÀèÅ٤μ¹ԲÄǽ¤Ê
-¥×¥í¥»¥¹¤ÎÂÔ¤Á¥ê¥¹¥È¤ÎÃæ¤ò°ÜÆ°¤¹¤ë¤³¤È¤Ï¤Ê¤¤¡£
+その他のイベントによって \fBSCHED_FIFO\fP ポリシーで
+スケジューリングされるプロセスが同じ優先度の実行可能な
+プロセスの待ちリストの中を移動することはない。
 
 .\"O A \fBSCHED_FIFO\fP
 .\"O process runs until either it is blocked by an I/O request, it is
 .\"O preempted by a higher priority process, or it calls
 .\"O .BR sched_yield (2).
-\fBSCHED_FIFO\fP ¥×¥í¥»¥¹¤Ï I/O Í×µá¤Ë¤è¤Ã¤ÆÄä»ß¤¹¤ë¤«¡¢
-¤è¤ê¹â¤¤Í¥ÀèÅÙ¤Î¥×¥í¥»¥¹¤Ë¤è¤Ã¤ÆÃÖ¤­¤«¤¨¤é¤ì¤ë¤«¡¢
+\fBSCHED_FIFO\fP プロセスは I/O 要求によって停止するか、
+より高い優先度のプロセスによって置きかえられるか、
 .BR sched_yield (2)
-¤ò¸Æ¤Ó½Ð¤¹¤Þ¤Ç¼Â¹Ô¤ò³¤±¤ë¡£
+を呼び出すまで実行を続ける。
 .\"O .SS SCHED_RR: Round Robin scheduling
-.SS SCHED_RR: ¥é¥¦¥ó¥É¡¦¥í¥Ó¥ó (round robin) ¡¦¥¹¥±¥¸¥å¡¼¥ê¥ó¥°
+.SS SCHED_RR: ã\83©ã\82¦ã\83³ã\83\89ã\83»ã\83­ã\83\93ã\83³ (round robin) ã\83»ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°
 .\"O \fBSCHED_RR\fP is a simple enhancement of \fBSCHED_FIFO\fP.
 .\"O Everything
 .\"O described above for \fBSCHED_FIFO\fP also applies to \fBSCHED_RR\fP,
@@ -333,21 +333,21 @@ sched_setscheduler, sched_getscheduler \-
 .\"O The length of the time quantum can be
 .\"O retrieved using
 .\"O .BR sched_rr_get_interval (2).
-\fBSCHED_RR\fP ¤Ï \fBSCHED_FIFO\fP ¤Îñ½ã¤Ê³ÈÄ¥¤Ç¤¢¤ë¡£
-¾å½Ò¤µ¤ì¤¿ \fBSCHED_FIFO\fP ¤Ë´Ø¤¹¤ëµ­½Ò¤ÏÁ´¤Æ \fBSCHED_RR\fP ¤Ë
-ŬÍѤǤ­¤ë¡£°Û¤Ê¤ë¤Î¤Ï¤½¤ì¤¾¤ì¤Î¥×¥í¥»¥¹¤ÏºÇÂç»þ´Öñ°Ì¤Þ¤Ç¤·¤«¼Â¹Ô¤Ç¤­¤Ê¤¤
-¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£\fBSCHED_RR\fP ¥×¥í¥»¥¹¤¬»þ´Öñ°Ì¤ÈƱ¤¸¤«¤½¤ì¤è¤ê
-Ť¤»þ´Ö¼Â¹Ô¤µ¤ì¤ë¤È¡¢¤½¤ÎÍ¥ÀèÅ٤Υꥹ¥È¤ÎºÇ¸å¤ËÃÖ¤«¤ì¤ë¡£
-¤è¤ê¹â¤¤Í¥ÀèÅÙ¤Î¥×¥í¥»¥¹¤Ë¤è¤Ã¤ÆÃÖ¤­¤«¤¨¤é¤ì¡¢¤½¤Î¸å¼Â¹Ô¤òºÆ³«¤·¤¿
-\fBSCHED_RR\fP ¥×¥í¥»¥¹¤Ï¡¢¤½¤Î¥é¥¦¥ó¥É¡¦¥í¥Ó¥ó»þ´Öñ°Ì¤ò´°Á´¤Ë»È¤¤ÀÚ¤ë
-¤Þ¤Ç¼Â¹Ô¤µ¤ì¤ë¡£¤½¤Î»þ´Öñ°Ì¤ÎŤµ¤Ï
+\fBSCHED_RR\fP は \fBSCHED_FIFO\fP の単純な拡張である。
+上述された \fBSCHED_FIFO\fP に関する記述は全て \fBSCHED_RR\fP に
+適用できる。異なるのはそれぞれのプロセスは最大時間単位までしか実行できない
+ということである。\fBSCHED_RR\fP プロセスが時間単位と同じかそれより
+長い時間実行されると、その優先度のリストの最後に置かれる。
+より高い優先度のプロセスによって置きかえられ、その後実行を再開した
+\fBSCHED_RR\fP プロセスは、そのラウンド・ロビン時間単位を完全に使い切る
+まで実行される。その時間単位の長さは
 .BR sched_rr_get_interval (2)
-¤ò»È¤Ã¤Æ¼èÆÀ¤Ç¤­¤ë¡£
+を使って取得できる。
 .\" On Linux 2.4, the length of the RR interval is influenced
 .\" by the process nice value -- MTK
 .\"
 .\"O .SS SCHED_OTHER: Default Linux time-sharing scheduling
-.SS SCHED_OTHER: Linux ¤Î¥Ç¥Õ¥©¥ë¥È¤Î»þʬ³ä¥¹¥±¥¸¥å¡¼¥ê¥ó¥°
+.SS SCHED_OTHER: Linux ã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®æ\99\82å\88\86å\89²ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°
 .\"O \fBSCHED_OTHER\fP can only be used at static priority 0.
 .\"O \fBSCHED_OTHER\fP is the standard Linux time-sharing scheduler that is
 .\"O intended for all processes that do not require the special
@@ -362,24 +362,24 @@ sched_setscheduler, sched_getscheduler \-
 .\"O and increased for each time quantum the process is ready to run,
 .\"O but denied to run by the scheduler.
 .\"O This ensures fair progress among all \fBSCHED_OTHER\fP processes.
-\fBSCHED_OTHER\fP ¤ÏÀÅŪͥÀèÅÙ 0 ¤Ç¤Î¤ß»ÈÍѤǤ­¤ë¡£
-\fBSCHED_OTHER\fP ¤Ï Linux É¸½à¤Î»þʬ³ä¥¹¥±¥¸¥å¡¼¥é¤Ç¡¢
-ÆÃÊ̤ʥꥢ¥ë¥¿¥¤¥àµ¡¹½¤òɬÍפȤ·¤Æ¤¤¤Ê¤¤Á´¤Æ¤Î¥×¥í¥»¥¹¤Ç»ÈÍѤµ¤ì¤ë¡£
-¼Â¹Ô¤¹¤ë¥×¥í¥»¥¹¤Ï¡¢ÀÅŪͥÀèÅÙ 0 ¤Î¥ê¥¹¥È¤«¤é¡¢¤³¤Î¥ê¥¹¥È¤ÎÃæ¤À¤±¤Ç
-·èÄꤵ¤ì¤ë¡ÖưŪ¤Ê¡×Í¥ÀèÅÙ (dynamic priority) ¤Ë´ð¤¤¤Æ·èÄꤵ¤ì¤ë¡£
-ưŪ¤ÊÍ¥ÀèÅÙ¤Ï
+\fBSCHED_OTHER\fP は静的優先度 0 でのみ使用できる。
+\fBSCHED_OTHER\fP は Linux 標準の時分割スケジューラで、
+特別なリアルタイム機構を必要としていない全てのプロセスで使用される。
+実行するプロセスは、静的優先度 0 のリストから、このリストの中だけで
+決定される「動的な」優先度 (dynamic priority) に基いて決定される。
+動的な優先度は
 .RB ( nice (2)
-¤ä
+や
 .BR setpriority (2)
-¤Ë¤è¤êÀßÄꤵ¤ì¤ë) nice Ãͤ˴ð¤Å¤¤¤Æ·èÄꤵ¤ì¤ë¤â¤Î¤Ç¡¢
-ñ°Ì»þ´ÖËè¤Ë¡¢¥×¥í¥»¥¹¤¬¼Â¹Ô²Äǽ¤À¤¬¡¢¥¹¥±¥¸¥å¡¼¥é¤Ë¤è¤ê¼Â¹Ô¤¬µñÈݤµ¤ì¤¿
-¾ì¹ç¤Ë¥¤¥ó¥¯¥ê¥á¥ó¥È¤µ¤ì¤ë¡£
-¤³¤ì¤Ë¤è¤ê¡¢Á´¤Æ¤Î \fBSCHED_OTHER\fP ¥×¥í¥»¥¹¤Ç¤Î¸øÊ¿À­¤¬Êݾڤµ¤ì¤ë¡£
+により設定される) nice 値に基づいて決定されるもので、
+単位時間毎に、プロセスが実行可能だが、スケジューラにより実行が拒否された
+場合にインクリメントされる。
+これにより、全ての \fBSCHED_OTHER\fP プロセスでの公平性が保証される。
 .\"
 .\"O .SS SCHED_BATCH: Scheduling batch processes
-.SS SCHED_BATCH: ¥Ð¥Ã¥Á¥×¥í¥»¥¹¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°
+.SS SCHED_BATCH: ã\83\90ã\83\83ã\83\81ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°
 .\"O (Since Linux 2.6.16.)
-(Linux 2.6.16 °Ê¹ß)
+(Linux 2.6.16 以降)
 .\"O \fBSCHED_BATCH\fP can only be used at static priority 0.
 .\"O This policy is similar to \fBSCHED_OTHER\fP in that it schedules
 .\"O the process according to its dynamic priority
@@ -390,14 +390,14 @@ sched_setscheduler, sched_getscheduler \-
 .\"O Consequently, the scheduler will apply a small scheduling
 .\"O penalty with respect to wakeup behaviour,
 .\"O so that this process is mildly disfavored in scheduling decisions.
-\fBSCHED_BATCH\fP ¤ÏÀÅŪͥÀèÅÙ 0 ¤Ç¤Î¤ß»ÈÍѤǤ­¤ë¡£
-¤³¤Î¥Ý¥ê¥·¡¼¤Ï (nice Ãͤ˴ð¤Å¤¯) Æ°Åª¤ÊÍ¥ÀèÅ٤ˤ·¤¿¤¬¤Ã¤Æ¥×¥í¥»¥¹¤Î
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤¬¹Ô¤ï¤ì¤ë¤È¤¤¤¦ÅÀ¤Ç¡¢\fBSCHED_OTHER\fP ¤Ë»÷¤Æ¤¤¤ë¡£
-°Û¤Ê¤ë¤Î¤Ï¡¢¤³¤Î¥Ý¥ê¥·¡¼¤Ç¤Ï¡¢¥×¥í¥»¥¹¤¬¾ï¤Ë CPU ¤ËÉé²Ù¤Î¤«¤«¤ë (CPU-intensive)
-½èÍý¤ò¹Ô¤¦¤È¡¢¥¹¥±¥¸¥å¡¼¥é¤¬²¾Äꤹ¤ëÅÀ¤Ç¤¢¤ë¡£
-¥¹¥±¥¸¥å¡¼¥é¤Ï¥×¥í¥»¥¹¤ò¸Æ¤Óµ¯¤³¤¹Ëè¤Ë¤½¤Î¥×¥í¥»¥¹¤Ë¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¾å¤Î
-¥Ú¥Ê¥ë¥Æ¥£¤ò¾¯¤·²Ý¤·¡¢¤½¤Î·ë²Ì¡¢¤³¤Î¥×¥í¥»¥¹¤Ï¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Î·èÄê¤Ç
-¼ã´³Îä¶ø¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¡£
+\fBSCHED_BATCH\fP は静的優先度 0 でのみ使用できる。
+このポリシーは (nice 値に基づく) 動的な優先度にしたがってプロセスの
+スケジューリングが行われるという点で、\fBSCHED_OTHER\fP に似ている。
+異なるのは、このポリシーでは、プロセスが常に CPU に負荷のかかる (CPU-intensive)
+処理を行うと、スケジューラが仮定する点である。
+スケジューラはプロセスを呼び起こす毎にそのプロセスにスケジューリング上の
+ペナルティを少し課し、その結果、このプロセスはスケジューリングの決定で
+若干冷遇されるようになる。
 
 .\" The following paragraph is drawn largely from the text that
 .\" accompanied Ingo Molnar's patch for the implementation of
@@ -406,19 +406,19 @@ sched_setscheduler, sched_getscheduler \-
 .\"O but do not want to lower their nice value,
 .\"O and for workloads that want a deterministic scheduling policy without
 .\"O interactivity causing extra preemptions (between the workload's tasks).
-¤³¤Î¥Ý¥ê¥·¡¼¤Ï¡¢ÈóÂÐÏÃŪ¤Ê½èÍý¤À¤¬¤½¤Î nice Ãͤò²¼¤²¤¿¤¯¤Ê¤¤½èÍý¤ä¡¢
-(½èÍý¤Î¥¿¥¹¥¯´Ö¤Ç) Í¾·×¤Ê¥¿¥¹¥¯¤ÎÃÖ¤­´¹¤¨¤Î¸¶°ø¤È¤¢¤ëÂÐÏÃŪ¤Ê½èÍý¤Ê¤·¤Ç
-³ÎÄêŪ¤Ê (deterministic) ¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤òŬÍѤ·¤¿¤¤½èÍý¤Ë
-ÂФ·¤ÆÍ­¸ú¤Ç¤¢¤ë¡£
+このポリシーは、非対話的な処理だがその nice 値を下げたくない処理や、
+(処理のタスク間で) 余計なタスクの置き換えの原因とある対話的な処理なしで
+確定的な (deterministic) スケジューリング・ポリシーを適用したい処理に
+対して有効である。
 .\"
 .\"O .SS SCHED_IDLE: Scheduling very low priority jobs
-.SS SCHED_IDLE: Èó¾ï¤ËÍ¥ÀèÅÙ¤ÎÄ㤤¥¸¥ç¥Ö¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°
+.SS SCHED_IDLE: é\9d\9e常ã\81«å\84ªå\85\88度ã\81®ä½\8eã\81\84ã\82¸ã\83§ã\83\96ã\81®ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°
 .\"O (Since Linux 2.6.23.)
-(Linux 2.6.23 °Ê¹ß)
+(Linux 2.6.23 以降)
 .\"O \fBSCHED_IDLE\fP can only be used at static priority 0;
 .\"O the process nice value has no influence for this policy.
-\fBSCHED_IDLE\fP ¤ÏÀÅŪͥÀèÅÙ 0 ¤Ç¤Î¤ß»ÈÍѤǤ­¤ë¡£
-¤³¤Î¥Ý¥ê¥·¡¼¤Ç¤Ï¥×¥í¥»¥¹¤Î nice Ãͤϥ¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Ë±Æ¶Á¤òÍ¿¤¨¤Ê¤¤¡£
+\fBSCHED_IDLE\fP は静的優先度 0 でのみ使用できる。
+このポリシーではプロセスの nice 値はスケジューリングに影響を与えない。
 
 .\"O This policy is intended for running jobs at extremely low
 .\"O priority (lower even than a +19 nice value with the
@@ -426,15 +426,15 @@ sched_setscheduler, sched_getscheduler \-
 .\"O or
 .\"O .B SCHED_BATCH
 .\"O policies).
-Èó¾ï¤ËÄ㤤ͥÀèÅ٤ǤΥ¸¥ç¥Ö¤Î¼Â¹Ô¤òÌÜŪ¤È¤·¤¿¤â¤Î¤Ç¤¢¤ë
-(Èó¾ï¤ËÄ㤤ͥÀèÅ٤Ȥϡ¢¥Ý¥ê¥·¡¼
+非常に低い優先度でのジョブの実行を目的としたものである
+(é\9d\9e常ã\81«ä½\8eã\81\84å\84ªå\85\88度ã\81¨ã\81¯ã\80\81ã\83\9dã\83ªã\82·ã\83¼
 .B SCHED_OTHER
-¤«
+か
 .B SCHED_BATCH
-¤Ç¤Î nice ÃÍ +19 ¤è¤ê¤µ¤é¤ËÄ㤤ͥÀèÅ٤Ǥ¢¤ë)¡£
+での nice 値 +19 よりさらに低い優先度である)。
 .\"
 .\"O .SS Privileges and resource limits
-.SS Æø¢¤È¥ê¥½¡¼¥¹À©¸Â
+.SS 特権とリソース制限
 .\"O In Linux kernels before 2.6.12, only privileged
 .\"O .RB ( CAP_SYS_NICE )
 .\"O processes can set a nonzero static priority (i.e., set a real-time
@@ -447,19 +447,19 @@ sched_setscheduler, sched_getscheduler \-
 .\"O (i.e., the process specified by
 .\"O .IR pid )
 .\"O whose policy is being changed.
-2.6.12 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Linux ¥«¡¼¥Í¥ë¤Ç¤Ï¡¢
-Æø¢¥×¥í¥»¥¹
+2.6.12 より前のバージョンの Linux カーネルでは、
+ç\89¹æ¨©ã\83\97ã\83­ã\82»ã\82¹
 .RB ( CAP_SYS_NICE
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò»ý¤Ä¥×¥í¥»¥¹) ¤À¤±¤¬ 0 °Ê³°¤ÎÀÅŪͥÀèÅÙ¤òÀßÄꤹ¤ë
-(¤¹¤Ê¤ï¤Á¡¢¥ê¥¢¥ë¥¿¥¤¥à¡¦¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤òÀßÄꤹ¤ë) ¤³¤È¤¬¤Ç¤­¤ë¡£
-ÈóÆø¢¥×¥í¥»¥¹¤¬¤Ç¤­¤ëÊѹ¹¤Ï
+ケーパビリティを持つプロセス) だけが 0 以外の静的優先度を設定する
+(すなわち、リアルタイム・スケジューリング・ポリシーを設定する) ことができる。
+非特権プロセスができる変更は
 .B SCHED_OTHER
-¥Ý¥ê¥·¡¼¤òÀßÄꤹ¤ë¤³¤È¤À¤±¤Ç¤¢¤ê¡¢¤µ¤é¤Ë¤³¤ÎÊѹ¹¤ò¹Ô¤¨¤ë¤Î¤Ï
+ポリシーを設定することだけであり、さらにこの変更を行えるのは
 .BR sched_setscheduler ()
-¤Î¸Æ¤Ó½Ð¤·¸µ¤Î¼Â¸ú¥æ¡¼¥¶ ID ¤¬¥Ý¥ê¥·¡¼¤ÎÊѹ¹ÂÐ¾Ý¥×¥í¥»¥¹
+ã\81®å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®å®\9få\8a¹ã\83¦ã\83¼ã\82¶ ID ã\81\8cã\83\9dã\83ªã\82·ã\83¼ã\81®å¤\89æ\9b´å¯¾è±¡ã\83\97ã\83­ã\82»ã\82¹
 .RI ( pid
-¤Ç»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹) ¤Î¼Â¥æ¡¼¥¶ ID ¤«¼Â¸ú¥æ¡¼¥¶ ID ¤È
-°ìÃפ¹¤ë¾ì¹ç¤À¤±¤Ç¤¢¤ë¡£
+で指定されたプロセス) の実ユーザ ID か実効ユーザ ID と
+一致する場合だけである。
 
 .\"O Since Linux 2.6.12, the
 .\"O .B RLIMIT_RTPRIO
@@ -469,16 +469,16 @@ sched_setscheduler, sched_getscheduler \-
 .\"O and
 .\"O .B SCHED_FIFO
 .\"O policies.
-Linux 2.6.12 °Ê¹ß¤Ç¤Ï¡¢¥ê¥½¡¼¥¹À©¸Â
+Linux 2.6.12 以降では、リソース制限
 .B RLIMIT_RTPRIO
-¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤¬
+が定義されており、
+スケジューリング・ポリシーが
 .B SCHED_RR
-¤È
+と
 .B SCHED_FIFO
-¤Î¾ì¹ç¤Î¡¢ÈóÆø¢¥×¥í¥»¥¹¤ÎÀÅŪͥÀèÅ٤ξå¸Â¤òÄê¤á¤Æ¤¤¤ë¡£
+の場合の、非特権プロセスの静的優先度の上限を定めている。
 .\"O The rules for changing scheduling policy and priority are as follows:
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤ÈÍ¥ÀèÅÙ¤òÊѹ¹¤¹¤ëºÝ¤Î¥ë¡¼¥ë¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£
+スケジューリング・ポリシーと優先度を変更する際のルールは以下の通りである。
 .IP * 2
 .\"O If an unprivileged process has a nonzero
 .\"O .B RLIMIT_RTPRIO
@@ -487,30 +487,30 @@ Linux 2.6.12 
 .\"O value higher than the maximum of its current priority and its
 .\"O .B RLIMIT_RTPRIO
 .\"O soft limit.
-ÈóÆø¢¥×¥í¥»¥¹¤Ë 0 °Ê³°¤Î
+非特権プロセスに 0 以外の
 .B RLIMIT_RTPRIO
-¥½¥Õ¥È¡¦¥ê¥ß¥Ã¥È¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-ÈóÆø¢¥×¥í¥»¥¹¤Ï¤½¤Î¥×¥í¥»¥¹¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤ÈÍ¥ÀèÅÙ¤ò
-Êѹ¹¤Ç¤­¤ë¤¬¡¢Í¥ÀèÅÙ¤ò¸½ºß¤Î¼«¿È¤ÎÍ¥ÀèÅÙ¤È
+ソフト・リミットが設定されている場合、
+非特権プロセスはそのプロセスのスケジューリング・ポリシーと優先度を
+変更できるが、優先度を現在の自身の優先度と
 .B RLIMIT_RTPRIO
-¥½¥Õ¥È¡¦¥ê¥ß¥Ã¥È¤ÎÂ礭¤¤Êý¤è¤ê¤â¹â¤¤ÃͤËÀßÄê¤Ç¤­¤Ê¤¤¤È¤¤¤¦À©¸Â¤¬²Ý¤µ¤ì¤ë¡£
+ソフト・リミットの大きい方よりも高い値に設定できないという制限が課される。
 .IP *
 .\"O If the
 .\"O .B RLIMIT_RTPRIO
 .\"O soft limit is 0, then the only permitted changes are to lower the priority,
 .\"O or to switch to a non-real-time policy.
 .B RLIMIT_RTPRIO
-¥½¥Õ¥È¡¦¥ê¥ß¥Ã¥È¤¬ 0 ¤Î¾ì¹ç¡¢Í¥ÀèÅÙ¤ò²¼¤²¤ë¤«¡¢
-¥ê¥¢¥ë¥¿¥¤¥à¤Ç¤Ê¤¤¥Ý¥ê¥·¡¼¤ØÀÚ¤êÂؤ¨¤ë¤«¤ÎÊѹ¹¤À¤±¤¬µö²Ä¤µ¤ì¤ë¡£
+ソフト・リミットが 0 の場合、優先度を下げるか、
+リアルタイムでないポリシーへ切り替えるかの変更だけが許可される。
 .IP *
 .\"O Subject to the same rules,
 .\"O another unprivileged process can also make these changes,
 .\"O as long as the effective user ID of the process making the change
 .\"O matches the real or effective user ID of the target process.
-¤¢¤ëÈóÆø¢¥×¥í¥»¥¹¤¬ÊÌ¤Î¥×¥í¥»¥¹¤ËÂФ·¤Æ¤³¤ì¤é¤ÎÊѹ¹¤ò¹Ô¤¦ºÝ¤Ë¤â¡¢
-Ʊ¤¸¥ë¡¼¥ë¤¬Å¬ÍѤµ¤ì¤ë¡£Êѹ¹¤ò¹Ô¤¨¤ë¤Î¤Ï¡¢Êѹ¹¤ò¹Ô¤ª¤¦¤È¤¹¤ë¥×¥í¥»¥¹
-¤Î¼Â¸ú¥æ¡¼¥¶ ID ¤¬Êѹ¹ÂÐ¾Ý¤Î¥×¥í¥»¥¹¤Î¼Â¥æ¡¼¥¶ ID ¤«¼Â¸ú¥æ¡¼¥¶ ID ¤È
-°ìÃפ·¤Æ¤¤¤ë¾ì¹ç¤Ë¸Â¤é¤ì¤ë¡£
+ある非特権プロセスが別のプロセスに対してこれらの変更を行う際にも、
+å\90\8cã\81\98ã\83«ã\83¼ã\83«ã\81\8cé\81©ç\94¨ã\81\95ã\82\8cã\82\8bã\80\82å¤\89æ\9b´ã\82\92è¡\8cã\81\88ã\82\8bã\81®ã\81¯ã\80\81å¤\89æ\9b´ã\82\92è¡\8cã\81\8aã\81\86ã\81¨ã\81\99ã\82\8bã\83\97ã\83­ã\82»ã\82¹
+の実効ユーザ ID が変更対象のプロセスの実ユーザ ID か実効ユーザ ID と
+一致している場合に限られる。
 .IP *
 .\"O Special rules apply for the
 .\"O .BR SCHED_IDLE :
@@ -519,10 +519,10 @@ Linux 2.6.12 
 .\"O .BR RLIMIT_RTPRIO
 .\"O resource limit.
 .B SCHED_IDLE
-¤Ë¤ÏÆÃÊ̤ʥ롼¥ë¤¬Å¬ÍѤµ¤ì¡¢
-¤³¤Î¥Ý¥ê¥·¡¼¤Î²¼¤ÇÆ°ºî¤¹¤ëÈóÆø¢¥×¥í¥»¥¹¤Ï¡¢¥ê¥½¡¼¥¹À©¸Â
+には特別なルールが適用され、
+このポリシーの下で動作する非特権プロセスは、リソース制限
 .B RLIMIT_RTPRIO
-¤ÎÃͤˤ«¤«¤ï¤é¤º¼«¿È¤Î¥Ý¥ê¥·¡¼¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£
+の値にかかわらず自身のポリシーを変更することができない。
 .PP
 .\"O Privileged
 .\"O .RB ( CAP_SYS_NICE )
@@ -530,23 +530,23 @@ Linux 2.6.12 
 .\"O .B RLIMIT_RTPRIO
 .\"O limit; as with older kernels,
 .\"O they can make arbitrary changes to scheduling policy and priority.
-Æø¢¥×¥í¥»¥¹
+ç\89¹æ¨©ã\83\97ã\83­ã\82»ã\82¹
 .RB ( CAP_SYS_NICE
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò»ý¤Ä¥×¥í¥»¥¹) ¤Î¾ì¹ç¡¢
+ケーパビリティを持つプロセス) の場合、
 .B RLIMIT_RTPRIO
-¤ÎÀ©¸Â¤Ï̵»ë¤µ¤ì¤ë;
-¸Å¤¤¥«¡¼¥Í¥ë¤ÈƱ¤¸¤è¤¦¤Ë¡¢¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤ÈÍ¥ÀèÅÙ¤ËÂФ·
-Ǥ°Õ¤ÎÊѹ¹¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
+の制限は無視される;
+古いカーネルと同じように、スケジューリング・ポリシーと優先度に対し
+任意の変更を行うことができる。
 .\"O See
 .\"O .BR getrlimit (2)
 .\"O for further information on
 .\"O .BR RLIMIT_RTPRIO .
 .B RLIMIT_RTPRIO
-¤Ë´Ø¤¹¤ë¤â¤Ã¤È¾Ü¤·¤¤¾ðÊó¤Ï
+に関するもっと詳しい情報は
 .BR getrlimit (2)
-¤ò»²¾È¤Î¤³¤È¡£
+を参照のこと。
 .\"O .SS Response time
-.SS ±þÅú»þ´Ö (response time)
+.SS 応答時間 (response time)
 .\"O A blocked high priority process waiting for the I/O has a certain
 .\"O response time before it is scheduled again.
 .\"O The device driver writer
@@ -554,34 +554,34 @@ Linux 2.6.12 
 .\"O interrupt handler.
 .\"O .\" as described in
 .\"O .\" .BR request_irq (9).
-I/O ÂÔ¤Á¤ÇÄä»ß¤·¤¿¤è¤ê¹â¤¤Í¥ÀèÅÙ¤Î¥×¥í¥»¥¹¤ÏºÆ¤Ó¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤µ¤ì¤ë
-Á°¤Ë¤¤¤¯¤é¤«¤Î±þÅú»þ´Ö¤¬¤«¤«¤ë¡£¥Ç¥Ð¥¤¥¹¡¦¥É¥é¥¤¥Ð¡¼¤ò½ñ¤¯¾ì¹ç¤Ë¤Ï
+I/O 待ちで停止したより高い優先度のプロセスは再びスケジューリングされる
+前にいくらかの応答時間がかかる。デバイス・ドライバーを書く場合には
 .\" .BR request_irq (9)
-.\" ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë
-"slow interrupt" ³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¡¼¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç
-¤³¤Î±þÅú»þ´Ö¤ò·àŪ¤Ë¸º¾¯¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+.\" に記述されている
+"slow interrupt" 割り込みハンドラーを使用することで
+この応答時間を劇的に減少させることができる。
 .\"O .SS Miscellaneous
-.SS ¤½¤Î¾
+.SS その他
 .\"O Child processes inherit the scheduling policy and parameters across a
 .\"O .BR fork (2).
 .\"O The scheduling policy and parameters are preserved across
 .\"O .BR execve (2).
-»Ò¥×¥í¥»¥¹¤Ï
+子プロセスは
 .BR fork (2)
-¤ÎºÝ¤Ë¿Æ¥×¥í¥»¥¹¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤È¥Ñ¥é¥á¡¼¥¿¤ò·Ñ¾µ¤¹¤ë¡£
+の際に親プロセスのスケジューリング・ポリシーとパラメータを継承する。
 .BR execve (2)
-¤ÎÁ°¸å¤Ç¡¢¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤È¥Ñ¥é¥á¡¼¥¿¤ÏÊÝ»ý¤µ¤ì¤ë¡£
+の前後で、スケジューリング・ポリシーとパラメータは保持される。
 
 .\"O Memory locking is usually needed for real-time processes to avoid
 .\"O paging delays; this can be done with
 .\"O .BR mlock (2)
 .\"O or
 .\"O .BR mlockall (2).
-¥ê¥¢¥ë¥¿¥¤¥à¡¦¥×¥í¥»¥¹¤ÏÂçÄñ¡¢¥Ú¡¼¥¸¥ó¥°¤ÎÂÔ¤Á»þ´Ö¤òÈò¤±¤ë¤¿¤á¤Ë
+リアルタイム・プロセスは大抵、ページングの待ち時間を避けるために
 .BR mlock (2)
-¤ä
+や
 .BR mlockall (2)
-¤ò»È¤Ã¤Æ¥á¥â¥ê¡¦¥í¥Ã¥¯¤ò¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+を使ってメモリ・ロックをしなければならない。
 
 .\"O Since a nonblocking infinite loop in a process scheduled under
 .\"O \fBSCHED_FIFO\fP or \fBSCHED_RR\fP will block all processes with lower
@@ -590,21 +590,21 @@ I/O 
 .\"O tested application.
 .\"O This will allow an emergency kill of tested
 .\"O real-time applications that do not block or terminate as expected.
-\fBSCHED_FIFO\fP ¤ä \fBSCHED_RR\fP ¤Ç¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤µ¤ì¤ë
-¥×¥í¥»¥¹¤¬Ää»ß¤»¤º¤Ë̵¸Â¥ë¡¼¥×¤Ë´Ù¤ë¤È¡¢
-¾¤ÎÁ´¤Æ¤Î¤è¤êÄ㤤ͥÀèÅÙ¤Î¥×¥í¥»¥¹¤ò±Êµ×¤ËÄä»ß (block) ¤µ¤»¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢
-¥½¥Õ¥È¥¦¥§¥¢³«È¯¼Ô¤Ï¥³¥ó¥½¡¼¥ë¤Î¥·¥§¥ë¤ÎÀÅŪͥÀèÅÙ¤ò¥Æ¥¹¥È¤¹¤ë
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤è¤ê¤â¾ï¤Ë¹â¤¯ÊݤĤ٤­¤Ç¤¢¤ë¡£
-¤³¤ì¤Ë¤è¤Ã¤Æ´üÂÔÄ̤ê¤ËÄä»ß¤·¤¿¤ê½ªÎ»¤·¤¿¤ê¤·¤Ê¤¤¥ê¥¢¥ë¥¿¥¤¥à¡¦
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¶ÛµÞ½ªÎ»¤µ¤»¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ë¡£
+\fBSCHED_FIFO\fP や \fBSCHED_RR\fP でスケジューリングされる
+プロセスが停止せずに無限ループに陥ると、
+他の全てのより低い優先度のプロセスを永久に停止 (block) させてしまうので、
+ソフトウェア開発者はコンソールのシェルの静的優先度をテストする
+アプリケーションよりも常に高く保つべきである。
+これによって期待通りに停止したり終了したりしないリアルタイム・
+アプリケーションを緊急終了させることが可能になる。
 .\"O See also the description of the
 .\"O .BR RLIMIT_RTTIME
 .\"O resource limit in
 .\"O .BR getrlimit (2).
 .BR getrlimit (2)
-¤Î¥ê¥½¡¼¥¹À©¸Â
+のリソース制限
 .B RLIMIT_RTTIME
-¤ÎÀâÌÀ¤â»²¾È¤Î¤³¤È¡£
+の説明も参照のこと。
 
 .\"O POSIX systems on which
 .\"O .BR sched_setscheduler ()
@@ -613,15 +613,15 @@ I/O 
 .\"O are available define
 .\"O .B _POSIX_PRIORITY_SCHEDULING
 .\"O in \fI<unistd.h>\fP.
-POSIX ¥·¥¹¥Æ¥à¤Ç¤Ï \fI<unistd.h>\fP ¤Ë
+POSIX システムでは \fI<unistd.h>\fP に
 .B _POSIX_PRIORITY_SCHEDULING
-¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ß
+が定義されている場合にのみ
 .BR sched_setscheduler ()
-¤È
+と
 .BR sched_getscheduler ()
-¤¬»ÈÍѤǤ­¤ë¡£
+が使用できる。
 .\"O .SH "RETURN VALUE"
-.SH ÊÖ¤êÃÍ
+.SH 返り値
 .\"O On success,
 .\"O .BR sched_setscheduler ()
 .\"O returns zero.
@@ -631,39 +631,39 @@ POSIX 
 .\"O On error, \-1 is returned, and
 .\"O .I errno
 .\"O is set appropriately.
-À®¸ù¤·¤¿¾ì¹ç¡¢
+成功した場合、
 .BR sched_setscheduler ()
-¤Ï 0 ¤òÊÖ¤¹¡£
-À®¸ù¤·¤¿¾ì¹ç¡¢
+は 0 を返す。
+成功した場合、
 .BR sched_getscheduler ()
-¤Ï¸½ºß¤Î¤½¤Î¥×¥í¥»¥¹¤Î¥Ý¥ê¥·¡¼ (ÈóÉé¤ÎÀ°¿ô) ¤òÊÖ¤¹¡£
-¥¨¥é¡¼¤Î¾ì¹ç¡¢\-1 ¤¬ÊÖ¤µ¤ì¡¢
+は現在のそのプロセスのポリシー (非負の整数) を返す。
+エラーの場合、\-1 が返され、
 .I errno
-¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£
+が適切に設定される。
 .\"O .SH ERRORS
-.SH ¥¨¥é¡¼
+.SH ã\82¨ã\83©ã\83¼
 .TP
 .B EINVAL
 .\"O The scheduling \fIpolicy\fP is not one of the recognized policies,
 .\"O or \fIparam\fP does not make sense for the \fIpolicy\fP.
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼ \fIpolicy\fP ¤¬´Ö°ã¤Ã¤Æ¤¤¤ë¤«¡¢
-\fIparam\fP ¤¬¤½¤Î¥Ý¥ê¥·¡¼¤Ç¤Ï°ÕÌ£¤ò¤Ê¤µ¤Ê¤¤¡£
+スケジューリング・ポリシー \fIpolicy\fP が間違っているか、
+\fIparam\fP がそのポリシーでは意味をなさない。
 .TP
 .B EPERM
 .\"O The calling process does not have appropriate privileges.
-¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤¬Å¬ÀÚ¤ÊÆø¢¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡£
+呼び出したプロセスが適切な特権を持っていない。
 .TP
 .B ESRCH
 .\"O The process whose ID is \fIpid\fP could not be found.
-ID¤¬ \fIpid\fP ¤Î¥×¥í¥»¥¹¤¬¸«¤Ä¤«¤é¤Ê¤¤¡£
+IDが \fIpid\fP のプロセスが見つからない。
 .\"O .SH "CONFORMING TO"
-.SH ½àµò
+.SH 準拠
 .\"O POSIX.1-2001 (but see BUGS below).
 .\"O The \fBSCHED_BATCH\fP and \fBSCHED_IDLE\fP policies are Linux-specific.
-POSIX.1-2001 (⤷¡¢²¼µ­¤Î¥Ð¥°¤ÎÀá¤â»²¾È)¡£
-\fBSCHED_BATCH\fP ¤È \fBSCHED_IDLE\fP ¥Ý¥ê¥·¡¼¤Ï Linux ¸ÇÍ­¤Ç¤¢¤ë¡£
+POSIX.1-2001 (但し、下記のバグの節も参照)。
+\fBSCHED_BATCH\fP と \fBSCHED_IDLE\fP ポリシーは Linux 固有である。
 .\"O .SH NOTES
-.SH Ãí°Õ
+.SH 注意
 .\"O POSIX.1 does not detail the permissions that an unprivileged
 .\"O process requires in order to call
 .\"O .BR sched_setscheduler (),
@@ -671,38 +671,38 @@ POSIX.1-2001 (â
 .\"O For example, the Solaris 7 manual page says that
 .\"O the real or effective user ID of the calling process must
 .\"O match the real user ID or the save set-user-ID of the target process.
-POSIX.1 ¤Ï¡¢ÈóÆø¢¥×¥í¥»¥¹¤¬
+POSIX.1 は、非特権プロセスが
 .BR sched_setscheduler ()
-¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤ËɬÍפʸ¢¸Â¤Î¾ÜºÙ¤òµ¬Äꤷ¤Æ¤ª¤é¤º¡¢
-¾ÜºÙ¤Ï¥·¥¹¥Æ¥à¤Ë¤è¤ê°Û¤Ê¤ë¡£
-Î㤨¤Ð¡¢Solaris 7 ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ç¤Ï¡¢
-¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î¼Â¥æ¡¼¥¶ ID ¤Þ¤¿¤Ï¼Â¸ú¥æ¡¼¥¶ ID ¤¬
-ÀßÄêÂÐ¾Ý¤Î¥×¥í¥»¥¹¤Î¼Â¥æ¡¼¥¶ ID ¤«Êݸ (save) set-user-ID ¤È
-°ìÃפ·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¢¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
+を呼び出すために必要な権限の詳細を規定しておらず、
+詳細はシステムにより異なる。
+例えば、Solaris 7 のマニュアルページでは、
+呼び出し元プロセスの実ユーザ ID または実効ユーザ ID が
+設定対象のプロセスの実ユーザ ID か保存 (save) set-user-ID と
+一致していなければならない、となっている。
 .PP
 .\"O Originally, Standard Linux was intended as a general-purpose operating
 .\"O system being able to handle background processes, interactive
 .\"O applications, and less demanding real-time applications (applications that
 .\"O need to usually meet timing deadlines).
-¤â¤È¤â¤È¤Ï¡¢É¸½à¤Î Linux ¤Ï°ìÈÌÌÜŪ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¤·¤Æ
-À߷פµ¤ì¤Æ¤ª¤ê¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥×¥í¥»¥¹¤äÂÐÏÃŪ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¢
-¥ê¥¢¥ë¥¿¥¤¥àÀ­¤ÎÍ׵᤬¸·¤·¤¯¤Ê¤¤¥ê¥¢¥ë¥¿¥¤¥à¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-(ÉáÄ̤ϥ¿¥¤¥ß¥ó¥°¤Î±þÅú´ü¸Â (deadline) ¤òËþ¤¿¤¹É¬Íפ¬¤¢¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó)
-¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤¿¡£
+もともとは、標準の Linux は一般目的のオペレーティングシステムとして
+設計されており、バックグラウンド・プロセスや対話的アプリケーション、
+リアルタイム性の要求が厳しくないリアルタイム・アプリケーション
+(普通はタイミングの応答期限 (deadline) を満たす必要があるアプリケーション)
+を扱うことができた。
 .\"O Although the Linux kernel 2.6
 .\"O allowed for kernel preemption and the newly introduced O(1) scheduler
 .\"O ensures that the time needed to schedule is fixed and deterministic
 .\"O irrespective of the number of active tasks, true real-time computing
 .\"O was not possible up to kernel version 2.6.17.
-Linux ¥«¡¼¥Í¥ë 2.6 ¤Ç¤Ï¡¢
-¥«¡¼¥Í¥ë¤Î¥×¥ê¥¨¥ó¥×¥·¥ç¥ó (¥¿¥¹¥¯¤ÎÃÖ¤­´¹¤¨) ¤¬²Äǽ¤Ç¤¢¤ê¡¢
-¿·¤¿¤ËƳÆþ¤µ¤ì¤¿ O(1) ¥¹¥±¥¸¥å¡¼¥é¤Ë¤è¤ê¡¢
-¥¢¥¯¥Æ¥£¥Ö¤Ê¥¿¥¹¥¯¤Î¿ô¤Ë´Ø¤ï¤é¤º¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤ËɬÍפʻþ´Ö¤Ï
-¸ÇÄê¤Ç³ÎÄêŪ (deterministic) ¤Ç¤¢¤ë¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤ë¡£
-¤½¤ì¤Ë¤â´Ø¤ï¤é¤º¡¢¥«¡¼¥Í¥ë 2.6.17 ¤Þ¤Ç¤Ï
-¿¿¤Î¥ê¥¢¥ë¥¿¥¤¥à¡¦¥³¥ó¥Ô¥å¡¼¥Æ¥£¥ó¥°¤Ï¼Â¸½¤Ç¤­¤Ê¤«¤Ã¤¿¡£
+Linux カーネル 2.6 では、
+カーネルのプリエンプション (タスクの置き換え) が可能であり、
+新たに導入された O(1) スケジューラにより、
+アクティブなタスクの数に関わらずスケジューリングに必要な時間は
+固定で確定的 (deterministic) であることが保証されている。
+それにも関わらず、カーネル 2.6.17 までは
+真のリアルタイム・コンピューティングは実現できなかった。
 .\"O .SS Real-time features in the mainline Linux kernel
-.SS ËÜή¤Î Linux ¥«¡¼¥Í¥ë¤Ç¤Î¥ê¥¢¥ë¥¿¥¤¥àµ¡Ç½
+.SS æ\9c¬æµ\81ã\81® Linux ã\82«ã\83¼ã\83\8dã\83«ã\81§ã\81®ã\83ªã\82¢ã\83«ã\82¿ã\82¤ã\83 æ©\9fè\83½
 .\" FIXME . Probably this text will need some minor tweaking
 .\" by about the time of 2.6.30; ask Carsten Emde about this then.
 .\"O From kernel version 2.6.18 onwards, however, Linux is gradually
@@ -715,19 +715,19 @@ Linux 
 .\"O mainline kernel
 .\"O (this is expected to be around kernel version 2.6.30),
 .\"O they must be installed to achieve the best real-time performance.
-¥«¡¼¥Í¥ë 2.6.18 ¤«¤é¸½ºß¤Þ¤Ç¡¢
-Linux ¤Ï½ù¡¹¤Ë¥ê¥¢¥ë¥¿¥¤¥àµ¡Ç½¤òÈ÷¤¨¤Ä¤Ä¤¢¤ë¤¬¡¢
-¤³¤ì¤é¤Îµ¡Ç½¤Î¤Û¤È¤ó¤É¤Ï¡¢
-Ingo Molnar, Thomas Gleixner, Steven Rostedt ¤é¤Ë¤è¤Ã¤Æ³«È¯¤µ¤ì¤¿¡¢
-°ÊÁ°¤Î
+カーネル 2.6.18 から現在まで、
+Linux は徐々にリアルタイム機能を備えつつあるが、
+これらの機能のほとんどは、
+Ingo Molnar, Thomas Gleixner, Steven Rostedt らによって開発された、
+以前の
 .I realtime-preempt
-¥Ñ¥Ã¥Á¤«¤é¤Î¤â¤Î¤Ç¤¢¤ë¡£
-¤³¤ì¤é¤Î¥Ñ¥Ã¥Á¤¬ËÜή¤Î¥«¡¼¥Í¥ë¤Ë´°Á´¤Ë¥Þ¡¼¥¸¤µ¤ì¤ë¤Þ¤Ç¤Ï
-(¥Þ¡¼¥¸¤Î´°Î»¤Ï¥«¡¼¥Í¥ë 2.6.30 ¤¢¤¿¤ê¤ÎͽÄê)¡¢
-ºÇ¹â¤Î¥ê¥¢¥ë¥¿¥¤¥àÀ­Ç½¤òãÀ®¤¹¤ë¤Ë¤Ï realtime-preempt ¥Ñ¥Ã¥Á¤ò
-ÁȤ߹þ¤Þ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+パッチからのものである。
+これらのパッチが本流のカーネルに完全にマージされるまでは
+(マージの完了はカーネル 2.6.30 あたりの予定)、
+最高のリアルタイム性能を達成するには realtime-preempt パッチを
+組み込まなければならない。
 .\"O These patches are named:
-¤³¤ì¤é¤Î¥Ñ¥Ã¥Á¤Ï
+これらのパッチは
 .in +4n
 .nf
 
@@ -737,9 +737,9 @@ patch-\fIkernelversion\fP-rt\fIpatchversion\fP
 .\"O .PP
 .\"O and can be downloaded from
 .\"O .IR http://www.kernel.org/pub/linux/kernel/projects/rt/ .
-¤È¤¤¤¦Ì¾Á°¤Ç¡¢
+という名前で、
 .I http://www.kernel.org/pub/linux/kernel/projects/rt/
-¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤ë¡£
+からダウンロードできる。
 
 .\"O Without the patches and prior to their full inclusion into the mainline
 .\"O kernel, the kernel configuration offers only the three preemption classes
@@ -749,14 +749,14 @@ patch-\fIkernelversion\fP-rt\fIpatchversion\fP
 .\"O .B CONFIG_PREEMPT_DESKTOP
 .\"O which respectively provide no, some, and considerable
 .\"O reduction of the worst-case scheduling latency.
-¤³¤Î¥Ñ¥Ã¥Á¤¬Å¬ÍѤµ¤ì¤º¡¢¤«¤Ä¥Ñ¥Ã¥Á¤ÎÆâÍƤÎËÜή¤Î¥«¡¼¥Í¥ë¤Ø¤Î¥Þ¡¼¥¸¤¬
-´°Î»¤¹¤ë¤Þ¤Ç¤Ï¡¢¥«¡¼¥Í¥ë¤ÎÀßÄê¤Ç¤Ï
+このパッチが適用されず、かつパッチの内容の本流のカーネルへのマージが
+完了するまでは、カーネルの設定では
 .BR CONFIG_PREEMPT_NONE ,
 .BR CONFIG_PREEMPT_VOLUNTARY ,
 .B CONFIG_PREEMPT_DESKTOP
-¤Î 3¤Ä¤Î¥×¥ê¥¨¥ó¥×¥·¥ç¥ó¡¦¥¯¥é¥¹ (preemption class) ¤À¤±¤¬Ä󶡤µ¤ì¤ë¡£
-¤³¤ì¤é¤Î¥¯¥é¥¹¤Ç¤Ï¡¢ºÇ°­¤Î¾ì¹ç¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°Ãٱ䤬¤½¤ì¤¾¤ì
-Á´¤¯¸º¤é¤Ê¤¤¡¢¤¤¤¯¤é¤«¸º¤ë¡¢¤«¤Ê¤ê¸º¤ë¡£
+の 3つのプリエンプション・クラス (preemption class) だけが提供される。
+これらのクラスでは、最悪の場合のスケジューリング遅延がそれぞれ
+全く減らない、いくらか減る、かなり減る。
 
 .\"O With the patches applied or after their full inclusion into the mainline
 .\"O kernel, the additional configuration item
@@ -764,22 +764,22 @@ patch-\fIkernelversion\fP-rt\fIpatchversion\fP
 .\"O becomes available.
 .\"O If this is selected, Linux is transformed into a regular
 .\"O real-time operating system.
-¥Ñ¥Ã¥Á¤¬Å¬ÍѤµ¤ì¤¿¾ì¹ç¡¢¤Þ¤¿¤Ï¥Ñ¥Ã¥Á¤ÎÆâÍƤÎËÜή¤Î¥«¡¼¥Í¥ë¤Ø¤Î¥Þ¡¼¥¸¤¬
-´°Î»¤·¤¿¸å¤Ç¤Ï¡¢¾åµ­¤Ë²Ã¤¨¤ÆÀßÄê¹àÌܤȤ·¤Æ
+パッチが適用された場合、またはパッチの内容の本流のカーネルへのマージが
+完了した後では、上記に加えて設定項目として
 .B CONFIG_PREEMPT_RT
-¤¬ÍøÍѲÄǽ¤Ë¤Ê¤ë¡£¤³¤Î¹àÌܤòÁªÂò¤¹¤ë¤È¡¢
-Linux ¤ÏÄ̾ï¤Î¥ê¥¢¥ë¥¿¥¤¥à¡¦¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ËÊѿȤ¹¤ë¡£
+が利用可能になる。この項目を選択すると、
+Linux は通常のリアルタイム・オペレーティングシステムに変身する。
 .\"O The FIFO and RR scheduling policies that can be selected using
 .\"O .BR sched_setscheduler ()
 .\"O are then used to run a process
 .\"O with true real-time priority and a minimum worst-case scheduling latency.
-¤³¤Î¾ì¹ç¤Ë¤Ï¡¢
+この場合には、
 .BR sched_setscheduler ()
-¤ÇÁªÂò¤Ç¤­¤ë FIFO ¤È RR ¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤Ï¡¢
-¿¿¤Î¥ê¥¢¥ë¥¿¥¤¥àÍ¥ÀèÅÙ¤ò»ý¤Ä¥×¥í¥»¥¹¤òºÇ°­¤Î¾ì¹ç¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°Ãٱ䤬
-ºÇ¾®¤È¤Ê¤ë´Ä¶­¤ÇÆ°ºî¤µ¤»¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£
+で選択できる FIFO と RR のスケジューリング・ポリシーは、
+真のリアルタイム優先度を持つプロセスを最悪の場合のスケジューリング遅延が
+最小となる環境で動作させるために使われることになる。
 .\"O .SH BUGS
-.SH ¥Ð¥°
+.SH ã\83\90ã\82°
 .\"O POSIX says that on success,
 .\"O .BR sched_setscheduler ()
 .\"O should return the previous scheduling policy.
@@ -787,15 +787,15 @@ Linux 
 .\"O .BR sched_setscheduler ()
 .\"O does not conform to this requirement,
 .\"O since it always returns 0 on success.
-POSIX ¤Ç¤Ï¡¢À®¸ù»þ¤Ë
+POSIX では、成功時に
 .BR sched_setscheduler ()
-¤ÏľÁ°¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤òÊÖ¤¹¤Ù¤­¤È¤µ¤ì¤Æ¤¤¤ë¡£
-Linux ¤Î
+は直前のスケジューリング・ポリシーを返すべきとされている。
+Linux 
 .BR sched_setscheduler ()
-¤Ï¤³¤ÎÍ×µá»ÅÍͤ˽àµò¤·¤Æ¤ª¤é¤º¡¢
-À®¸ù»þ¤Ë¤Ï¾ï¤Ë 0 ¤òÊÖ¤¹¡£
+はこの要求仕様に準拠しておらず、
+成功時には常に 0 を返す。
 .\"O .SH "SEE ALSO"
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
 .BR getpriority (2),
 .BR mlock (2),
 .BR mlockall (2),
@@ -820,6 +820,6 @@ by Bill O. Gallmeister, O'Reilly & Associates, Inc., ISBN 1-56592-074-0
 .\"O The kernel source file
 .\"O .I Documentation/scheduler/sched-rt-group.txt
 .\"O (since kernel 2.6.25).
-¥«¡¼¥Í¥ë¡¦¥½¡¼¥¹Æâ¤Î¥Õ¥¡¥¤¥ë
+カーネル・ソース内のファイル
 .I Documentation/scheduler/sched-rt-group.txt
-(¥«¡¼¥Í¥ë 2.6.25 °Ê¹ß)
+(カーネル 2.6.25 以降)