sched_get_priority_max - システムコールの説明 - Linux コマンド集 一覧表
名前
sched_get_priority_max, sched_get_priority_min - 静的プライオリティの範囲を取得する
書式
#include <sched.h>
int sched_get_priority_max(int
policy
);
int sched_get_priority_min(int
policy
);
説明
sched_get_priority_max
()はpolicy
によって指定されたスケジューリングのアルゴリズムで
使用されるプライオリティの最大値を返す。
sched_get_priority_min
()はpolicy
によって指定されたスケジューリングのアルゴリズムで
使用されるプライオリティの最小値を返す。
サポートされる policy
の値は
SCHED_FIFO
、
SCHED_RR
、
SCHED_OTHER
、
SCHED_BATCH
である。これらのスケジューリング方針に関する詳細は
sched_setscheduler
(2) に書かれている。
数値的に大きなプライオリティ値を持つプロセスは小さな
プライオリティ値を持つプロセスより前にスケジュールされる。
このため sched_get_priority_max
() が返す値は
sched_get_priority_min
() が返す値よりも大きい。
Linux では SCHED_FIFO
と SCHED_RR
では 1 から 99 の範囲の
静的プライオリティーを持ち、SCHED_OTHER
と SCHED_BATCH
では
プライオリティとして 0 を持つ。
それぞれの方針のスケジューリング・プライオリティの範囲は
変更することができない。
スケジューリング・プライオリティの範囲は他の POSIX システムと
異なっているかもしれない。それで、移植性(portable)のある
アプリケーションでは仮想的な範囲を用い
sched_get_priority_max
() と sched_get_priority_min
()
で与えられた間隔にマップして使用することはいい考えである。
POSIX.1-2001 では SCHED_FIFO
と SCHED_RR
における
最大値と最小値の間隔を少なくとも 32 にすることを要求している。
POSIX システムでは
sched_get_priority_max
()と
sched_get_priority_min
()は <unistd.h> に
_POSIX_PRIORITY_SCHEDULING
が定義されている場合にのみ使用可能である。
返り値
成功した場合は sched_get_priority_max ()と sched_get_priority_min ()は指定されたスケジューリング方針のプライオリティの最大値/最小値を返す。 エラーの場合は -1 が返され、 errno が適切に設定される。
エラー
- EINVAL
- パラメーター policy が定義されているスケジューリング方針と一致しない。
準拠
POSIX.1-2001.
関連項目
sched_getaffinity (2), sched_getparam (2) sched_getscheduler (2), sched_setaffinity (2), sched_setparam (2), sched_setscheduler (2),
Programming for the real world - POSIX.4
by Bill O. Gallmeister, O'Reilly & Associates, Inc., ISBN 1-56592-074-0