【发布时间】:2011-06-28 19:28:59
【问题描述】:
我有兴趣了解 NTFS 的集群分配是如何工作的,以及写入/IRP。 NTFS 确实将此信息存储在 MFT 中,但当时实际发生了什么。内核中是否有一个 I/O 对象在数据刷新到磁盘之前存储此信息,或者 USN 日志在此处起任何作用。如果有怎么办。
【问题讨论】:
标签: ntfs
我有兴趣了解 NTFS 的集群分配是如何工作的,以及写入/IRP。 NTFS 确实将此信息存储在 MFT 中,但当时实际发生了什么。内核中是否有一个 I/O 对象在数据刷新到磁盘之前存储此信息,或者 USN 日志在此处起任何作用。如果有怎么办。
【问题讨论】:
标签: ntfs
NTFS 必须查找数据在卷上的实际位置,这是它的工作。 O/S 提供了一个称为“映射控制块”(MCB)包的东西,文件系统使用它来缓存此信息,但如果它不在 MCB 中,则必须从 MFT 中查找它。 USN 不同,它只是记录各种事件。
如果您对 Windows 文件系统感兴趣,我建议您阅读文件系统内部知识一书:
以及查看 WDK 中的 FAT 源,与 NTFS 相比,这是一个很好的起点(NTFS 要复杂得多)。
-斯科特
【讨论】: