#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);


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS