ИМЯ sched_setscheduler, sched_getscheduler - устанавливает или получает алгоритм планирования (и его параметры)
ОБЗОР #include <sched.h>
int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param);
int sched_getscheduler(pid_t pid);
ОПИСАНИЕ Вызов sched_setscheduler() задаёт алгоритм и параметры планирования выполнения нити с идентификатором pid. Если pid равен нулю, то будет изменён алгоритм и параметры планирования вызывающей нити.
Параметры планирования указываются в аргументе param, который является указателем на следующую структуру:
struct sched_param { ... int sched_priority; ... };
В текущей реализации структура содержит только одно поле — sched_priority. Интерпретация param зависит от выбранного алгоритма.
В настояще
...
Читать дальше »
|
ИМЯ sched_setparam, sched_getparam - получает и устанавливает параметры планирования
ОБЗОР #include <sched.h>
int sched_setparam(pid_t pid, const struct sched_param *param);
int sched_getparam(pid_t pid, struct sched_param *param);
struct sched_param { ... int sched_priority; ... };
ОПИСАНИЕ Вызов sched_setparam() устанавливает параметры планирования процесса с идентификатором pid в соответствии с его политикой планирования. Если pid равен нулю, то устанавливаются параметры вызывающего процесса. Тип и значение аргумента param зависит от политики планирования, назначенной процессу с идентификатором pid. Описание алгоритмов планирования, поддерживаемых в Linux, смотрите в sched(7).
Вызов sched_getparam() получает текущие параметры планирования процесса с pid
...
Читать дальше »
|
ИМЯ sched_setattr, sched_getattr - назначает и возвращает алгоритм планирования и атрибуты
ОБЗОР #include <sched.h>
int sched_setattr(pid_t pid, struct sched_attr *attr, unsigned int flags);
int sched_getattr(pid_t pid, struct sched_attr *attr, unsigned int size, unsigned int flags);
ОПИСАНИЕ sched_setattr() Системный вызов sched_setattr() задаёт алгоритм планирования и соответствующие атрибуты для нити с идентификатором pid. Если pid равно нулю, то будет изменён алгоритм и атрибуты планирования вызывающей нити.
В настоящее время в Linux поддерживаются следующие «обычные» (т. е. не реального времени) алгоритмы планирования, которые можно указать в policy:
SCHED_OTHER алгоритм циклического обслуживания с разделением времени;
SCHED_BATCH «пакетный» стиль выполнения
...
Читать дальше »
|
ИМЯ sched_setaffinity, sched_getaffinity - устанавливает и получает процессорную маску увязывания для нити
ОБЗОР #define _GNU_SOURCE /* Смотрите feature_test_macros(7) */ #include <sched.h>
int sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *mask);
int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *mask);
ОПИСАНИЕ Процессорной маской увязывания нити задаётся набор процессоров, на которых разрешено выполняться нити. В многопроцессорных системах задание процессорной маски увязывания можно использовать для получения большей производительности. Например, выделение специального процессора определённой нити (т.е., задание в процессорной маске увязывания для нити одного ЦП и исключение этого ЦП из процессорных масок увязывания для остальных нитей) об
...
Читать дальше »
|
ИМЯ sched_rr_get_interval - определяет временной интервал SCHED_RR для заданного процесса
ОБЗОР #include <sched.h>
int sched_rr_get_interval(pid_t pid, struct timespec *tp);
ОПИСАНИЕ Вызов sched_rr_get_interval() записывает циклический квант времени процесса pid в структуру timespec, на которую указывает tp. Указанный процесс должен запускаться с политикой выполнения SCHED_RR.
Структура timespec описана следующим образом:
struct timespec { time_t tv_sec; /* секунды */ long tv_nsec; /* наносекунды */ };
Если значение pid равно нулю, то в *tp записывается квант времени вызывающего процесса.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ При успешном выполнении sched_rr_get_interval() возвращается 0. При ошибке возвращается -1, а значение errno устанавливается
...
Читать дальше »
|
ИМЯ sched_setscheduler, sched_getscheduler - устанавливает или получает алгоритм планирования (и его параметры)
ОБЗОР #include <sched.h>
int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param);
int sched_getscheduler(pid_t pid);
ОПИСАНИЕ Вызов sched_setscheduler() задаёт алгоритм и параметры планирования выполнения нити с идентификатором pid. Если pid равен нулю, то будет изменён алгоритм и параметры планирования вызывающей нити.
Параметры планирования указываются в аргументе param, который является указателем на следующую структуру:
struct sched_param { ... int sched_priority; ... };
В текущей реализации структура содержит только одно поле — sched_priority. Интерпретация param зависит от выбранного алгоритма.
В настояще
...
Читать дальше »
|
ИМЯ sched_get_priority_max, sched_get_priority_min - возвращают статический диапазон приоритетов
ОБЗОР #include <sched.h>
int sched_get_priority_max(int policy);
int sched_get_priority_min(int policy);
ОПИСАНИЕ Вызов sched_get_priority_max() возвращает максимальное значение приоритета, которое может использоваться с алгоритмом планирования, указанного в policy. Вызов sched_get_priority_min() возвращает минимальное значение приоритета, которое может использоваться с алгоритмом планирования, указанного в policy. Поддерживаемые значения для policy: SCHED_FIFO, SCHED_RR, SCHED_OTHER, SCHED_BATCH, SCHED_IDLE и SCHED_DEADLINE. Подробней об этих политиках смотрите в sched(7).
Процессы с большим числовым значением приоритета планируются к выполнению раньше процессов с меньшим чис
...
Читать дальше »
| « 1 2 ... 12 13 14 15 16 ... 59 60 » |