[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: a quoi sert /proc/sys/dev/rtc/max-user-freq ?



On Tue, Feb 11, 2003 at 04:07:01PM +0000, Yves Rutschle wrote:
> On Tue, Feb 11, 2003 at 03:50:54PM +0100, Quentin Saderne wrote:
> > a quoi sert le fichier 
> > /proc/sys/dev/rtc/max-user-freq
> 
> Tout PC a un circuit appelé RTC: Real Time Clock. Ce circuit
> conserve la date quand l'ordinateur est débranché.

En effet.

> 
> De plus, il dispose de compteurs (3 si je me souviens bien)
> programmables (on peut changer leur fréquence). Chaque
> compteur, quand il expire, génère une interruption. Cela
> permet donc d'avoir une source régulière d'interruptions.

Mais tu confonds le PIT (programmeble interrupt timer) qui est 
utilisé comme base de temps par le noyau (100 Hz sur la
plupart des machines et 1kHz depuis 2.5 sur Intel). Ce sont deux
chips complètement séparés. 

Sur les 3 compteurs du PIT (8254), l'un est utilisé comme base de temps
par le noyau, l'autre génère la fréquence envoyée au haut-parleur (le 
système de son primitif des PC), et le troisième servait à une époque
à générer les cycles de rafraîchissement mémoire (présents aussi 
sur le bus ISA). 

Il faut souligner que seul l'un des compteurs du PIT peut générer des
interruptions, le chip étant tellement mal conçu qu'il aurait fallu 
utiliser une ligne d'interruption par compteur pour utiliser les autres.

La RTC est normalement l'interruption 8, et le PIT l'interruption 0.

> La plus importante de ces interruptions est celle du "timer"
> du noyau, qui garanti que le noyau fait tourner tous les
> process qui veulent tourner etc. 
> 
> Une des interruptions est libre, et le noyau permet à un
> processus de rêgler la fréquence qu'il veut, pour pouvoir se
> faire reveiller à intervale régulier (en principe avec plus
> de précision qu'en utilisant les compteurs du noyau).

La précision vient du fait qu'elle est dérivée du quartz 
32768 Hz chargé de garder l'heure qui est en général un oscillateur de
meilleure qualité que l'oscillateur (toujours dérivé d'un fréquence
d'origine NTSC vers 14.38 MHz et divisée par 12) qui sert au reste 
du système.

Par contre la RTC ets moins flexible, on ne peut lui demander que
des fréquences puissance de 2 et limitées (je crois) à 8192Hz.

> Par sécurité, le noyau fixe une limite à la fréquence de
> l'interruption: en effet, un process pourrait sinon demander
> une fréquence suffisament grande pour surcharger le système
> et le faire crasher. C'est cette limite que tu changes dans
> ce fichier.

Exact. Comme la suite d'aileurs.

	Gabriel.



Reply to: