![Wie häufig wird das Proc-Dateisystem unter Linux aktualisiert?](https://rvso.com/image/31685/Wie%20h%C3%A4ufig%20wird%20das%20Proc-Dateisystem%20unter%20Linux%20aktualisiert%3F.png)
Wie häufig wird das proc
Dateisystem unter Linux aktualisiert? Alle 20 Millisekunden (Zeitquant)?
Antwort1
Die Informationen, die Sie aus dem Proc-Dateisystem lesen, werden auf keinem Medium gespeichert (nicht einmal im RAM). Es muss daher nichts aktualisiert werden.
Der Zweck des Proc-Dateisystems besteht darin, es Userspace-Programmen zu ermöglichen, Kerneldaten unter Verwendung der einfachen und vertrauten Dateisystemsemantik ( open
, close
, read
, , write
, lseek
) abzurufen oder festzulegen, selbst wenn die gelesenen oder geschriebenen Daten auf keinem Medium gespeichert sind. Diese Designentscheidung wurde als besser erachtet (z. B. für Menschen lesbar und leicht skriptbar) zum Abrufen und Festlegen von Daten, deren Format nicht im Voraus angegeben werden konnte, als die Implementierung von etwas wie ASN1-codierten OIDs, was auch gut funktioniert hätte.
Die Daten, die Sie beim Lesen aus dem Proc-Dateisystem sehen, werden im laufenden Betrieb generiert, wenn Sie einen Lesevorgang vom Anfang einer Datei ausführen. Das heißt, beim Lesen werden die Daten von einer Kernel-Rückruffunktion generiert, die spezifisch für die Datei ist, die Sie lesen. Wenn Sie einen Lesevorgang lseek
vom Anfang der Datei ausführen und erneut lesen, wird ein weiterer Aufruf des Rückrufs ausgelöst, der die Daten erneut generiert. Ähnlich verhält es sich, wenn Sie in eine beschreibbare Datei im Proc-Dateisystem schreiben. Dabei wird eine Rückruffunktion aufgerufen, die die Eingabe analysiert und Kernelvariablen festlegt. Die Eingabedaten in ihrer Rohform werden nicht gespeichert.
Das Obige ist nur eine etwas ausführlichere Art, das auszudrücken, was Hauke Laging so prägnant formuliert. Ich schlage vor, dass Sie seine Antwort akzeptieren.
Antwort2
Es wird bei jedem Zugriff aktualisiert. Sie sehen den aktuellen Zustand des Kernels. Deshalb ist die für die „Dateien“ angezeigte Größe nicht die tatsächliche Größe. Die tatsächliche Größe kann sich ändern und wird in dem Moment ermittelt, in dem Sie auf die Datei zugreifen.
Man könnte meinen, es wird möglicherweise tagelang nicht aktualisiert. Wenn Sie nicht darauf schauen. :-)