Wie häufig ist der proc
Dateisystem unter Linux aktualisiert? Sind es 20 Millisekunden (Zeitquantum)?
Akzeptierte Antwort:
Die Informationen, die Sie aus dem proc-Dateisystem lesen, werden auf keinem Medium gespeichert (nicht einmal im RAM), also gibt es nichts zu aktualisieren.
Der Zweck des proc-Dateisystems besteht darin, Userspace-Programmen zu ermöglichen, Kerneldaten unter Verwendung der einfachen und vertrauten Dateisystem-Semantik (open
, close
, read
, write
, lseek
), obwohl sich die gelesenen oder geschriebenen Daten auf keinem Medium befinden. Diese Designentscheidung wurde als besser (z. B. für Menschen lesbar und leicht skriptfähig) angesehen, um Daten zu erhalten und festzulegen, deren Format nicht im Voraus angegeben werden konnte, als etwas wie ASN1-codierte OIDs zu implementieren, was auch gut funktioniert hätte.
Die Daten, die Sie sehen, wenn Sie aus dem proc-Dateisystem lesen, werden spontan generiert, wenn Sie vom Anfang einer Datei an lesen. Das heißt, das Lesen bewirkt, dass die Daten von einer Kernel-Callback-Funktion generiert werden, die spezifisch für die Datei ist, die Sie gerade lesen. Ausführen eines lseek
an den Anfang der Datei und erneutes Lesen bewirkt einen erneuten Aufruf des Callbacks, der die Daten erneut generiert. Wenn Sie in eine beschreibbare Datei im proc-Dateisystem schreiben, wird eine Callback-Funktion aufgerufen, die die Eingabe parst und Kernel-Variablen setzt. Die Eingabedaten in ihrer Rohform werden nicht gespeichert.
Das Obige ist nur eine etwas ausführlichere Art zu sagen, was Hauke Laging so prägnant sagt. Ich schlage vor, dass Sie seine Antwort akzeptieren.