sched_rr_get_interval -
определяет
временной
интервал SCHED_RR
для
заданного
процесса
Standard C library (
libc,
-lc)
#include <sched.h>
int sched_rr_get_interval(pid_t pid, struct timespec *tp);
Вызов
sched_rr_get_interval()
записывает
циклический
квант
времени
процесса
pid
в
структуру
timespec(3), на
которую
указывает
tp.
Указанный
процесс
должен
запускаться
с
политикой
выполнения
SCHED_RR.
Если
значение
pid
равно нулю,
то в
*tp
записывается
квант
времени
вызывающего
процесса.
On success,
sched_rr_get_interval() returns 0. On error, -1 is returned,
and
errno is set to indicate the error.
- EFAULT
- Проблема
с
копированием
информации
в
пространство
пользователя.
- EINVAL
- Неверное
значение pid.
- ENOSYS
- Системный
вызов ещё
не
реализован
(только в
старых
ядрах).
- ESRCH
- Не
удалось
найти
процесс с
идентификатором,
указанном
в pid.
POSIX.1-2001, POSIX.1-2008.
В системах POSIX,
в которых
доступен
вызов
sched_rr_get_interval(),
определён
_POSIX_PRIORITY_SCHEDULING в
<unistd.h>.
В POSIX не
определён
какой-либо
механизм
для
контроля
размера
циклического
кванта
времени. В
старых
ядрах Linux для
этого
создан
(непереносимый)
метод.
Квант
можно
контролировать
подгоняя
значение
любезности
процесса
(см.
setpriority(2)).
Назначение
отрицательного
(т.е.,
высокого)
значения
любезности
приведёт к
более
длинному
кванту;
назначение
положительного
(т.е., низкого)
значения
любезности
приведёт к
сокращению
кванта.
Квант по
умолчанию
равен 0.1
секунды;
степень, с
которой
значение
любезности
влияет на
квант,
различается
в разных
версиях
ядра.
Данный
метод
подгонки
кванта был
удалён
начиная с Linux
2.6.24.
В Linux 3.9
добавлен
новый
механизм
регулировки
(и
просмотра)
кванта
SCHED_RR:
файл
/proc/sys/kernel/sched_rr_timeslice_ms
отражает
квант как
значение в
миллисекундах,
по
умолчанию
равное 100.
Запись 0 в
этот файл
сбрасывает
квант в
значение
по
умолчанию.
timespec(3),
sched(7)
Русский
перевод
этой
страницы
руководства
был сделан
Alexander Golubev <
[email protected]>, Azamat Hackimov
<
[email protected]>, Hotellook, Nikita
<
[email protected]>, Spiros Georgaras <
[email protected]>, Vladislav
<
[email protected]>, Yuri Kozlov <
[email protected]>
и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]