Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten.
Vor 1 Jahr geschlossen.
Verbessern Sie diese Frage
Ich versuche, die sync
vollständig zu verstehen Befehlsoperationen im Linux-Betriebssystem.
Nach dem Lesen:
https://en.wikipedia.org/wiki/Sync_(Unix)
https://lwn.net/Articles/457667/
Ich habe verstanden, dass sync
Befehl, der für das Leeren von Daten auf dem gesamten Weg von den Puffern der Anwendung bis zum permanenten Speicher verantwortlich ist.
-
Wie verfolgt Linux seine permanenten Speichergeräte und ihre geeigneten Schreibanfragen?
(innerhalb von /dev haben wir viele Gerätedateien, die nicht alle permanente Speichergeräte darstellen)
wo kann ich die wartenden Schreibanfragen jedes Geräts sehen? -
scannt die Synchronisierung (insbesondere der Synchronisierungsbefehl) alle Geräte des Systems nach Schreibanforderungen und führt sie alle aus? pflegt es eine effiziente Liste?
-
Wie hängen virtuelle Dateisysteme mit dem Sync-Befehl zusammen?
Scannt der Sync-Befehl jedes Dateisystem? Wenn ja, warum? -
Gibt es Literatur zu diesem Kommando und seinen „Backstage“-Operationen?
Akzeptierte Antwort:
Diese Manpage könnte die Dinge ein wenig klären.
Was ich zwischen den Zeilen gelesen habe, ist, dass jede Dateisystemimplementierung eine Sync-Methode bereitstellen muss.
Also die Synchronisierung Der Befehl ruft nur den Kernel auf, der wiederum alle Sync-Methoden aufruft – wahrscheinlich für alle gemounteten Dateisysteme.
Vielleicht finden Sie bessere Erklärungen dafür, was dort passiert, wenn Sie sich den Kernel-Code für sync ansehen .