#author("2019-12-26T08:59:59+09:00","default:honma","honma")
#author("2019-12-26T15:07:04+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)

#ref(sched_priority_min_max.c)

実行結果

 $ ./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