NTFS文件系统的缓存、日志记录与恢复机制解析
1. NTFS缓存与写入特性
应用程序可利用NTFS的直写(write - through)和缓存刷新(cache - flushing)功能,确保文件修改能在适当间隔记录到磁盘上。直写是指强制将写操作立即记录到磁盘,缓存刷新则是将缓存内容写入磁盘,这两种操作都很高效。
NTFS无需额外的磁盘I/O操作来将修改刷新到多个不同的文件系统数据结构,因为对这些数据结构的更改会在一次写入操作中记录到日志文件中。若发生故障导致缓存内容丢失,可从日志文件中恢复文件系统的修改。与FAT文件系统不同,NTFS保证在直写操作或缓存刷新后,即使系统随后出现故障,用户数据也将保持一致并可立即使用。
2. 元数据日志记录
NTFS采用与TxF相同的日志记录技术来实现文件系统的可恢复性,即把所有修改文件系统元数据的操作记录到日志文件中。不过,NTFS内置的文件系统恢复支持不使用CLFS,而是使用一种名为日志文件服务(Log File Service,LFS)的内部日志记录实现(它并非后台服务进程)。而且,TxF仅在调用者选择进行事务操作时才会使用,而NTFS会记录所有元数据更改,以便在系统故障时使文件系统保持一致。
3. 日志文件服务(LFS)
LFS是NTFS驱动程序内的一系列内核模式例程,用于访问日志文件。NTFS会向LFS传递一个指向打开文件对象的指针,指定要访问的日志文件。LFS要么初始化一个新的日志文件,要么调用Windows缓存管理器通过缓存访问现有的日志文件,其调用关系如下:
graph LR
超级会员免费看
订阅专栏 解锁全文
2709

被折叠的 条评论
为什么被折叠?



