- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2019-05-29T16:48:31+09:00","default:honma","honma")
#author("2019-10-02T08:55:47+09:00","default:honma","honma")
* 静的プライオリティの範囲 [#c08f2746]
Linuxにおける静的プライオリティの範囲の取得方法
#highlight(c){{
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <sched.h>
#include <linux/sched.h>
int main(int argc, char **argv)
{
printf("SCHED_FIFO = %d - %d\n", sched_get_priority_min(SCHED_FIFO), sched_get_priority_max(SCHED_FIFO));
printf("SCHED_RR = %d - %d\n", sched_get_priority_min(SCHED_RR), sched_get_priority_max(SCHED_RR));
printf("SCHED_OTHER = %d - %d\n", sched_get_priority_min(SCHED_OTHER), sched_get_priority_max(SCHED_OTHER));
/*
* SCHED_BATCH, SCHED_IDLE を利用するには _GNU_SOURCE の定義が必要
*/
printf("SCHED_BATCH = %d - %d\n", sched_get_priority_min(SCHED_BATCH), sched_get_priority_max(SCHED_BATCH));
printf("SCHED_IDLE = %d - %d\n", sched_get_priority_min(SCHED_IDLE), sched_get_priority_max(SCHED_IDLE));
/*
* SCHED_DEADLINE は Kernel 3.14以降 で利用可能
* <linux/sched.h> のインクルードが必要
*/
printf("SCHED_DEADLINE = %d - %d\n", sched_get_priority_min(SCHED_DEADLINE), sched_get_priority_max(SCHED_DEADLINE));
return 0;
}
}}
#highlight(end)
[[ソースコード:http://www.chobits.com/pukiwiki/index.php?plugin=attach&pcmd=open&file=sched_priority_min_max.c&refer=%E9%9D%99%E7%9A%84%E3%83%97%E3%83%A9%E3%82%A4%E3%82%AA%E3%83%AA%E3%83%86%E3%82%A3%E3%81%AE%E7%AF%84%E5%9B%B2]]
[[ソースコード:https://www.chobits.com/pukiwiki/index.php?plugin=attach&pcmd=open&file=sched_priority_min_max.c&refer=%E9%9D%99%E7%9A%84%E3%83%97%E3%83%A9%E3%82%A4%E3%82%AA%E3%83%AA%E3%83%86%E3%82%A3%E3%81%AE%E7%AF%84%E5%9B%B2]]
実行結果
$ ./sched_priority_min_max
SCHED_FIFO = 1 - 99
SCHED_RR = 1 - 99
SCHED_OTHER = 0 - 0
SCHED_BATCH = 0 - 0
SCHED_IDLE = 0 - 0
SCHED_DEADLINE = 0 - 0
参考:[[ 静的プライオリティの範囲を取得する:https://linuxjm.osdn.jp/html/LDP_man-pages/man2/sched_get_priority_max.2.html]]
#htmlinsert(amazon_pc.html);