LINUX.ORG.RU

Разные значения приоритета процесса...Почему?


0

1

Считываю приоритет процесса из ядра, из тестовой проги и с помощью вывода ps.

Почему разные значения приоритета для одного и того же прооцесса?

Тестовая прога:

#include <stdio.h>
#include <sys/resource.h>

int main( int argc, char *argv[] ) {
	int which = PRIO_PROCESS;
	id_t pid;
	int ret;

	while (1) {
		pid = getpid();
		ret = getpriority (which, pid);

		printf ("Prio=%d pid=%d\n",ret,pid);
		sleep (10);
	}
}

Получаю значение приоритета 0

При выводе команды ps получаю значение приоритета 80 для этого процесса.

При считывании приоритета (опятьже для этого процесса) из функции ядра __sched schedule (void), которая находится в файле sched.c получаю значение 120.

Цифра 120 с одной стороны вроде адекватна (поскольку во всех доках она чаще всего приводится...) но считывая приоритеты остальных процессов также получаю 120. Поле prio структуры task_struct

Как можно обосновать такие разные данные?

Почитай в мане, что характеризует приоритет в выводе команды ps. Я думаю, никто тебе не отвечает, потому что всем лень его за тебя читать ) Что неудивительно.

ttnl ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.