2008年11月25日火曜日

リアルタイムプロセス

プロセスをリアルタイムプロセスにするには,sched_setschedulerを用いる.

sched_setscheduler(pid_t pid, int policy,const struct sched_param *param);

pid:プロセスID(自身をリアルタイムプロセスにするには0を設定)
policy:どのようなスケジューリングに設定するかのポリシー
(リアルタイム:SCHED_FIFO,SCHED_RR
リアルタイムでない:SCHED_OTHER,SCHED_BATCH,SCHED_IDLE)

●使用例:より正確に時間を計測したい場合
#include
struct sched_param *param;

int main(){
 ……
sched_setscheduler(0,SCHED_RR,param);
sleep(sleep_interval);
sched_setscheduler(0,SCHED_OTHER,param);
 ……
}

参照ページ:
Manpage of SCHED_SETSCHEDULER

0 件のコメント: