Linux |
CentOS 5.3 |
|
time(7) |
time − Vue d’ensemble du temps. |
Temps réel et temps processus |
Le temps réel est défini comme étant le temps mesuré à partir d’un instant fixé : soit un instant standard du passé (voir la description de l’Ãpoque et du temps calendrier plus loin), soit un instant (par exemple, le début) de la vie d’un processus (temps écoulé). Le temps processus est défini comme la quantité de temps CPU consommée par un processus. Il est quelques fois divisé en deux parties : le temps utilisateur et le temps 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 à exécuter en mode système au nom du processus (par exemple, exécuter les appels système). La commande time(1) peut être utilisée pour déterminer la quantité de temps CPU consommée pendant l’exécution d’un programme. Un programme peut déterminer la quantité de temps CPU qu’il a consommée en utilisant times(2), getrusage(2) ou clock(3). |
L’horloge matérielle |
La plupart des systèmes ont une horloge matérielle (alimentée par pile) que le noyau lit au démarrage afin d’initialiser l’horloge logicielle. Pour plus de détails, voir rtc(4) et hwclock(8). |
L’horloge logicielle, HZ, et jiffies |
La précision de la plupart des appels système et des 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 noyau HZ. La valeur de HZ varie suivant les versions du noyau et des plateformes matérielles. Sur x86, la situation est la suivante : pour les noyaux jusqu’au 2.4.x y compris, HZ vaut 100, donnant une valeur de jiffy de 0,01 secondes ; à partir du noyau 2.6.0, HZ a été augmenté à 1000, donnant un jiffy de 0,001 secondes ; depuis le noyau 2.6.13, la valeur de HZ est un paramètre de configuration du noyau qui peut être 100, 250 (valeur par défaut) ou 1000, donnant une valeur de jiffy de, respectivement, 0,01, 0,004 ou 0,001 secondes. |
L’Ãpoque |
Les systèmes Unix représentent le temps en secondes depuis l’Ãpoque, qui est définie comme étant le 1er janvier 1970 à 0:00:00 UTC. Un programme peut déterminer le temps calendrier en utilisant gettimeofday(2), qui renvoie le temps (en secondes et microsecondes) qui s’est écoulé depuis l’Ãpoque ; time(2) fournit une information similaire, mais seulement avec une précision de la seconde la plus proche. Le temps système peut être modifié avec settimeofday(2). |
Temps ventilé |
Certaines fonctions de la bibliothèque utilisent une structure de type tm pour représenter le temps ventilé, qui stocke la valeur du temps en des composantes distinctes (année, mois, jour, heure, minute, seconde, etc.). Cette structure structure est décrite dans ctime(3), qui décrit également les fonctions qui convertissent le temps calendrier en temps ventilé et vice versa. Les fonctions pour convertir le temps ventilé en chaîne de caractères affichables sont décrites dans ctime(3), strftime(3) et strptime(3). |
Sommeil et configuration 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 ; voir nanosleep(2) et sleep(3). Divers appels système permettent à un processus de configurer une temporisation qui expirera à un moment particulier dans le futur, et optionnellement à intervalles réguliers ; voir alarm(2), getitimer(2) et timer_create(3). |
date(1), time(1), adjtimex(2), alarm(2), getitimer(2), getrlimit(2), getrusage(2), gettimeofday(2), nanosleep(2), stat(2), time(2), times(2), utime(2), adjtime(3), clock(3), sleep(3), ctime(3), strftime(3), strptime(3), usleep(3), rtc(4), hwclock(8). |
Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 4 août 2006. L’équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 7 time ». N’hésitez pas à signaler à l’auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel. |
time(7) |