Scroll to navigation

sched_rr_get_interval(2) System Calls Manual 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ć w polityce przydzielania 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

Problem z kopiowaniem informacji do przestrzeni użytkownika.
Nieprawidłowy pid.
Wywołanie systemowe nie jest jeszcze zaimplementowane (tylko znacznie starsze jądra).
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-2008.

HISTORIA

POSIX.1-2001.

Linux

POSIX nie określa żadnego mechanizmu do kontrolowania rozmiar kwantu czasu przy planowaniu 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

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: 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 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.

2 maja 2024 r. Linux man-pages (niewydane)