OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / release / man2 / sched_setscheduler.2
index dd27ca8..95debad 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"
-.SH Ì¾Á°
+.SH 名前
 sched_setscheduler, sched_getscheduler \-
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤È¥Ñ¥é¥á¡¼¥¿¤òÀßÄê/¼èÆÀ¤¹¤ë
-.SH ½ñ¼°
+スケジューリング・ポリシーとパラメータを設定/取得する
+.SH 書式
 .nf
 .B #include <sched.h>
 .sp
@@ -82,388 +82,388 @@ sched_setscheduler, sched_getscheduler \-
     ...
 };
 .fi
-.SH ÀâÌÀ
+.SH 説明
 .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
-ɸ½à¤Î¡¢¥é¥¦¥ó¥É¥í¥Ó¥ó¤Ë¤è¤ë»þʬ³ä·¿¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¡£
-.\" 2.6 ¥«¡¼¥Í¥ë¥½¡¼¥¹¤Ç¤Ï¡¢SCHED_OTHER ¤Ï¼ÂºÝ¤Ë¤Ï
-.\" SCHED_NORMAL ¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¡£
+標準の、ラウンドロビンによる時分割型のスケジューリング・ポリシー。
+.\" 2.6 カーネルソースでは、SCHED_OTHER は実際には
+.\" SCHED_NORMAL と呼ばれている。
 .TP
 .BR SCHED_BATCH
-¡Ö¥Ð¥Ã¥Á¡×·Á¼°¤Ç¤Î¥×¥í¥»¥¹¤Î¼Â¹ÔÍÑ¡£
+「バッチ」形式でのプロセスの実行用。
 .TP
 .BR SCHED_IDLE
-¡ÖÈó¾ï¤Ë¡×Ä㤤ͥÀèÅÙ¤ÇÆ°ºî¤¹¤ë¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥¸¥ç¥ÖÍÑ¡£
+「非常に」低い優先度で動作するバックグラウンド・ジョブ用。
 .PP
-¤É¤Î¼Â¹Ô²Äǽ¥×¥í¥»¥¹¤òÁªÂò¤¹¤ë¤«¤Ë¤Ä¤¤¤Æ¡¢¤è¤êÀµ³Î¤ÊÀ©¸æ¤òɬÍפȤ¹¤ë
-»þ´Ö¤ÎÀ©Ì󤬸·¤·¤¤ÆÃÊ̤ʥ¢¥×¥ê¥±¡¼¥·¥ç¥óÍѤȤ·¤Æ¡¢
-°Ê²¼¤Î¡Ö¥ê¥¢¥ë¥¿¥¤¥à¡×¥Ý¥ê¥·¡¼¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£
+どの実行可能プロセスを選択するかについて、より正確な制御を必要とする
+時間の制約が厳しい特別なアプリケーション用として、
+以下の「リアルタイム」ポリシーもサポートされている。
 .TP 14
 .BR SCHED_FIFO
-¥Õ¥¡¡¼¥¹¥È¥¤¥ó¡¢¥Õ¥¡¡¼¥¹¥È¥¢¥¦¥È·¿¤Î¥Ý¥ê¥·¡¼¡£
+ファーストイン、ファーストアウト型のポリシー。
 .TP
 .BR SCHED_RR
-¥é¥¦¥ó¥É¥í¥Ó¥ó·¿¤Î¥Ý¥ê¥·¡¼¡£
+ラウンドロビン型のポリシー。
 .PP
-¤³¤ì¤é¤Î¥Ý¥ê¥·¡¼¤Î¤½¤ì¤¾¤ì¤ÎÆ°ºî¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤ÇÀâÌÀ¤¹¤ë¡£
+これらのポリシーのそれぞれの動作については以下で説明する。
 
 .BR sched_getscheduler ()
-¤Ï \fIpid\fP ¤Ç¼±Ê̤µ¤ì¤ë¥×¥í¥»¥¹¤Ë¸½ºßŬÍѤµ¤ì¤Æ¤¤¤ë
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤ò¿Ò¤Í¤ë¡£\fIpid\fP ¤¬ 0 ¤Ê¤é¤Ð¡¢¸Æ¤Ó½Ð¤·¤¿
-¥×¥í¥»¥¹¼«¿È¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤¬ÊÖ¤µ¤ì¤ë¡£
+は \fIpid\fP で識別されるプロセスに現在適用されている
+スケジューリング・ポリシーを尋ねる。\fIpid\fP が 0 ならば、呼び出した
+プロセス自身のスケジューリング・ポリシーが返される。
 .\"
-.SS ¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼ (scheduling policy)
-¥¹¥±¥¸¥å¡¼¥é (scheduler) ¤È¤Ï¥«¡¼¥Í¥ë¤Î¹½À®Í×ÁǤǡ¢
-¼¡¤Ë CPU ¤Ç¼Â¹Ô¤µ¤ì¤ë¼Â¹Ô²Äǽ¤Ê¥×¥í¥»¥¹¤ò·èÄꤹ¤ë¤â¤Î¤Ç¤¢¤ë¡£
-³Æ¡¹¤Î¥×¥í¥»¥¹¤Ë¤Ï¡¢¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤È
-¡ÖÀÅŪ¡×¤Ê¥¹¥±¥¸¥å¡¼¥ê¥ó¥°Í¥ÀèÅÙ \fIsched_priority\fP ¤¬ÂбþÉÕ¤±¤é¤ì¡¢
-¤³¤ì¤é¤ÎÀßÄê¤Ï
+.SS ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°ã\83»ã\83\9dã\83ªã\82·ã\83¼ (scheduling policy)
+スケジューラ (scheduler) とはカーネルの構成要素で、
+次に CPU で実行される実行可能なプロセスを決定するものである。
+各々のプロセスには、スケジューリング・ポリシーと
+「静的」なスケジューリング優先度 \fIsched_priority\fP が対応付けられ、
+これらの設定は
 .BR sched_setscheduler ()
-¤ÇÊѹ¹¤Ç¤­¤ë¡£
-¥¹¥±¥¸¥å¡¼¥é¤Ï¡¢¥·¥¹¥Æ¥à¾å¤ÎÁ´¥×¥í¥»¥¹¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤È
-ÀÅŪͥÀèÅ٤˴ؤ¹¤ëÃμ±¤Ë´ð¤Å¤¤¤Æ·èÄê¤ò¹Ô¤¦¡£
+で変更できる。
+スケジューラは、システム上の全プロセスのスケジューリング・ポリシーと
+静的優先度に関する知識に基づいて決定を行う。
 
-Ä̾ï¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼
+é\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 を指定しなければならない)。
 
-¥ê¥¢¥ë¥¿¥¤¥à¡¦¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼ (\fBSCHED_FIFO\fP, \fBSCHED_RR\fP)
-¤Î²¼¤Ç¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤µ¤ì¤ë¥×¥í¥»¥¹¤Ï¡¢
-\fIsched_priority\fP ¤ÎÃͤϠ1 (ºÇÄã) ¤«¤é 99 (ºÇ¹â) ¤ÎÈϰϤȤʤë
-(¿ô»ú¤«¤éʬ¤«¤ë¤è¤¦¤Ë¡¢¥ê¥¢¥ë¥¿¥¤¥à¡¦¥×¥í¥»¥¹¤Ï¾ï¤ËÄ̾ï¤Î¥×¥í¥»¥¹¤è¤ê¤â
-¹â¤¤Í¥ÀèÅÙ¤ò»ý¤Ä)¡£
-¤³¤³¤ÇÃí°Õ¤¹¤Ù¤­¤Ê¤Î¤Ï¡¢POSIX.1-2001 ¤¬Í׵ᤷ¤Æ¤¤¤ë¤Î¤Ï¡¢
-¥ê¥¢¥ë¥¿¥¤¥à¡¦¥Ý¥ê¥·¡¼¤Î¼ÂÁõ¤Ë¤ª¤¤¤ÆºÇÄã 32 ¼ïÎà¤Î°Û¤Ê¤ëÍ¥ÀèÅÙ¥ì¥Ù¥ë¤¬
-¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤À¤±¤Ç¤¢¤ê¡¢¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¤³¤ÎºÇÄã¸Â¤Î¿ô¤Î
-Í¥ÀèÅÙ¤·¤«Ä󶡤µ¤ì¤Æ¤¤¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£
-°Ü¿¢À­¤¬É¬Í×¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï¡¢
+ã\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 (最高) の範囲となる
+(数字から分かるように、リアルタイム・プロセスは常に通常のプロセスよりも
+高い優先度を持つ)。
+ここで注意すべきなのは、POSIX.1-2001 が要求しているのは、
+リアルタイム・ポリシーの実装において最低 32 種類の異なる優先度レベルが
+サポートされることだけであり、いくつかのシステムではこの最低限の数の
+優先度しか提供されていない、ということである。
+移植性が必要なプログラムでは、
 .BR sched_get_priority_min (2)
-¤È
+と
 .BR sched_get_priority_max (2)
-¤ò»È¤Ã¤Æ¡¢¤¢¤ë¥Ý¥ê¥·¡¼¤¬¥µ¥Ý¡¼¥È¤¹¤ëÍ¥ÀèÅÙ¤ÎÈϰϤòÄ´¤Ù¤ë¤Ù¤­¤Ç¤¢¤ë¡£
+を使って、あるポリシーがサポートする優先度の範囲を調べるべきである。
 
-³µÇ°¤È¤·¤Æ¤Ï¡¢
-¥¹¥±¥¸¥å¡¼¥é¤Ï¤½¤Î \fIsched_priority\fP ¤ÎÃͤ½¤ì¤¾¤ì¤ËÂФ·¤Æ
-¼Â¹Ô²Äǽ¤Ê¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ò´ÉÍý¤·¤Æ¤¤¤ë¡£
-¤É¤Î¥×¥í¥»¥¹¤ò¼¡¤Ë¼Â¹Ô¤¹¤ë¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë¡¢
-¥¹¥±¥¸¥å¡¼¥é¤ÏÀÅŪͥÀèÅ٤κǤâ¹â¤¤¶õ¤Ç¤Ê¤¤¥ê¥¹¥È¤òõ¤·¤Æ¡¢
-¤½¤Î¥ê¥¹¥È¤ÎÀèƬ¤Î¥×¥í¥»¥¹¤òÁªÂò¤¹¤ë¡£
+概念としては、
+スケジューラはその \fIsched_priority\fP の値それぞれに対して
+実行可能なプロセスのリストを管理している。
+どのプロセスを次に実行するかを決定するために、
+スケジューラは静的優先度の最も高い空でないリストを探して、
+そのリストの先頭のプロセスを選択する。
 
-³Æ¥×¥í¥»¥¹¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤Ï¡¢
-¤½¤Î¥×¥í¥»¥¹¤¬Æ±¤¸ÀÅŪͥÀèÅÙ¤ò»ý¤Ä¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ÎÃæ¤Î¤É¤³¤ËÁÞÆþ¤µ¤ì¡¢
-¤³¤Î¥ê¥¹¥È¤ÎÃæ¤ò¤É¤Î¤è¤¦¤Ë°ÜÆ°¤¹¤ë¤«¤ò·èÄꤹ¤ë¡£
+各プロセスのスケジューリング・ポリシーは、
+そのプロセスが同じ静的優先度を持つプロセスのリストの中のどこに挿入され、
+このリストの中をどのように移動するかを決定する。
 
-Á´¤Æ¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Ï¥×¥ê¥¨¥ó¥×¥Æ¥£¥Ö (preemptive) ¤Ç¤¢¤ë:
-¤è¤ê¹â¤¤Í¥ÀèÅÙ¤Î¥×¥í¥»¥¹¤¬¼Â¹Ô²Äǽ¤Ë¤Ê¤ë¤È¡¢¸½ºß¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹¤Ï¼Â¹Ô¸¢¤ò
-¼è¤ê¾å¤²¤é¤ì (preempted)¡¢¤½¤Î¥×¥í¥»¥¹¤ÎÀÅŪͥÀèÅÙ¥ì¥Ù¥ë¤ÎÂÔ¤Á¥ê¥¹¥È¤Ë
-Ìᤵ¤ì¤ë¡£¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤ÏƱ¤¸ÀÅŪͥÀèÅÙ¤ò»ý¤Ä¼Â¹Ô²Äǽ¤Ê
-¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ÎÃæ¤Ç½çÈ֤Τߤò·èÄꤹ¤ë¡£
-.SS SCHED_FIFO: ¥Õ¥¡¡¼¥¹¥È¥¤¥ó¡¦¥Õ¥¡¡¼¥¹¥È¥¢¥¦¥È¡¦¥¹¥±¥¸¥å¡¼¥ê¥ó¥°
-\fBSCHED_FIFO\fP ¤Ï 0 ¤è¤êÂ礭¤ÊÀÅŪͥÀèÅ٤ǤΤ߻ÈÍѤǤ­¤ë¡£¤³¤Î¥Ý¥ê¥·¡¼¤Ç¤Ï¡¢
-\fBSCHED_FIFO\fP ¥×¥í¥»¥¹¤¬¼Â¹Ô²Äǽ¤Ë¤Ê¤Ã¤¿¾ì¹ç¡¢
-¤½¤Î¥Ý¥ê¥·¡¼¤¬ \fBSCHED_OTHER\fP¡¢ \fBSCHED_BATCH\fP¡¢ \fBSCHED_IDLE\fP ¤Î
-¸½ºß¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹¤Ïľ¤Á¤Ë¼Â¹Ô¸¢¤ò¼è¤ê¾å¤²¤é¤ì¤ë¡£
-\fBSCHED_FIFO\fP ¤Ï»þʬ³ä¤Î¤Ê¤¤Ã±½ã¤Ê¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥¢¥ë¥´¥ê¥º¥à¤Ç¤¢¤ë¡£
-\fBSCHED_FIFO\fP ¥Ý¥ê¥·¡¼¤Ç¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤µ¤ì¤Æ¤¤¤ë¥×¥í¥»¥¹¤Ë¤Ï°Ê²¼¤Î
-¥ë¡¼¥ë¤¬Å¬ÍѤµ¤ì¤ë:
+全てのスケジューリングはプリエンプティブ (preemptive) である:
+より高い優先度のプロセスが実行可能になると、現在実行中のプロセスは実行権を
+取り上げられ (preempted)、そのプロセスの静的優先度レベルの待ちリストに
+戻される。スケジューリング・ポリシーは同じ静的優先度を持つ実行可能な
+プロセスのリストの中で順番のみを決定する。
+.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°
+\fBSCHED_FIFO\fP は 0 より大きな静的優先度でのみ使用できる。このポリシーでは、
+\fBSCHED_FIFO\fP プロセスが実行可能になった場合、
+そのポリシーが \fBSCHED_OTHER\fP、 \fBSCHED_BATCH\fP、 \fBSCHED_IDLE\fP の
+現在実行中のプロセスは直ちに実行権を取り上げられる。
+\fBSCHED_FIFO\fP は時分割のない単純なスケジューリング・アルゴリズムである。
+\fBSCHED_FIFO\fP ポリシーでスケジューリングされているプロセスには以下の
+ルールが適用される:
 .IP * 3
-¤è¤ê¹â¤¤Í¥ÀèÅ٤ξ¤Î¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ¼è¤Ã¤ÆÂå¤ï¤é¤ì¤¿
-\fBSCHED_FIFO\fP ¥×¥í¥»¥¹¤Ï¤½¤ÎÍ¥ÀèÅ٤Υꥹ¥È¤ÎÀèƬ¤Ëα¤Þ¤ê³¤±¡¢
-¤è¤ê¹â¤¤Í¥ÀèÅÙ¤Î¥×¥í¥»¥¹Á´¤Æ¤¬Ää»ß (block) ¤·¤¿¾ì¹ç¤Ë¼Â¹Ô¤òºÆ³«¤¹¤ë¡£
+より高い優先度の他のプロセスによって取って代わられた
+\fBSCHED_FIFO\fP プロセスはその優先度のリストの先頭に留まり続け、
+より高い優先度のプロセス全てが停止 (block) した場合に実行を再開する。
 .IP *
-\fBSCHED_FIFO\fP ¥×¥í¥»¥¹¤¬¼Â¹Ô²Äǽ¤Ë¤Ê¤Ã¤¿»þ¡¢¤½¤ÎÍ¥ÀèÅ٤Υꥹ¥È¤ÎºÇ¸å
-¤ËÁÞÆþ¤µ¤ì¤ë¡£
+\fBSCHED_FIFO\fP プロセスが実行可能になった時、その優先度のリストの最後
+に挿入される。
 .IP *
 .BR sched_setscheduler ()
-¤ä
+や
 .BR sched_setparam (2)
-¤Ï
-\fIpid\fP ¤Ç»ØÄꤵ¤ì¤¿ \fBSCHED_FIFO\fP (¤Þ¤¿¤Ï \fBSCHED_RR\fP) ¥×¥í¥»¥¹¤¬
-¼Â¹Ô²Äǽ¤Ê¾ì¹ç¡¢¥ê¥¹¥È¤ÎºÇ½é¤ËÃÖ¤¯¡£
-·ë²Ì¤È¤·¤Æ¡¢¤â¤·Í¥ÀèÅÙ¤¬Æ±¤¸¤À¤Ã¤¿¾ì¹ç¡¢
-¸½ºß¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹¤ËÀè¤ó¤¸¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
-(POSIX.1-2001 ¤Ç¤Ï¥×¥í¥»¥¹¤Ï¥ê¥¹¥È¤ÎºÇ¸å¤Ë¹Ô¤¯¤Ù¤­¤Èµ¬Äꤵ¤ì¤Æ¤¤¤ë¡£)
+は
+\fIpid\fP で指定された \fBSCHED_FIFO\fP (または \fBSCHED_RR\fP) プロセスが
+実行可能な場合、リストの最初に置く。
+結果として、もし優先度が同じだった場合、
+現在実行中のプロセスに先んじるかもしれない。
+(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 *
 .BR sched_yield (2)
-¤ò¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Ï¥ê¥¹¥È¤ÎºÇ¸å¤ËÃÖ¤«¤ì¤ë¡£
+を呼び出したプロセスはリストの最後に置かれる。
 .PP
-¤½¤Î¾¤Î¥¤¥Ù¥ó¥È¤Ë¤è¤Ã¤Æ \fBSCHED_FIFO\fP ¥Ý¥ê¥·¡¼¤Ç
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤µ¤ì¤ë¥×¥í¥»¥¹¤¬Æ±¤¸Í¥ÀèÅ٤μ¹ԲÄǽ¤Ê
-¥×¥í¥»¥¹¤ÎÂÔ¤Á¥ê¥¹¥È¤ÎÃæ¤ò°ÜÆ°¤¹¤ë¤³¤È¤Ï¤Ê¤¤¡£
+その他のイベントによって \fBSCHED_FIFO\fP ポリシーで
+スケジューリングされるプロセスが同じ優先度の実行可能な
+プロセスの待ちリストの中を移動することはない。
 
-\fBSCHED_FIFO\fP ¥×¥í¥»¥¹¤Ï I/O Í×µá¤Ë¤è¤Ã¤ÆÄä»ß¤¹¤ë¤«¡¢
-¤è¤ê¹â¤¤Í¥ÀèÅÙ¤Î¥×¥í¥»¥¹¤Ë¤è¤Ã¤ÆÃÖ¤­¤«¤¨¤é¤ì¤ë¤«¡¢
+\fBSCHED_FIFO\fP プロセスは I/O 要求によって停止するか、
+より高い優先度のプロセスによって置きかえられるか、
 .BR sched_yield (2)
-¤ò¸Æ¤Ó½Ð¤¹¤Þ¤Ç¼Â¹Ô¤ò³¤±¤ë¡£
-.SS SCHED_RR: ¥é¥¦¥ó¥É¡¦¥í¥Ó¥ó (round robin) ¡¦¥¹¥±¥¸¥å¡¼¥ê¥ó¥°
-\fBSCHED_RR\fP ¤Ï \fBSCHED_FIFO\fP ¤Îñ½ã¤Ê³ÈÄ¥¤Ç¤¢¤ë¡£
-¾å½Ò¤µ¤ì¤¿ \fBSCHED_FIFO\fP ¤Ë´Ø¤¹¤ëµ­½Ò¤ÏÁ´¤Æ \fBSCHED_RR\fP ¤Ë
-ŬÍѤǤ­¤ë¡£°Û¤Ê¤ë¤Î¤Ï¤½¤ì¤¾¤ì¤Î¥×¥í¥»¥¹¤ÏºÇÂç»þ´Öñ°Ì¤Þ¤Ç¤·¤«¼Â¹Ô¤Ç¤­¤Ê¤¤
-¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£\fBSCHED_RR\fP ¥×¥í¥»¥¹¤¬»þ´Öñ°Ì¤ÈƱ¤¸¤«¤½¤ì¤è¤ê
-Ť¤»þ´Ö¼Â¹Ô¤µ¤ì¤ë¤È¡¢¤½¤ÎÍ¥ÀèÅ٤Υꥹ¥È¤ÎºÇ¸å¤ËÃÖ¤«¤ì¤ë¡£
-¤è¤ê¹â¤¤Í¥ÀèÅÙ¤Î¥×¥í¥»¥¹¤Ë¤è¤Ã¤ÆÃÖ¤­¤«¤¨¤é¤ì¡¢¤½¤Î¸å¼Â¹Ô¤òºÆ³«¤·¤¿
-\fBSCHED_RR\fP ¥×¥í¥»¥¹¤Ï¡¢¤½¤Î¥é¥¦¥ó¥É¡¦¥í¥Ó¥ó»þ´Öñ°Ì¤ò´°Á´¤Ë»È¤¤ÀÚ¤ë
-¤Þ¤Ç¼Â¹Ô¤µ¤ì¤ë¡£¤½¤Î»þ´Öñ°Ì¤ÎŤµ¤Ï
+を呼び出すまで実行を続ける。
+.SS SCHED_RR: ã\83©ã\82¦ã\83³ã\83\89ã\83»ã\83­ã\83\93ã\83³ (round robin) ã\83»ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°
+\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
 .\"
-.SS SCHED_OTHER: Linux ¤Î¥Ç¥Õ¥©¥ë¥È¤Î»þʬ³ä¥¹¥±¥¸¥å¡¼¥ê¥ó¥°
-\fBSCHED_OTHER\fP ¤ÏÀÅŪͥÀèÅÙ 0 ¤Ç¤Î¤ß»ÈÍѤǤ­¤ë¡£
-\fBSCHED_OTHER\fP ¤Ï Linux É¸½à¤Î»þʬ³ä¥¹¥±¥¸¥å¡¼¥é¤Ç¡¢
-ÆÃÊ̤ʥꥢ¥ë¥¿¥¤¥àµ¡¹½¤òɬÍפȤ·¤Æ¤¤¤Ê¤¤Á´¤Æ¤Î¥×¥í¥»¥¹¤Ç»ÈÍѤµ¤ì¤ë¡£
-¼Â¹Ô¤¹¤ë¥×¥í¥»¥¹¤Ï¡¢ÀÅŪͥÀèÅÙ 0 ¤Î¥ê¥¹¥È¤«¤é¡¢¤³¤Î¥ê¥¹¥È¤ÎÃæ¤À¤±¤Ç
-·èÄꤵ¤ì¤ë¡ÖưŪ¤Ê¡×Í¥ÀèÅÙ (dynamic priority) ¤Ë´ð¤¤¤Æ·èÄꤵ¤ì¤ë¡£
-ưŪ¤ÊÍ¥ÀèÅÙ¤Ï
+.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°
+\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 プロセスでの公平性が保証される。
 .\"
-.SS SCHED_BATCH: ¥Ð¥Ã¥Á¥×¥í¥»¥¹¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°
-(Linux 2.6.16 °Ê¹ß)
-\fBSCHED_BATCH\fP ¤ÏÀÅŪͥÀèÅÙ 0 ¤Ç¤Î¤ß»ÈÍѤǤ­¤ë¡£
-¤³¤Î¥Ý¥ê¥·¡¼¤Ï (nice Ãͤ˴ð¤Å¤¯) Æ°Åª¤ÊÍ¥ÀèÅ٤ˤ·¤¿¤¬¤Ã¤Æ¥×¥í¥»¥¹¤Î
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤¬¹Ô¤ï¤ì¤ë¤È¤¤¤¦ÅÀ¤Ç¡¢\fBSCHED_OTHER\fP ¤Ë»÷¤Æ¤¤¤ë¡£
-°Û¤Ê¤ë¤Î¤Ï¡¢¤³¤Î¥Ý¥ê¥·¡¼¤Ç¤Ï¡¢¥×¥í¥»¥¹¤¬¾ï¤Ë CPU ¤ËÉé²Ù¤Î¤«¤«¤ë (CPU-intensive)
-½èÍý¤ò¹Ô¤¦¤È¡¢¥¹¥±¥¸¥å¡¼¥é¤¬²¾Äꤹ¤ëÅÀ¤Ç¤¢¤ë¡£
-¥¹¥±¥¸¥å¡¼¥é¤Ï¥×¥í¥»¥¹¤ò¸Æ¤Óµ¯¤³¤¹Ëè¤Ë¤½¤Î¥×¥í¥»¥¹¤Ë¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¾å¤Î
-¥Ú¥Ê¥ë¥Æ¥£¤ò¾¯¤·²Ý¤·¡¢¤½¤Î·ë²Ì¡¢¤³¤Î¥×¥í¥»¥¹¤Ï¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Î·èÄê¤Ç
-¼ã´³Îä¶ø¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¡£
+.SS SCHED_BATCH: ã\83\90ã\83\83ã\83\81ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83ªã\83³ã\82°
+(Linux 2.6.16 以降)
+\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
 .\" SCHED_BATCH.
-¤³¤Î¥Ý¥ê¥·¡¼¤Ï¡¢ÈóÂÐÏÃŪ¤Ê½èÍý¤À¤¬¤½¤Î nice Ãͤò²¼¤²¤¿¤¯¤Ê¤¤½èÍý¤ä¡¢
-(½èÍý¤Î¥¿¥¹¥¯´Ö¤Ç) Í¾·×¤Ê¥¿¥¹¥¯¤ÎÃÖ¤­´¹¤¨¤Î¸¶°ø¤È¤¢¤ëÂÐÏÃŪ¤Ê½èÍý¤Ê¤·¤Ç
-³ÎÄêŪ¤Ê (deterministic) ¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤òŬÍѤ·¤¿¤¤½èÍý¤Ë
-ÂФ·¤ÆÍ­¸ú¤Ç¤¢¤ë¡£
+このポリシーは、非対話的な処理だがその nice 値を下げたくない処理や、
+(処理のタスク間で) 余計なタスクの置き換えの原因とある対話的な処理なしで
+確定的な (deterministic) スケジューリング・ポリシーを適用したい処理に
+対して有効である。
 .\"
-.SS SCHED_IDLE: Èó¾ï¤ËÍ¥ÀèÅÙ¤ÎÄ㤤¥¸¥ç¥Ö¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°
-(Linux 2.6.23 °Ê¹ß)
-\fBSCHED_IDLE\fP ¤ÏÀÅŪͥÀèÅÙ 0 ¤Ç¤Î¤ß»ÈÍѤǤ­¤ë¡£
-¤³¤Î¥Ý¥ê¥·¡¼¤Ç¤Ï¥×¥í¥»¥¹¤Î nice Ãͤϥ¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Ë±Æ¶Á¤òÍ¿¤¨¤Ê¤¤¡£
+.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°
+(Linux 2.6.23 以降)
+\fBSCHED_IDLE\fP は静的優先度 0 でのみ使用できる。
+このポリシーではプロセスの nice 値はスケジューリングに影響を与えない。
 
-Èó¾ï¤ËÄ㤤ͥÀèÅ٤ǤΥ¸¥ç¥Ö¤Î¼Â¹Ô¤òÌÜŪ¤È¤·¤¿¤â¤Î¤Ç¤¢¤ë
-(Èó¾ï¤ËÄ㤤ͥÀèÅ٤Ȥϡ¢¥Ý¥ê¥·¡¼
+非常に低い優先度でのジョブの実行を目的としたものである
+(é\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 よりさらに低い優先度である)。
 .\"
-.SS Æø¢¤È¥ê¥½¡¼¥¹À©¸Â
-2.6.12 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Linux ¥«¡¼¥Í¥ë¤Ç¤Ï¡¢
-Æø¢¥×¥í¥»¥¹
+.SS 特権とリソース制限
+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 と
+一致する場合だけである。
 
-Linux 2.6.12 °Ê¹ß¤Ç¤Ï¡¢¥ê¥½¡¼¥¹À©¸Â
+Linux 2.6.12 以降では、リソース制限
 .B RLIMIT_RTPRIO
-¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤¬
+が定義されており、
+スケジューリング・ポリシーが
 .B SCHED_RR
-¤È
+と
 .B SCHED_FIFO
-¤Î¾ì¹ç¤Î¡¢ÈóÆø¢¥×¥í¥»¥¹¤ÎÀÅŪͥÀèÅ٤ξå¸Â¤òÄê¤á¤Æ¤¤¤ë¡£
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤ÈÍ¥ÀèÅÙ¤òÊѹ¹¤¹¤ëºÝ¤Î¥ë¡¼¥ë¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£
+の場合の、非特権プロセスの静的優先度の上限を定めている。
+スケジューリング・ポリシーと優先度を変更する際のルールは以下の通りである。
 .IP * 2
-ÈóÆø¢¥×¥í¥»¥¹¤Ë 0 °Ê³°¤Î
+非特権プロセスに 0 以外の
 .B RLIMIT_RTPRIO
-¥½¥Õ¥È¡¦¥ê¥ß¥Ã¥È¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-ÈóÆø¢¥×¥í¥»¥¹¤Ï¤½¤Î¥×¥í¥»¥¹¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤ÈÍ¥ÀèÅÙ¤ò
-Êѹ¹¤Ç¤­¤ë¤¬¡¢Í¥ÀèÅÙ¤ò¸½ºß¤Î¼«¿È¤ÎÍ¥ÀèÅÙ¤È
+ソフト・リミットが設定されている場合、
+非特権プロセスはそのプロセスのスケジューリング・ポリシーと優先度を
+変更できるが、優先度を現在の自身の優先度と
 .B RLIMIT_RTPRIO
-¥½¥Õ¥È¡¦¥ê¥ß¥Ã¥È¤ÎÂ礭¤¤Êý¤è¤ê¤â¹â¤¤ÃͤËÀßÄê¤Ç¤­¤Ê¤¤¤È¤¤¤¦À©¸Â¤¬²Ý¤µ¤ì¤ë¡£
+ソフト・リミットの大きい方よりも高い値に設定できないという制限が課される。
 .IP *
 .B RLIMIT_RTPRIO
-¥½¥Õ¥È¡¦¥ê¥ß¥Ã¥È¤¬ 0 ¤Î¾ì¹ç¡¢Í¥ÀèÅÙ¤ò²¼¤²¤ë¤«¡¢
-¥ê¥¢¥ë¥¿¥¤¥à¤Ç¤Ê¤¤¥Ý¥ê¥·¡¼¤ØÀÚ¤êÂؤ¨¤ë¤«¤ÎÊѹ¹¤À¤±¤¬µö²Ä¤µ¤ì¤ë¡£
+ソフト・リミットが 0 の場合、優先度を下げるか、
+リアルタイムでないポリシーへ切り替えるかの変更だけが許可される。
 .IP *
-¤¢¤ëÈóÆø¢¥×¥í¥»¥¹¤¬ÊÌ¤Î¥×¥í¥»¥¹¤ËÂФ·¤Æ¤³¤ì¤é¤ÎÊѹ¹¤ò¹Ô¤¦ºÝ¤Ë¤â¡¢
-Ʊ¤¸¥ë¡¼¥ë¤¬Å¬ÍѤµ¤ì¤ë¡£Êѹ¹¤ò¹Ô¤¨¤ë¤Î¤Ï¡¢Êѹ¹¤ò¹Ô¤ª¤¦¤È¤¹¤ë¥×¥í¥»¥¹
-¤Î¼Â¸ú¥æ¡¼¥¶ 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 *
 .B SCHED_IDLE
-¤Ë¤ÏÆÃÊ̤ʥ롼¥ë¤¬Å¬ÍѤµ¤ì¡¢
-¤³¤Î¥Ý¥ê¥·¡¼¤Î²¼¤ÇÆ°ºî¤¹¤ëÈóÆø¢¥×¥í¥»¥¹¤Ï¡¢¥ê¥½¡¼¥¹À©¸Â
+には特別なルールが適用され、
+このポリシーの下で動作する非特権プロセスは、リソース制限
 .B RLIMIT_RTPRIO
-¤ÎÃͤˤ«¤«¤ï¤é¤º¼«¿È¤Î¥Ý¥ê¥·¡¼¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£
+の値にかかわらず自身のポリシーを変更することができない。
 .PP
-Æø¢¥×¥í¥»¥¹
+ç\89¹æ¨©ã\83\97ã\83­ã\82»ã\82¹
 .RB ( CAP_SYS_NICE
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò»ý¤Ä¥×¥í¥»¥¹) ¤Î¾ì¹ç¡¢
+ケーパビリティを持つプロセス) の場合、
 .B RLIMIT_RTPRIO
-¤ÎÀ©¸Â¤Ï̵»ë¤µ¤ì¤ë;
-¸Å¤¤¥«¡¼¥Í¥ë¤ÈƱ¤¸¤è¤¦¤Ë¡¢¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤ÈÍ¥ÀèÅÙ¤ËÂФ·
-Ǥ°Õ¤ÎÊѹ¹¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
+の制限は無視される;
+古いカーネルと同じように、スケジューリング・ポリシーと優先度に対し
+任意の変更を行うことができる。
 .B RLIMIT_RTPRIO
-¤Ë´Ø¤¹¤ë¤â¤Ã¤È¾Ü¤·¤¤¾ðÊó¤Ï
+に関するもっと詳しい情報は
 .BR getrlimit (2)
-¤ò»²¾È¤Î¤³¤È¡£
-.SS ±þÅú»þ´Ö (response time)
-I/O ÂÔ¤Á¤ÇÄä»ß¤·¤¿¤è¤ê¹â¤¤Í¥ÀèÅÙ¤Î¥×¥í¥»¥¹¤ÏºÆ¤Ó¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤µ¤ì¤ë
-Á°¤Ë¤¤¤¯¤é¤«¤Î±þÅú»þ´Ö¤¬¤«¤«¤ë¡£¥Ç¥Ð¥¤¥¹¡¦¥É¥é¥¤¥Ð¡¼¤ò½ñ¤¯¾ì¹ç¤Ë¤Ï
+を参照のこと。
+.SS 応答時間 (response time)
+I/O 待ちで停止したより高い優先度のプロセスは再びスケジューリングされる
+前にいくらかの応答時間がかかる。デバイス・ドライバーを書く場合には
 .\" .BR request_irq (9)
-.\" ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë
-"slow interrupt" ³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¡¼¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç
-¤³¤Î±þÅú»þ´Ö¤ò·àŪ¤Ë¸º¾¯¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-.SS ¤½¤Î¾
-»Ò¥×¥í¥»¥¹¤Ï
+.\" に記述されている
+"slow interrupt" 割り込みハンドラーを使用することで
+この応答時間を劇的に減少させることができる。
+.SS その他
+子プロセスは
 .BR fork (2)
-¤ÎºÝ¤Ë¿Æ¥×¥í¥»¥¹¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤È¥Ñ¥é¥á¡¼¥¿¤ò·Ñ¾µ¤¹¤ë¡£
+の際に親プロセスのスケジューリング・ポリシーとパラメータを継承する。
 .BR execve (2)
-¤ÎÁ°¸å¤Ç¡¢¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤È¥Ñ¥é¥á¡¼¥¿¤ÏÊÝ»ý¤µ¤ì¤ë¡£
+の前後で、スケジューリング・ポリシーとパラメータは保持される。
 
-¥ê¥¢¥ë¥¿¥¤¥à¡¦¥×¥í¥»¥¹¤ÏÂçÄñ¡¢¥Ú¡¼¥¸¥ó¥°¤ÎÂÔ¤Á»þ´Ö¤òÈò¤±¤ë¤¿¤á¤Ë
+リアルタイム・プロセスは大抵、ページングの待ち時間を避けるために
 .BR mlock (2)
-¤ä
+や
 .BR mlockall (2)
-¤ò»È¤Ã¤Æ¥á¥â¥ê¡¦¥í¥Ã¥¯¤ò¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+を使ってメモリ・ロックをしなければならない。
 
-\fBSCHED_FIFO\fP ¤ä \fBSCHED_RR\fP ¤Ç¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤µ¤ì¤ë
-¥×¥í¥»¥¹¤¬Ää»ß¤»¤º¤Ë̵¸Â¥ë¡¼¥×¤Ë´Ù¤ë¤È¡¢
-¾¤ÎÁ´¤Æ¤Î¤è¤êÄ㤤ͥÀèÅÙ¤Î¥×¥í¥»¥¹¤ò±Êµ×¤ËÄä»ß (block) ¤µ¤»¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢
-¥½¥Õ¥È¥¦¥§¥¢³«È¯¼Ô¤Ï¥³¥ó¥½¡¼¥ë¤Î¥·¥§¥ë¤ÎÀÅŪͥÀèÅÙ¤ò¥Æ¥¹¥È¤¹¤ë
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤è¤ê¤â¾ï¤Ë¹â¤¯ÊݤĤ٤­¤Ç¤¢¤ë¡£
-¤³¤ì¤Ë¤è¤Ã¤Æ´üÂÔÄ̤ê¤ËÄä»ß¤·¤¿¤ê½ªÎ»¤·¤¿¤ê¤·¤Ê¤¤¥ê¥¢¥ë¥¿¥¤¥à¡¦
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¶ÛµÞ½ªÎ»¤µ¤»¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ë¡£
+\fBSCHED_FIFO\fP や \fBSCHED_RR\fP でスケジューリングされる
+プロセスが停止せずに無限ループに陥ると、
+他の全てのより低い優先度のプロセスを永久に停止 (block) させてしまうので、
+ソフトウェア開発者はコンソールのシェルの静的優先度をテストする
+アプリケーションよりも常に高く保つべきである。
+これによって期待通りに停止したり終了したりしないリアルタイム・
+アプリケーションを緊急終了させることが可能になる。
 .BR getrlimit (2)
-¤Î¥ê¥½¡¼¥¹À©¸Â
+のリソース制限
 .B RLIMIT_RTTIME
-¤ÎÀâÌÀ¤â»²¾È¤Î¤³¤È¡£
+の説明も参照のこと。
 
-POSIX ¥·¥¹¥Æ¥à¤Ç¤Ï \fI<unistd.h>\fP ¤Ë
+POSIX システムでは \fI<unistd.h>\fP に
 .B _POSIX_PRIORITY_SCHEDULING
-¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ß
+が定義されている場合にのみ
 .BR sched_setscheduler ()
-¤È
+と
 .BR sched_getscheduler ()
-¤¬»ÈÍѤǤ­¤ë¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¡¢
+が使用できる。
+.SH 返り値
+成功した場合、
 .BR sched_setscheduler ()
-¤Ï 0 ¤òÊÖ¤¹¡£
-À®¸ù¤·¤¿¾ì¹ç¡¢
+は 0 を返す。
+成功した場合、
 .BR sched_getscheduler ()
-¤Ï¸½ºß¤Î¤½¤Î¥×¥í¥»¥¹¤Î¥Ý¥ê¥·¡¼ (ÈóÉé¤ÎÀ°¿ô) ¤òÊÖ¤¹¡£
-¥¨¥é¡¼¤Î¾ì¹ç¡¢\-1 ¤¬ÊÖ¤µ¤ì¡¢
+は現在のそのプロセスのポリシー (非負の整数) を返す。
+エラーの場合、\-1 が返され、
 .I errno
-¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
+が適切に設定される。
+.SH ã\82¨ã\83©ã\83¼
 .TP
 .B EINVAL
-¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼ \fIpolicy\fP ¤¬´Ö°ã¤Ã¤Æ¤¤¤ë¤«¡¢
-\fIparam\fP ¤¬¤½¤Î¥Ý¥ê¥·¡¼¤Ç¤Ï°ÕÌ£¤ò¤Ê¤µ¤Ê¤¤¡£
+スケジューリング・ポリシー \fIpolicy\fP が間違っているか、
+\fIparam\fP がそのポリシーでは意味をなさない。
 .TP
 .B EPERM
-¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤¬Å¬ÀÚ¤ÊÆø¢¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡£
+呼び出したプロセスが適切な特権を持っていない。
 .TP
 .B ESRCH
-ID¤¬ \fIpid\fP ¤Î¥×¥í¥»¥¹¤¬¸«¤Ä¤«¤é¤Ê¤¤¡£
-.SH ½àµò
-POSIX.1-2001 (⤷¡¢²¼µ­¤Î¥Ð¥°¤ÎÀá¤â»²¾È)¡£
-\fBSCHED_BATCH\fP ¤È \fBSCHED_IDLE\fP ¥Ý¥ê¥·¡¼¤Ï Linux ¸ÇÍ­¤Ç¤¢¤ë¡£
-.SH Ãí°Õ
-POSIX.1 ¤Ï¡¢ÈóÆø¢¥×¥í¥»¥¹¤¬
+IDが \fIpid\fP のプロセスが見つからない。
+.SH 準拠
+POSIX.1-2001 (但し、下記のバグの節も参照)。
+\fBSCHED_BATCH\fP と \fBSCHED_IDLE\fP ポリシーは Linux 固有である。
+.SH 注意
+POSIX.1 は、非特権プロセスが
 .BR sched_setscheduler ()
-¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤ËɬÍפʸ¢¸Â¤Î¾ÜºÙ¤òµ¬Äꤷ¤Æ¤ª¤é¤º¡¢
-¾ÜºÙ¤Ï¥·¥¹¥Æ¥à¤Ë¤è¤ê°Û¤Ê¤ë¡£
-Î㤨¤Ð¡¢Solaris 7 ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ç¤Ï¡¢
-¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î¼Â¥æ¡¼¥¶ ID ¤Þ¤¿¤Ï¼Â¸ú¥æ¡¼¥¶ ID ¤¬
-ÀßÄêÂÐ¾Ý¤Î¥×¥í¥»¥¹¤Î¼Â¥æ¡¼¥¶ ID ¤«Êݸ (save) set-user-ID ¤È
-°ìÃפ·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¢¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
+を呼び出すために必要な権限の詳細を規定しておらず、
+詳細はシステムにより異なる。
+例えば、Solaris 7 のマニュアルページでは、
+呼び出し元プロセスの実ユーザ ID または実効ユーザ ID が
+設定対象のプロセスの実ユーザ ID か保存 (save) set-user-ID と
+一致していなければならない、となっている。
 .PP
-¤â¤È¤â¤È¤Ï¡¢É¸½à¤Î Linux ¤Ï°ìÈÌÌÜŪ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¤·¤Æ
-À߷פµ¤ì¤Æ¤ª¤ê¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥×¥í¥»¥¹¤äÂÐÏÃŪ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¢
-¥ê¥¢¥ë¥¿¥¤¥àÀ­¤ÎÍ׵᤬¸·¤·¤¯¤Ê¤¤¥ê¥¢¥ë¥¿¥¤¥à¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-(ÉáÄ̤ϥ¿¥¤¥ß¥ó¥°¤Î±þÅú´ü¸Â (deadline) ¤òËþ¤¿¤¹É¬Íפ¬¤¢¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó)
-¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤¿¡£
-Linux ¥«¡¼¥Í¥ë 2.6 ¤Ç¤Ï¡¢
-¥«¡¼¥Í¥ë¤Î¥×¥ê¥¨¥ó¥×¥·¥ç¥ó (¥¿¥¹¥¯¤ÎÃÖ¤­´¹¤¨) ¤¬²Äǽ¤Ç¤¢¤ê¡¢
-¿·¤¿¤ËƳÆþ¤µ¤ì¤¿ O(1) ¥¹¥±¥¸¥å¡¼¥é¤Ë¤è¤ê¡¢
-¥¢¥¯¥Æ¥£¥Ö¤Ê¥¿¥¹¥¯¤Î¿ô¤Ë´Ø¤ï¤é¤º¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤ËɬÍפʻþ´Ö¤Ï
-¸ÇÄê¤Ç³ÎÄêŪ (deterministic) ¤Ç¤¢¤ë¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤ë¡£
-¤½¤ì¤Ë¤â´Ø¤ï¤é¤º¡¢¥«¡¼¥Í¥ë 2.6.17 ¤Þ¤Ç¤Ï
-¿¿¤Î¥ê¥¢¥ë¥¿¥¤¥à¡¦¥³¥ó¥Ô¥å¡¼¥Æ¥£¥ó¥°¤Ï¼Â¸½¤Ç¤­¤Ê¤«¤Ã¤¿¡£
-.SS ËÜή¤Î Linux ¥«¡¼¥Í¥ë¤Ç¤Î¥ê¥¢¥ë¥¿¥¤¥àµ¡Ç½
+もともとは、標準の Linux は一般目的のオペレーティングシステムとして
+設計されており、バックグラウンド・プロセスや対話的アプリケーション、
+リアルタイム性の要求が厳しくないリアルタイム・アプリケーション
+(普通はタイミングの応答期限 (deadline) を満たす必要があるアプリケーション)
+を扱うことができた。
+Linux カーネル 2.6 では、
+カーネルのプリエンプション (タスクの置き換え) が可能であり、
+新たに導入された O(1) スケジューラにより、
+アクティブなタスクの数に関わらずスケジューリングに必要な時間は
+固定で確定的 (deterministic) であることが保証されている。
+それにも関わらず、カーネル 2.6.17 までは
+真のリアルタイム・コンピューティングは実現できなかった。
+.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.
-¥«¡¼¥Í¥ë 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 パッチを
+組み込まなければならない。
+これらのパッチは
 .in +4n
 .nf
 
 patch-\fIkernelversion\fP-rt\fIpatchversion\fP
 .fi
 .in
-¤È¤¤¤¦Ì¾Á°¤Ç¡¢
+という名前で、
 .I http://www.kernel.org/pub/linux/kernel/projects/rt/
-¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤ë¡£
+からダウンロードできる。
 
-¤³¤Î¥Ñ¥Ã¥Á¤¬Å¬ÍѤµ¤ì¤º¡¢¤«¤Ä¥Ñ¥Ã¥Á¤ÎÆâÍƤÎËÜή¤Î¥«¡¼¥Í¥ë¤Ø¤Î¥Þ¡¼¥¸¤¬
-´°Î»¤¹¤ë¤Þ¤Ç¤Ï¡¢¥«¡¼¥Í¥ë¤ÎÀßÄê¤Ç¤Ï
+このパッチが適用されず、かつパッチの内容の本流のカーネルへのマージが
+完了するまでは、カーネルの設定では
 .BR CONFIG_PREEMPT_NONE ,
 .BR CONFIG_PREEMPT_VOLUNTARY ,
 .B CONFIG_PREEMPT_DESKTOP
-¤Î 3¤Ä¤Î¥×¥ê¥¨¥ó¥×¥·¥ç¥ó¡¦¥¯¥é¥¹ (preemption class) ¤À¤±¤¬Ä󶡤µ¤ì¤ë¡£
-¤³¤ì¤é¤Î¥¯¥é¥¹¤Ç¤Ï¡¢ºÇ°­¤Î¾ì¹ç¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°Ãٱ䤬¤½¤ì¤¾¤ì
-Á´¤¯¸º¤é¤Ê¤¤¡¢¤¤¤¯¤é¤«¸º¤ë¡¢¤«¤Ê¤ê¸º¤ë¡£
+の 3つのプリエンプション・クラス (preemption class) だけが提供される。
+これらのクラスでは、最悪の場合のスケジューリング遅延がそれぞれ
+全く減らない、いくらか減る、かなり減る。
 
-¥Ñ¥Ã¥Á¤¬Å¬ÍѤµ¤ì¤¿¾ì¹ç¡¢¤Þ¤¿¤Ï¥Ñ¥Ã¥Á¤ÎÆâÍƤÎËÜή¤Î¥«¡¼¥Í¥ë¤Ø¤Î¥Þ¡¼¥¸¤¬
-´°Î»¤·¤¿¸å¤Ç¤Ï¡¢¾åµ­¤Ë²Ã¤¨¤ÆÀßÄê¹àÌܤȤ·¤Æ
+パッチが適用された場合、またはパッチの内容の本流のカーネルへのマージが
+完了した後では、上記に加えて設定項目として
 .B CONFIG_PREEMPT_RT
-¤¬ÍøÍѲÄǽ¤Ë¤Ê¤ë¡£¤³¤Î¹àÌܤòÁªÂò¤¹¤ë¤È¡¢
-Linux ¤ÏÄ̾ï¤Î¥ê¥¢¥ë¥¿¥¤¥à¡¦¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ËÊѿȤ¹¤ë¡£
-¤³¤Î¾ì¹ç¤Ë¤Ï¡¢
+が利用可能になる。この項目を選択すると、
+Linux は通常のリアルタイム・オペレーティングシステムに変身する。
+この場合には、
 .BR sched_setscheduler ()
-¤ÇÁªÂò¤Ç¤­¤ë FIFO ¤È RR ¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤Ï¡¢
-¿¿¤Î¥ê¥¢¥ë¥¿¥¤¥àÍ¥ÀèÅÙ¤ò»ý¤Ä¥×¥í¥»¥¹¤òºÇ°­¤Î¾ì¹ç¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°Ãٱ䤬
-ºÇ¾®¤È¤Ê¤ë´Ä¶­¤ÇÆ°ºî¤µ¤»¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£
-.SH ¥Ð¥°
-POSIX ¤Ç¤Ï¡¢À®¸ù»þ¤Ë
+で選択できる FIFO と RR のスケジューリング・ポリシーは、
+真のリアルタイム優先度を持つプロセスを最悪の場合のスケジューリング遅延が
+最小となる環境で動作させるために使われることになる。
+.SH ã\83\90ã\82°
+POSIX では、成功時に
 .BR sched_setscheduler ()
-¤ÏľÁ°¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡¦¥Ý¥ê¥·¡¼¤òÊÖ¤¹¤Ù¤­¤È¤µ¤ì¤Æ¤¤¤ë¡£
-Linux ¤Î
+は直前のスケジューリング・ポリシーを返すべきとされている。
+Linux 
 .BR sched_setscheduler ()
-¤Ï¤³¤ÎÍ×µá»ÅÍͤ˽àµò¤·¤Æ¤ª¤é¤º¡¢
-À®¸ù»þ¤Ë¤Ï¾ï¤Ë 0 ¤òÊÖ¤¹¡£
-.SH ´ØÏ¢¹àÌÜ
+はこの要求仕様に準拠しておらず、
+成功時には常に 0 を返す。
+.SH 関連項目
 .BR getpriority (2),
 .BR mlock (2),
 .BR mlockall (2),
@@ -485,6 +485,6 @@ Linux 
 .I Programming for the real world \- POSIX.4
 by Bill O. Gallmeister, O'Reilly & Associates, Inc., ISBN 1-56592-074-0
 .PP
-¥«¡¼¥Í¥ë¡¦¥½¡¼¥¹Æâ¤Î¥Õ¥¡¥¤¥ë
+カーネル・ソース内のファイル
 .I Documentation/scheduler/sched-rt-group.txt
-(¥«¡¼¥Í¥ë 2.6.25 °Ê¹ß)
+(カーネル 2.6.25 以降)