了解linux中的sync命令操作

了解linux中的sync命令操作

我正在尝试完全理解synclinux操作系统中的命令操作。

看完之后: https://en.wikipedia.org/wiki/Sync_(Unix) https://lwn.net/Articles/457667/

我理解该sync命令负责将数据从应用程序的缓冲区一直刷新到永久存储。

  1. linux 如何跟踪它的永久存储设备及其合适的写入请求? (在 /dev 中,我们有许多设备文件,并非所有文件都代表永久存储设备)我在哪里可以看到每个设备正在等待写入请求?

  2. 同步(特别是同步命令)是否扫描所有系统设备以查找写入请求并执行所有请求?它是否维护一些有效的列表?

  3. 虚拟文件系统如何与sync命令相关?同步命令是否扫描每个文件系统?如果是这样为什么?

  4. 有没有关于这个命令及其“后台”操作的文献?

答案1

这个联机帮助页可能会澄清一些事情。

我从字里行间读到的是,每个文件系统实现都必须提供同步方法。

所以同步命令只调用内核,内核又调用所有同步方法 - 可能适用于所有已安装的文件系统。

在查看内核代码时,也许您可​​以找到关于那里发生的事情的更好解释同步

相关内容