我有兴趣了解NTFS的集群分配是如何针对write/IRP的。NTFS确实将此信息存储在MFT中,但此时实际发生了什么。在将数据刷新到磁盘之前,内核中是否存在存储此信息的I/O对象,或者USN日志是否在此处扮演任何角色。如果是这样的话是怎么做的。
发布于 2011-07-05 23:37:14
NTFS必须查找数据在卷上的实际位置,这是它的工作。操作系统提供了一个叫做“地图控制块”( MCB )的包,文件系统使用它来缓存这些信息,但是如果它不在MCB中,就必须从MFT中查找它。USN是不同的,它只是记录各种事件。
如果你对Windows文件系统感兴趣,我建议你读一读文件系统内部手册:
以及WDK中的FAT源代码,与NTFS相比,这是一个很好的起点(NTFS要复杂得多)。
-scott
https://stackoverflow.com/questions/6512055
复制相似问题