sched_rr_get_interval(2)

NAZWA
sched_rr_get_interval - pobiera przedział SCHED_RR dla danego procesu

BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)

SKŁADNIA
#include <sched.h>

int sched_rr_get_interval(pid_t pid, struct timespec *tp);

OPIS
sched_rr_get_interval() zapisuje do wskazywanej przez tp struktury timespec(3) rotacyjny kwant czasu dla procesu określonego przez pid. Wskazywany proces powinien działać wedle algorytmu szeregowania zadań SCHED_RR.

Jeśli pid ma wartość zero, to do *tp zapisany zostanie kwant czasu procesu wołającego.

WARTOŚĆ ZWRACANA
Po pomyślnym zakończeniu sched_rr_get_interval() zwraca zero. Po błędzie zwracane jest -1 i ustawiane errno wskazując błąd.

BŁĘDY

EFAULT
    Problem z kopiowaniem informacji do przestrzeni użytkownika.

EINVAL
    Nieprawidłowy pid.

ENOSYS
    Wywołanie systemowe nie jest jeszcze zaimplementowane (tylko znacznie starsze jądra).

ESRCH
    Nie udało się znaleźć procesu o identyfikatorze pid.

WERSJE

  Linux
Linux 3.9 dodał nowy mechanizm dostosowywania (i przeglądania) kwantu SCHED_RR: plik /proc/sys/kernel/sched_rr_timeslice_ms ujawnia kwant jako wartość milisekundową, z wartością domyślną równą 100. Zapisanie 0 do tego pliku, resetuje kwant na wartość domyślną.

STANDARDY
POSIX.1-2024.

HISTORIA
POSIX.1-2001.

  Linux
POSIX nie określa żadnego mechanizmu do kontrolowania rozmiar kwantu czasu przy szeregowaniu rotacyjnym. Starsze jądra zapewniały (nieprzenośną) metodę na czynienie tego. Kwant może być kontrolowany przez dostosowywanie wartości nice procesu (zob. setpriority(2)). Przypisanie wartości ujemnej (tj. wysokiej) nice, skutkuje dłuższym kwantem; przypisanie wartości dodatniej (tj. niskiej), skutkuje krótszym kwantem. Domyślny kwant wynosi 0,1 sekundy; stopień, w jakim zmiana wartości nice ma wpływ na kwant, różni się nieco pomiędzy poszczególnymi wersjami jądra. Ta metoda dostosowywania kwantu została usunięta od Linuksa 2.6.24.

UWAGI
Systemy POSIX-owe, na których dostępne jest sched_rr_get_interval(), definiują _POSIX_PRIORITY_SCHEDULING w <unistd.h>.

ZOBACZ TAKŻE
timespec(3), sched(7)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Przemek Borys <pborys@dione.ids.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.