.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2014 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH sched_setscheduler 2 "23 iulie 2024" "Pagini de manual de Linux 6.12" .SH NUME sched_setscheduler, sched_getscheduler \- stabilește și obține politica/parametrii de planificare .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBint sched_setscheduler(pid_t \fP\fIpid\fP\fB, int \fP\fIpolicy\fP\fB,\fP \fB const struct sched_param *\fP\fIparam\fP\fB);\fP \fBint sched_getscheduler(pid_t \fP\fIpid\fP\fB);\fP .fi .SH DESCRIERE Apelul de sistem \fBsched_setscheduler\fP() stabilește atât politica de planificare, cât și parametrii pentru firul al cărui ID este specificat în \fIpid\fP. Dacă \fIpid\fP este egal cu zero, se vor stabili politica de planificare și parametrii firului apelant. .P Parametrii de planificare sunt specificați în argumentul \fIparam\fP, care este un indicator către o structură de forma următoare: .P .in +4n .EX struct sched_param { ... int sched_priority; ... }; .EE .in .P În implementarea actuală, structura conține un singur câmp, \fIsched_priority\fP. Interpretarea lui \fIparam\fP depinde de politica selectată. .P În prezent, Linux acceptă următoarele politici de planificare „normale” (adică, fără timp real) ca valori care pot fi specificate în \fIpolicy\fP: .TP 14 \fBSCHED_OTHER\fP .\" In the 2.6 kernel sources, SCHED_OTHER is actually called .\" SCHED_NORMAL. politica standard de repartizare a timpului „round\-robin”; .TP \fBSCHED_BATCH\fP pentru executarea proceselor în stil „lot”; și .TP \fBSCHED_IDLE\fP pentru rularea sarcinilor de fundal cu prioritate foarte mică. .P Pentru fiecare dintre politicile de mai sus, \fIparam\->sched_priority\fP trebuie să fie 0. .P Sunt acceptate, de asemenea, diferite politici „în timp real”, pentru aplicații speciale cu timp critic care necesită un control precis asupra modului în care sunt selectate pentru execuție firele de execuție. Pentru normele care reglementează situațiile în care un proces poate utiliza aceste politici, a se vedea \fBsched\fP(7). Politicile în timp real care pot fi specificate în \fIpolicy\fP sunt: .TP 14 \fBSCHED_FIFO\fP o politică „primul intrat, primul ieșit”; și .TP \fBSCHED_RR\fP o politică „round\-robin”. .P Pentru fiecare dintre politicile de mai sus, \fIparam\->sched_priority\fP specifică o prioritate de planificare pentru fir. Acesta este un număr din intervalul returnat prin apelarea \fBsched_get_priority_min\fP(2) și \fBsched_get_priority_max\fP(2) cu \fIpolicy\fP specificat. În Linux, aceste apeluri de sistem returnează, respectiv, 1 și 99. .P Începând cu Linux 2.6.32, flagul \fBSCHED_RESET_ON_FORK\fP poate fi SAU condițional(ORed) în \fIpolicy\fP atunci când se apelează \fBsched_setscheduler\fP(). Ca urmare a includerii acestui indicator, copiii creați de \fBfork\fP(2) nu moștenesc politici de planificare privilegiate. Consultați \fBsched\fP(7) pentru detalii. .P \fBsched_getscheduler\fP() returnează politica curentă de planificare a firului identificat prin \fIpid\fP. Dacă \fIpid\fP este egal cu zero, se va prelua politica firului apelant. .SH "VALOAREA RETURNATĂ" În caz de succes, \fBsched_setscheduler\fP() returnează zero. La succes, \fBsched_getscheduler\fP() returnează politica pentru firul de execuție (un număr întreg nenulegativ). În caz de eroare, ambele apeluri returnează \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEINVAL\fP Argumente nevalide: \fIpid\fP este negativ sau \fIparam\fP este NULL. .TP \fBEINVAL\fP (\fBsched_setscheduler\fP()) Politica definită de \fIpolicy\fP nu este una dintre politicile recunoscute. .TP \fBEINVAL\fP (\fBsched_setscheduler\fP()) Parametrul \fIparam\fP nu are sens pentru \fIpolicy\fP specificată. .TP \fBEPERM\fP Firul apelant nu are privilegiile adecvate. .TP \fBESRCH\fP Firul de execuție al cărui identificator este \fIpid\fP nu a putut fi găsit. .SH VERSIUNI POSIX.1 nu detaliază permisiunile de care are nevoie un fir neprivilegiat pentru a apela \fBsched_setscheduler\fP(), iar detaliile variază de la un sistem la altul. De exemplu, pagina de manual Solaris 7 precizează că ID\-ul de utilizator real sau efectiv al apelantului trebuie să coincidă cu ID\-ul de utilizator real sau cu set\-user\-ID\-ul de salvare al țintei. .P Politica de planificare și parametrii sunt de fapt atribute per\-fir de execuție în Linux. Valoarea returnată în urma unui apel la \fBgettid\fP(2) poate fi trecută în argumentul \fIpid\fP. Specificarea \fIpid\fP ca 0 va opera asupra atributelor firului apelant, iar trecerea valorii returnate în urma unui apel la \fBgetpid\fP(2) va opera asupra atributelor firului principal al grupului de fire; (dacă utilizați API\-ul de fire POSIX, atunci utilizați \fBpthread_setschedparam\fP(3), \fBpthread_getschedparam\fP(3) și \fBpthread_setschedprio\fP(3), în locul apelurilor de sistem \fBsched_*\fP(2)). .SH STANDARDE POSIX.1\-2008 (dar vedeți secțiunea ERORI de mai jos). .P \fBSCHED_BATCH\fP și \fBSCHED_IDLE\fP sunt specifice Linux. .SH ISTORIC POSIX.1\-2001. .SH NOTE Detalii suplimentare privind semantica tuturor politicilor de planificare „normală” și „în timp real” de mai sus pot fi găsite în pagina de manual \fBsched\fP(7). Pagina respectivă descrie, de asemenea, o politică suplimentară, \fBSCHED_DEADLINE\fP, care poate fi definită numai prin intermediul \fBsched_setattr\fP(2). .P Sistemele POSIX pe care sunt disponibile \fBsched_setscheduler\fP() și \fBsched_getscheduler\fP() definesc \fB_POSIX_PRIORITY_SCHEDULING\fP în \fI\fP. .SH ERORI POSIX.1 spune că, în caz de succes, \fBsched_setscheduler\fP() ar trebui să returneze politica de planificare anterioară. Linux \fBsched_setscheduler\fP() nu este conform cu această cerință, deoarece returnează întotdeauna 0 în caz de succes. .SH "CONSULTAȚI ȘI" .ad l .nh \fBchrt\fP(1), \fBnice\fP(2), \fBsched_get_priority_max\fP(2), \fBsched_get_priority_min\fP(2), \fBsched_getaffinity\fP(2), \fBsched_getattr\fP(2), \fBsched_getparam\fP(2), \fBsched_rr_get_interval\fP(2), \fBsched_setaffinity\fP(2), \fBsched_setattr\fP(2), \fBsched_setparam\fP(2), \fBsched_yield\fP(2), \fBsetpriority\fP(2), \fBcapabilities\fP(7), \fBcpuset\fP(7), \fBsched\fP(7) .ad .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .