Provided by: manpages-fr_3.32d0.2p4-1_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).

   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).

       Un programme peut déterminer le temps calendaire  avec  gettimeofday(2),  qui  renvoie  le
       temps  (en  secondes  et  microsecondes)  écoulé  depuis  l'époque ;  time(2)  fournit une
       information similaire, mais avec une précision d'une seconde. Le temps système  peut  être
       modifié avec settimeofday(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).

VOIR AUSSI

       date(1),   time(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),   pthread_getcpuclockid(3),   sleep(3),   strftime(3),
       strptime(3), timeradd(3), usleep(3), rtc(4), hwclock(8)

COLOPHON

       Cette page fait partie de la publication 3.32 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <URL:http://po4a.alioth.debian.org/>  par  l'équipe  de  traduction francophone au sein du
       projet perkamon <URL:http://perkamon.alioth.debian.org/>.

       Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>   ou   par   un  rapport  de  bogue  sur  le  paquet
       manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document  en  utilisant  la
       commande « man -L C <section> <page_de_man> ».