RTC | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
NOM | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
SYNOPSIS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
DESCRIPTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
La plupart des ordinateurs ont une ou plusieurs horloge(s) matérielle(s) qui enregistre(nt) l'heure courante. On les appelle « horloge(s) temps réel ». L'une d'entre elles possède normalement une pile comme alimentation de secours qui l'alimente de sorte qu'elle conserve le temps lorsque l'ordinateur est éteint. Les horloges temps réel fournissent souvent des alarmes et autres interruptions.
Tous les PC i386 et systèmes basés sur ACPI ont une horloge temps réel compatible avec le circuit Motorola MC146818 présent sur les premiers PC/AT. Aujourd'hui, une telle horloge est couramment implémentée dans le jeu de puce de la carte mère (south bridge) et utilise une pile de sauvegarde.
Sur les systèmes qui ne sont pas des PC, comme les systèmes embarqués construits autour de processeurs « système sur une puce », utilisent d'autres implémentations. Ils n'offrent généralement pas la même fonctionnalité que l'horloge temps réel d'un PC/AT.
RTC vs horloge système | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Une différence importante entre une horloge RTC et l'horloge système est que l'horloge RTC continue toujours à fonctionner lorsque l'alimentation du système est défaillante (y compris coupée), ce que ne peut pas faire l'horloge système.
Tant qu'elle n'est pas initialisée, l'horloge système ne peut qu'indiquer le temps écoulé depuis le démarrage du système, pas depuis l'Époque POSIX. Aussi, au démarrage ou après une récupération suite à une faiblesse de l'alimentation, l'horloge système est souvent mise à l'heure grâce à l'horloge RTC. Les systèmes qui ne possèdent pas d'horloge RTC doivent mettre à l'heure l'horloge système avec une autre horloge, peut-être au travers du réseau ou bien en entrant les données à la main.
Fonctionnalité RTC | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
En plus de gérer la date et l'heure, la plupart des horloges RTC peut générer des interruptions
Chacune de ces interruptions peut être activée ou désactivée séparément. Sur beaucoup de systèmes, l'interruption d'alarme peut être configurée en tant qu'événement de réveil du système, qui peut reprendre le système à partir d'un état de faible consommation comme le mode de veille (Suspend-to-RAM : STR, appelé S3 sur les systèmes ACPI), mode d'hibernation (appelé S4 sur les systèmes ACPI) ou même « éteint » (appelé S5 sur les systèmes ACPI). Sur certains systèmes, l'horloge RTC sauvegardée par pile peut ne pas gérer les interruptions, auquel cas une autre peut le faire.
Le périphérique /dev/rtc (ou /dev/rtc0, /dev/rtc1, etc.) ne peut être ouvert qu'une seule fois (jusqu'à ce qu'il soit fermé) et en lecture seule. Dans le cas d'un read(2) ou d'un select(2), le processus appelant est bloqué jusqu'à ce que ne soit reçue la prochaine interruption de cette horloge RTC. À la suite de l'interruption, le processus peut lire un entier long. L'octet de poids faible de celui-ci contient un masque de bit codant les types d'interruption qui sont survenues alors que les trois autres octets contiennent le nombre d'interruptions depuis le dernier read(2).
struct rtc_time { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; /* inutilisé */ int tm_yday; /* inutilisé */ int tm_isdst; /* inutilisé */ };
struct rtc_wkalrm { unsigned char enabled; unsigned char pending; struct rtc_time time; };
FICHIERS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
NOTES | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
L'Époque de l'horloge RTC n'a rien à voir avec l'Époque POSIX qui est seulement utilisée pour l'horloge système.
Si l'année de l'Époque de l'horloge RTC et le registre année est moins que 1970, on suppose alors que l'on est 100 ans plus tard, c'est-à-dire entre 2000 et 2069.
Certaines horloges RTC prennent en charge des valeurs avec « jokers » dans les champs de l'alarme afin de prendre en charge des scenarii comme des alarmes périodes à la quinzième minute après chaque heure, ou le premier jour de chaque mois. Une telle utilisation n'est pas portable ; du code portable en espace utilisateur attend une seule interruption d'alarme et soit désactivera l'alarme, soit il la réinitalisera après avoir reçu l'interruption.
Certaines horloges RTC prennent en charge des interruptions périodiques dont les périodes sont des multiples de la seconde au lieu de fractions de seconde ; des alarmes multiples ; des signaux d'horloge de sortie programmables ; de la mémoire non volatile ; et d'autres possibilités matérielles qui ne sont actuellement pas décrites par cette API.
VOIR AUSSI | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
TRADUCTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 21 juillet 2006 et révisée le 8 janvier 2008.
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 4 rtc ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Sommaire | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
Table des mots clés | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
RTC_AIE_ON, RTC_AIE_OFF | Fonctionnalité RTC |
RTC_ALM_READ, RTC_ALM_SET | Fonctionnalité RTC |
RTC_EPOCH_READ, RTC_EPOCH_SET | Fonctionnalité RTC |
RTC_IRQP_READ, RTC_IRQP_SET | Fonctionnalité RTC |
RTC_PIE_ON, RTC_PIE_OFF | Fonctionnalité RTC |
RTC_RD_TIME | Fonctionnalité RTC |
RTC_SET_TIME | Fonctionnalité RTC |
RTC_UIE_ON, RTC_UIE_OFF | Fonctionnalité RTC |
RTC_WKALM_RD, RTC_WKALM_SET | Fonctionnalité RTC |