sched_rr_get_interval(2) System Calls Manual sched_rr_get_interval(2)

sched_rr_get_interval - obține intervalul SCHED_RR pentru procesul numit

Biblioteca C standard (libc, -lc)

#include <sched.h>
int sched_rr_get_interval(pid_t pid, struct timespec *tp);

sched_rr_get_interval() scrie în structura timespec(3) indicată de tp cuantica de timp round-robin pentru procesul identificat de pid. Procesul specificat ar trebui să ruleze în conformitate cu politica de planificare SCHED_RR.

Dacă pid este zero, cuantumul de timp pentru procesul apelant este scris în *tp.

În caz de succes, sched_rr_get_interval() returnează 0. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

Problemă cu copierea informațiilor în spațiul utilizatorului.
PID nevalid
Apelul de sistem nu este încă implementat (doar pe nuclee destul de vechi).
Nu s-a putut găsi un proces cu ID-ul pid.

Linux 3.9 a adăugat un nou mecanism pentru ajustarea (și vizualizarea) cuanticului SCHED_RR: fișierul /proc/sys/kernel/sched_rr_timeslice_ms expune cuanticul ca o valoare de milisecunde, a cărei valoare implicită este 100. Scriind 0 în acest fișier se readuce cuantumul la valoarea implicită.

POSIX.1-2008.

POSIX.1-2001.

POSIX nu specifică niciun mecanism de control al mărimii cuantumului de timp round-robin. Nucleele Linux mai vechi oferă o metodă (neportabilă) de a face acest lucru. Cuantumul poate fi controlat prin ajustarea valorii „nice” a procesului (a se vedea setpriority(2)). Alocarea unei valori „nice” negative (adică, mare) are ca rezultat un cuantum mai lung; alocarea unei valori „nice” pozitive (adică, mică) are ca rezultat un cuantum mai scurt. Cuantumul implicit este de 0,1 secunde; gradul în care modificarea valorii „nice” afectează cuantumul a variat oarecum între versiunile nucleului. Această metodă de ajustare a cuantumului a fost eliminată începând cu Linux 2.6.24.

Sistemele POSIX pe care este disponibilă sched_rr_get_interval() definesc _POSIX_PRIORITY_SCHEDULING în <unistd.h>.

timespec(3), sched(7)

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

2 mai 2024 Pagini de manual de Linux 6.9.1