私はsync
Linuxオペレーティングシステムのコマンド操作を完全に理解しようとしています。
読んでから: https://en.wikipedia.org/wiki/Sync_(Unix) https://lwn.net/Articles/457667/
私はこのsync
コマンドがアプリケーションのバッファから永続的なストレージまでデータをフラッシュするのに役立つことを理解しています。
Linuxは永続ストレージと適切な書き込み要求をどのように追跡しますか? (/devには多くのデバイスファイルがありますが、すべて永続ストレージを表すわけではありません。)書き込み要求を待っている各デバイスをどこで見ることができますか?
sync(特にsyncコマンド)は、すべてのシステムデバイスで書き込み要求を取得し、すべての要求を実行しますか?有効なリストを保持しますか?
仮想ファイルシステムはsyncコマンドとどのように関連していますか? syncコマンドはすべてのファイルシステムをチェックしますか?それではなぜ?
このコマンドと「バックグラウンド」操作に関するドキュメントはありますか?
答え1
このマンページいくつかのことを明確にすることができます。
私が読んだことは、すべてのファイルシステム実装が同期方法を提供する必要があるということです。
だから同期このコマンドは単にカーネルを呼び出し、カーネルはすべてのマウントされたファイルシステムに対してすべての同期方法を呼び出します。
おそらくカーネルコードを見ると、何が起こっているのかをよりよく説明できます。同期。