写入磁盘的,而是采用了延迟写(lazy-write)技术,选择在之后一个适当的时机用最佳方式把很多数据批处理到磁盘上。使用延迟写技术大大减少了磁盘操作的频率,从而极大地改善了系统的性能,但是在系统崩溃时有可能导致磁盘的不一致性,有一定风险。在我们自己编写的应用程序中可以通过设定FILE_FLAG_WRITE_THROUGH让系统不通过缓存而讲数据直接写入磁盘中——这时候系统其实仍然会缓存写操作只是没有延迟写入磁盘而已。
NTFS文件系统保证了缓存的日志先于事务中更改的数据存入磁盘。当文件系统更新缓存后,NTFS通过记录在缓存的日志里被标记为已完成的事务来提交这些事务。当缓存的日志刷新到磁盘上时,所有标记为提交的事务都要保证已经被完成了,即使系统可能会在把这些事务对数据的实际变动都存入磁盘之前崩溃掉。
当系统发生错误时,NTFS文件系统的日志中有足够的信息去完成或中断任何出问题的事务。执行恢复操作的时候,NTFS文件系统重做日志里每一个标记为提交的事页码:[1] [2] [3] [4] [5] [6] 第5页、共6页 |