Provided by: manpages-fr_4.13-4_all bug

NOM

       time - Panorama des fonctions liées au temps et aux temporisations

DESCRIPTION

   Temps réel et temps processus
       Le  temps  réel est défini comme le temps mesuré à partir d'un point fixe, soit un point standard dans le
       passé (voir la définition de l'époque et du  temps  calendaire  ci‐dessous),  soit  un  point  (p.ex.  le
       démarrage) dans la vie d'un processus (temps écoulé).

       Le  temps  processus  est défini comme le temps CPU utilisé par un processus. Il est parfois divisé entre
       une partie utilisateur et une partie système. Le temps CPU utilisateur est le temps passé à  exécuter  du
       code  en  mode  utilisateur. Le temps CPU système est le temps passé par le noyau en mode système pour le
       processus (p.ex. pendant des appels système). La commande time(1) peut être utilisée pour  déterminer  le
       temps  CPU  utilisé  pendant  l'exécution du programme. Un programme peut déterminer le temps CPU qu'il a
       utilisé avec les fonctions times(2), getrusage(2) et clock(3).

   L'horloge matérielle
       La plupart des ordinateurs ont une horloge matérielle (alimentée par  une  pile)  que  le  noyau  lit  au
       démarrage  du  système  pour  initialiser l'horloge logicielle. Pour plus de détails, consultez rtc(4) et
       hwclock(8).

   L'horloge logicielle, HZ, et les Jiffies
       La précision de divers appels système qui définissent des délais (par exemple select(2), sigtimedwait(2))
       ou qui mesurent le temps processeur (par exemple getrusage(2)) est limitée par la résolution de l'horloge
       logicielle, une horloge maintenue par le noyau qui mesure le temps en jiffies. La durée  d'un  jiffy  est
       déterminée par la valeur de la constante noyau HZ.

       La  précision  de  nombreux  appels  système  et  horodatages  est limitée par la résolution de l'horloge
       logicielle, une horloge maintenue par le noyau qui mesure le temps en jiffies. La taille d'un  jiffy  est
       déterminée  par  la  valeur  de la constante du noyau HZ. La valeur de HZ varie d'une version du noyau et
       d'une architecture à une autre. Sur i386, la situation est la suivante : pour les  noyaux  jusqu'à  2.4.x
       inclus,  HZ  vaut 100, ce qui donne une valeur de jiffy de 10 millisecondes ; à partir de 2.6.0, HZ a été
       augmenté à 1000, ainsi un jiffy était équivalent à 1 milliseconde. Depuis le noyau 2.6.13, la  valeur  de
       HZ  est  un paramètre de configuration du noyau, et peut valoir 100, 250 (la valeur par défaut), ou 1000,
       donnant des valeurs de 10, 4 et 1 millisecondes, respectivement, pour un jiffy. Depuis  le  noyau 2.6.20,
       il  est  aussi possible d'utiliser 300 ; cette valeur est divisible par les fréquences des formats vidéos
       les plus courants (PAL, 25 Hz ; NTSC, 30 Hz).

       L'appel système times(2) est un cas particulier. Il renvoie le temps avec une granularité définie par  la
       constante  du  noyau  USER_HZ.  Les applications utilisateur peuvent obtenir la valeur de cette constante
       avec sysconf(_SC_CLK_TCK).

   System and process clocks; time namespaces
       The kernel supports a range of clocks that measure various kinds of elapsed and virtual  (i.e.,  consumed
       CPU)  time.  These  clocks  are  described  in  clock_gettime(2).  A few of the clocks are settable using
       clock_settime(2).  The  values  of   certain   clocks   are   virtualized   by   time   namespaces;   see
       time_namespaces(7).

   Temporisations haute résolution
       Avant  Linux 2.6.21, la précision des appels système gérant les temporisations et les sommeils (voir plus
       loin) était limitée par la taille du « jiffy ».

       Depuis la version 2.6.21, Linux gère les temporisations haute résolution (HRT :  high-resolution  timers)
       de  manière optionnelle en configurant CONFIG_HIGH_RES_TIMERS. Sur les systèmes gérant les temporisations
       haute résolution, la précision des appels système gérant les temporisations et les  sommeils  n'est  plus
       limitée  par  le  « jiffy »  et  peut  être aussi fine que le système ne le permette (une précision d'une
       microseconde est typique sur les matériels actuels). Vous  pouvez  savoir  si  les  temporisations  haute
       résolution  sont gérées en vérifiant la précision renvoyée par un appel à clock_getres(2) ou en regardant
       les entrées « resolution » du fichier /proc/timer_list.

       Les temporisations haute résolution ne sont pas gérées par toutes les  architectures  matérielles.  Cette
       gestion est disponible sur x86, arm et powerpc parmi d'autres.

   L'époque (Epoch)
       Les  systèmes  UNIX représentent le temps depuis l'époque (Epoch), qui est le 1er janvier 1970 à 00:00:00
       (UTC).

       A program can determine the calendar time via the clock_gettime(2) CLOCK_REALTIME  clock,  which  returns
       time  (in  seconds  and  nanoseconds)  that  have  elapsed  since  the  Epoch;  time(2)  provides similar
       information, but only with accuracy to  the  nearest  second.  The  system  time  can  be  changed  using
       clock_settime(2).

   Temps décomposé
       Certaines  fonctions  de  bibliothèque  utilisent  une  structure  de  type  tm pour représenter le temps
       décomposé, qui stocke le temps décomposé en composantes distinctes (année,  mois,  jour,  heure,  minute,
       seconde, etc.). Cette structure est décrite dans ctime(3), qui décrit également les fonctions qui font la
       conversion  entre  temps  calendaire  et  temps décomposé. Les fonctions permettant les conversions entre
       temps décomposé et représentation sous  forme  de  chaîne  de  caractère  sont  décrites  dans  ctime(3),
       strftime(3) et strptime(3).

   Dormir et placer des temporisations
       Divers appels système et fonctions permettent à un programme de s'endormir (suspendre son exécution) pour
       une durée spécifiée. Consultez nanosleep(2), clock_nanosleep(2) et sleep(3).

       Divers appels système permettent à un processus de placer une temporisation qui expirera à un point donné
       dans   le  futur,  et  éventuellement  à  des  intervalles  répétés.  Consultez  alarm(2),  getitimer(2),
       timerfd_create(2) et timer_create(2).

   Temporisation relâchée
       Depuis Linux 2.6.28, la valeur de « temporisation relâchée » peut  être  contrôlée  pour  un  thread.  La
       temporisation  relâchée  est l'intervalle de temps pendant lequel le noyau pourrait différer le réveil de
       certains appels qui bloquent avec un délai d'expiration. L'autorisation de ce délai permet  au  noyau  de
       coalescer  les  événements de réveil, en réduisant donc éventuellement le nombre de réveils système et la
       consommation d'énergie. Veuillez consulter la description de PR_SET_TIMERSLACK dans prctl(2) pour obtenir
       plus de précisions.

VOIR AUSSI

       date(1), time(1), timeout(1), adjtimex(2), alarm(2), clock_gettime(2), clock_nanosleep(2), getitimer(2),
       getrlimit(2), getrusage(2), gettimeofday(2), nanosleep(2), stat(2), time(2), timer_create(2),
       timerfd_create(2), times(2), utime(2), adjtime(3), clock(3), clock_getcpuclockid(3), ctime(3),
       ntp_adjtime(3), ntp_gettime(3), pthread_getcpuclockid(3), sleep(3), strftime(3), strptime(3),
       timeradd(3), usleep(3), rtc(4), time_namespaces(7), hwclock(8)

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des
       instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à
       l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette page de manuel a été créée par Christophe Blaess
       <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud
       <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard
       <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau
       <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François
       <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard
       <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org> et David Prévot
       <david@tilapin.org>

       Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à
       debian-l10n-french@lists.debian.org.

Linux                                             11 avril 2020                                          TIME(7)