Windows文件系统缓存与锁定机制详解
1. 本地文件系统驱动(FSD)的缓存与功能
1.1 缓存与内存管理集成
本地FSD通常借助缓存管理器来缓存文件系统数据,涵盖元数据。同时,FSD与内存管理器集成,以确保映射文件的正确实现。例如,当应用程序尝试截断文件时,FSD必须向内存管理器查询,以验证没有进程映射了截断点之后的文件部分。Windows不允许通过截断或删除文件的方式删除应用程序映射的文件数据。
1.2 文件系统卸载操作
本地FSD支持文件系统卸载操作,这允许系统将FSD与卷对象断开连接。当应用程序需要对卷的磁盘内容进行原始访问,或者与卷关联的介质发生更改时,就会发生卸载操作。应用程序在卸载后首次访问介质时,I/O管理器会重新启动该介质的卷挂载操作。
2. 远程文件系统驱动(FSD)的组成与工作原理
2.1 远程FSD的组件
每个远程FSD由客户端和服务器两个组件构成。客户端远程FSD使应用程序能够访问远程文件和目录。客户端FSD组件接收来自应用程序的I/O请求,并将其转换为网络文件系统协议命令(如SMB),然后通过网络发送到服务器端组件(即远程FSD)。服务器端FSD监听来自网络连接的命令,并通过向管理该命令所针对的文件或目录所在卷的本地FSD发出I/O请求来完成这些命令。
2.2 Windows中的远程FSD示例
Windows包含一个名为LANMan Redirector(通常简称为重定向器)的客户端远程FSD,以及一个名为LANMan Server(%SystemRoot%\System32\Drivers\Srv2.sys)
超级会员免费看
订阅专栏 解锁全文
1万+

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



