À quelle fréquence le proc
système de fichiers mis à jour sous Linux ? Est-ce 20 millisecondes (quantum de temps) ?
Réponse acceptée :
Les informations que vous lisez à partir du système de fichiers proc ne sont stockées sur aucun support (pas même dans la RAM), il n'y a donc rien à mettre à jour.
Le but du système de fichiers proc est de permettre aux programmes de l'espace utilisateur d'obtenir ou de définir des données du noyau en utilisant la sémantique simple et familière du système de fichiers (open
, close
, read
, write
, lseek
), même si les données lues ou écrites ne résident sur aucun support. Cette décision de conception a été jugée meilleure (par exemple, lisible par l'homme et facilement scriptable) pour obtenir et définir des données dont le format ne pouvait pas être spécifié à l'avance que d'implémenter quelque chose comme des OID encodés en ASN1, qui auraient également bien fonctionné.
Les données que vous voyez lorsque vous lisez depuis le système de fichiers proc sont générées à la volée lorsque vous effectuez une lecture depuis le début d'un fichier. Autrement dit, la lecture entraîne la génération des données par une fonction de rappel du noyau spécifique au fichier que vous lisez. Faire un lseek
au début du fichier et la relecture provoque un autre appel au rappel qui génère à nouveau les données. De même, lorsque vous écrivez dans un fichier accessible en écriture dans le système de fichiers proc, une fonction de rappel est appelée qui analyse l'entrée et définit les variables du noyau. Les données d'entrée sous leur forme brute ne sont pas stockées.
Ce qui précède est juste une façon un peu plus verbeuse de dire ce que Hauke Laging déclare si succinctement. Je vous suggère d'accepter sa réponse.