Provided by: manpages-ja-dev_0.5.0.0.20131015+dfsg-2_all bug

名前

       sched_rr_get_interval - 指定されたプロセスの SCHED_RR 間隔を取得する

書式

       #include <sched.h>

       int sched_rr_get_interval(pid_t pid, struct timespec *tp);

説明

       sched_rr_get_interval() は tp で指定された timespec 構造体に pid で指定されたプロセスのラウンドロビン時間
       量 (round robin time quantum) を書き込む。指定されたプロセスは SCHED_RR スケジューリング ポリシーで動作し
       ているはずである。

       timespec 構造体は以下の通りである:

           struct timespec {
               time_t tv_sec;    /* seconds */
               long   tv_nsec;   /* nanoseconds */
           };

       pid が 0 の場合、呼び出したプロセスの時間量 (time quantum) が *tp に書き込まれる。

返り値

       成功した場合は sched_rr_get_interval()  は 0 を返す。 エラーの場合は -1 が返され、 errno が適切に設定され
       る。

エラー

       EFAULT 情報をユーザ空間にコピーする時に問題が起きた。

       EINVAL PID が不正である。

       ENOSYS システム・コールがまだ実装されていない (かなり古いカーネルにおいてのみ)。

       ESRCH  プロセス ID が pid のプロセスが見つからなかった。

準拠

       POSIX.1-2001.

注意

       POSIX システムで sched_rr_get_interval() は <unistd.h>_POSIX_PRIORITY_SCHEDULING が定義されている場合
       にのみ使用可能である。

   Linux での注意
       POSIX  ではラウンドロビン時間量の大きさを制御する仕組みが規定されていない。 古い Linux カーネルではこれを
       変更する方法が提供されている (この方法に移植性はない)。 プロセスの nice  値を調整することで時間量を制御で
       きる  (setpriority(2) 参照)。 負の nice 値 (すなわち、高い nice 値) を割り当てると時間量は長くなり、 正の
       nice 値 (すなわち、低い nice 値)  を割り当てると時間量は短くなる。  デフォルトの時間量は  0.1  秒である。
       nice  値の変更が時間量にどの程度影響を与えるかは カーネルのバージョンにより多少異なる。時間量を調整するこ
       のメソッドは Linux 2.6.24 以降で削除された。

       Linux     3.9     で、     SCHED_RR      の時間量の調整      (と参照)      を行う新しい機構が追加された。
       /proc/sys/kernel/sched_rr_timeslice_ms ファイルでミリ秒単位の時間量の値が参照でき、 デフォルト値は 100 で
       ある。 このファイルに 0 を書き込むと、 時間量をデフォルト値に戻すことができる。

関連項目

       sched_setscheduler(2) に Linux のスケジューリング方式についての説明 がある。

       Programming for the real world - POSIX.4 by Bill  O.  Gallmeister,  O'Reilly  &  Associates,  Inc.,  ISBN
       1-56592-074-0.

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 3.54 の一部 である。プロジェクトの説明とバグ報告
       に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。