.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2006 by Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" 2008-06-24, mtk: added some details about where jiffies come into .\" play; added section on high-resolution timers. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH time 7 "22 ianuarie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME timp \- prezentare generală a timpului și a cronometrelor .SH DESCRIERE .SS "Timp real și timp de procesare" \fITimp real\fP se definește ca fiind timpul măsurat de la un punct fix, fie de la un punct standard din trecut (a se vedea descrierea epocii și a timpului calendaristic de mai jos), fie de la un punct (de exemplu, începutul) din viața unui proces (\fItimp scurs\fP). .PP \fITimpul de procesare\fP este definit ca fiind cantitatea de timp de procesor utilizat de un proces. Acesta este uneori împărțit în componentele \fIutilizator\fP și \fIsistem\fP. Timpul CPU de utilizator este timpul petrecut executând cod în modul utilizator. Timpul CPU de sistem este timpul petrecut de nucleu executând în modul sistem în numele procesului (de exemplu, executând apeluri de sistem). Comanda \fBtime\fP(1) poate fi utilizată pentru a determina cantitatea de timp CPU consumată în timpul execuției unui program. Un program poate determina cantitatea de timp de procesor pe care a consumat\-o folosind \fBtimes\fP(2), \fBgetrusage\fP(2) sau \fBclock\fP(3). .SS "Ceasul hardware" Majoritatea calculatoarelor au un ceas hardware (alimentat cu baterii) pe care nucleul îl citește în momentul pornirii pentru a inițializa ceasul software. Pentru mai multe detalii, consultați \fBrtc\fP(4) și \fBhwclock\fP(8). .SS "Ceasul software, HZ și jiffies" .\" semtimedop(), mq_timedwait(), io_getevents(), poll() are the same .\" futexes and thus sem_timedwait() seem to use high-res timers. Precizia diferitelor apeluri de sistem care stabilesc temporizări (de exemplu, \fBselect\fP(2), \fBsigtimedwait\fP(2)) și măsoară timpul de procesare (de exemplu, \fBgetrusage\fP(2)) este limitată de rezoluția \fIceasului software\fP, un ceas întreținut de nucleu care măsoară timpul în \fIjiffies\fP. Dimensiunea unui jiffy este determinată de valoarea constantei \fIHZ\fP a nucleului. .PP Valoarea lui \fIHZ\fP variază în funcție de versiunile de nucleu și de platformele hardware. Pe i386, situația este următoarea: pe nucleele de până la Linux 2.4.x inclusiv, HZ era 100, ceea ce dădea o valoare a jiffy de 0,01 secunde; începând cu Linux 2.6.0, HZ a fost ridicat la 1000, ceea ce dă o valoare a jiffy de 0,001 secunde. Începând cu Linux 2.6.13, valoarea HZ este un parametru de configurare a nucleului și poate fi 100, 250 (valoarea implicită) sau 1000, ceea ce dă o valoare a jiffy\-urilor de, respectiv, 0,01, 0,004 sau 0,001 secunde. Începând cu Linux 2.6.20, este disponibilă o frecvență suplimentară: 300, un număr care se împarte în mod egal pentru frecvențele de cadre video comune (PAL, 25 Hz; NTSC, 30 Hz). .PP .\" glibc gets this info with a little help from the ELF loader; .\" see glibc elf/dl-support.c and kernel fs/binfmt_elf.c. .\" Apelul de sistem \fBtimes\fP(2) este un caz special. Acesta raportează timpii cu o granularitate (finețe) definită de constanta de nucleu \fIUSER_HZ\fP. Aplicațiile din spațiul utilizatorului pot determina valoarea acestei constante folosind \fIsysconf(_SC_CLK_TCK)\fP. .SS "Ceasuri de sistem și de proces; spații de nume de timp" .\" Nucleul suportă o serie de ceasuri care măsoară diferite tipuri de timp scurs și virtual (adică timpul consumat de CPU). Aceste ceasuri sunt descrise în \fBclock_gettime\fP(2). Câteva dintre ceasuri pot fi configurate cu ajutorul \fBclock_settime\fP(2). Valorile anumitor ceasuri sunt virtualizate prin spații de nume de timp; a se vedea \fBtime_namespaces\fP(7). .SS "Temporizatoare de înaltă rezoluție" Înainte de Linux 2.6.21, precizia apelurilor de sistem timer și sleep (a se vedea mai jos) era, de asemenea, limitată de dimensiunea jiffy. .PP Începând cu Linux 2.6.21, Linux acceptă temporizatoare de înaltă rezoluție (HRT), configurabile opțional prin \fBCONFIG_HIGH_RES_TIMERS\fP. Pe un sistem care suportă HRT\-uri, precizia apelurilor de sistem de tip sleep și timer nu mai este constrânsă de jiffy, ci poate fi atât de precisă pe cât permite echipamentul (precizia de microsecunde este tipică pentru echipamentul modern). Puteți determina dacă sunt acceptate temporizatoarele de înaltă rezoluție verificând rezoluția returnată de un apel la \fBclock_getres\fP(2) sau uitându\-vă la intrările „resolution” din \fI/proc/timer_list\fP. .PP HRT\-urile nu sunt acceptate pe toate arhitecturile hardware; (suportul este oferit pe x86, ARM și PowerPC, printre altele.) .SS Epoca Sistemele UNIX reprezintă timpul în secunde de la \fIEpocă\fP, 1970\-01\-01 00:00:00:00 +0000 (UTC). .PP .\" Un program poate determina \fItimpul calendaristic\fP prin intermediul ceasului \fBclock_gettime\fP(2) \fBCLOCK_REALTIME\fP, care returnează timpul (în secunde și nanosecunde) care s\-a scurs de la Epocă; \fBtime\fP(2) oferă informații similare, dar numai cu o precizie la cea mai apropiată secundă. Ora sistemului poate fi modificată cu ajutorul \fBclock_settime\fP(2). .SS "Timpul defalcat" Anumite funcții de bibliotecă utilizează o structură de tip \fItm\fP pentru a reprezenta \fItimpul defalcat\fP, care stochează valoarea timpului separată în componente distincte (an, lună, zi, oră, minut, secundă etc.). Această structură este descrisă în \fBtm\fP(3type), care descrie, de asemenea, funcțiile care fac conversia între timpul calendaristic și timpul defalcat. Funcțiile de conversie între timpul defalcat și reprezentările de tip șir de caractere imprimabile ale timpului sunt descrise în \fBctime\fP(3), \fBstrftime\fP(3) și \fBstrptime\fP(3). .SS "Adormirea și configurarea temporizatoarelor" Diverse apeluri și funcții de sistem permit unui program să doarmă (să suspende execuția) pentru o anumită perioadă de timp; a se vedea \fBnanosleep\fP(2), \fBclock_nanosleep\fP(2) și \fBsleep\fP(3). .PP Diverse apeluri de sistem permit unui proces să configureze un temporizator care expiră la un moment dat în viitor și, opțional, la intervale repetate; a se vedea \fBalarm\fP(2), \fBgetitimer\fP(2), \fBtimerfd_create\fP(2) și \fBtimer_create\fP(2). .SS "Marjă temporizator" Începând cu Linux 2.6.28, este posibil să se controleze valoarea marjei temporizatorului „timer slack” pentru un fir de execuție. Marja temporizatorului este durata de timp cu care nucleul poate întârzia trezirea anumitor apeluri de sistem care se blochează cu un timp de așteptare. Permiterea acestei întârzieri permite nucleului să reunească evenimentele de trezire, reducând astfel numărul de treziri ale sistemului și economisind energie. Pentru mai multe detalii, a se vedea descrierea \fBPR_SET_TIMERSLACK\fP în \fBprctl\fP(2). .SH "CONSULTAȚI ȘI" .ad l .nh \fBdate\fP(1), \fBtime\fP(1), \fBtimeout\fP(1), \fBadjtimex\fP(2), \fBalarm\fP(2), \fBclock_gettime\fP(2), \fBclock_nanosleep\fP(2), \fBgetitimer\fP(2), \fBgetrlimit\fP(2), \fBgetrusage\fP(2), \fBgettimeofday\fP(2), \fBnanosleep\fP(2), \fBstat\fP(2), \fBtime\fP(2), \fBtimer_create\fP(2), \fBtimerfd_create\fP(2), \fBtimes\fP(2), \fButime\fP(2), \fBadjtime\fP(3), \fBclock\fP(3), \fBclock_getcpuclockid\fP(3), \fBctime\fP(3), \fBntp_adjtime\fP(3), \fBntp_gettime\fP(3), \fBpthread_getcpuclockid\fP(3), \fBsleep\fP(3), \fBstrftime\fP(3), \fBstrptime\fP(3), \fBtimeradd\fP(3), \fBusleep\fP(3), \fBrtc\fP(4), \fBtime_namespaces\fP(7), \fBhwclock\fP(8) .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 .