我正在嘗試完全理解sync
linux作業系統中的命令操作。
看完之後: https://en.wikipedia.org/wiki/Sync_(Unix) https://lwn.net/Articles/457667/
我理解該sync
命令負責將資料從應用程式的緩衝區一直刷新到永久儲存。
linux 如何追蹤它的永久儲存設備及其適當的寫入請求? (在 /dev 中我們有許多設備文件,並非所有文件都代表永久存儲設備)我在哪裡可以看到每個設備正在等待寫入請求?
同步(特別是同步命令)是否掃描所有系統設備以查找寫入請求並執行所有請求?它是否維護一些有效的清單?
虛擬檔案系統如何與sync指令相關?同步命令是否掃描每個檔案系統?如果是這樣為什麼?
有沒有關於這個指令及其「後台」操作的文獻?
答案1
這個線上幫助頁可能會澄清一些事情。
我從字裡行間讀到的是,每個檔案系統實作都必須提供同步方法。
所以同步命令只調用內核,內核調用所有同步方法 - 可能適用於所有已安裝的檔案系統。
在查看內核程式碼時,也許您可以找到關於那裡發生的事情的更好解釋同步。