【发布时间】:2015-02-02 19:04:55
【问题描述】:
在阅读了有关如何判断两个文件是否在同一个物理卷上的问题并看到它(几乎)不可能(例如here)之后,我想知道操作系统如何知道一个文件移动操作应更新主文件表(或其等效项)或是否复制和删除。
Windows 是否以某种方式将其委托给驱动器? (或者操作系统确实拥有每个文件的信息,只是程序无法访问它?不太可能。)
或者 - Windows 是否只知道某些类型的驱动器(以及在其他情况下的复制和删除)?在这种情况下,我们也可以假设相同。例如,这意味着允许文件移动而不使用后台线程。 (因为它几乎是瞬时的。)
我正在努力更好地理解这个主题。如果我做出一些基本的错误假设 - 请纠正它本身就是一个答案。
如果需要限制范围,让我们专注于 Windows 7 及更高版本,以及 NTFS 和 FAT 驱动器。
【问题讨论】:
-
旁注:您可能更有机会从社区的 C/C++ 部分获得答案... C#/.Net 开发人员通常不需要(如“不能真正影响”) 了解这些内部细节。
-
@AlexeiLevenkov 谢谢。相应地编辑了标签。
-
您可以添加与语言无关的标签。我尝试为您编辑帖子,但只允许使用 5 个标签。如果您删除上面的任何标签,您可以选择添加它。