Windows文件系统简介

 

Windows文件系统简介

1 Windows FSD(文件系统驱动程序)体系结构
Windows 2000/XP的FSD(File System Driver,文件系统驱动程序)分为本地FSD和远程FSD。
        本地FSD:允许用户访问本地计算机上的数据
——本地FSD负责向I/O管理器注册自己,当开始访问某个卷时,I/O管理器调用FSD来进行卷识别。
——完成卷识别后,本地FSD创建一个设备对象以表示所装载的文件系统。
——I/O管理器通过卷参数块(VPB)在存储管理器创建的卷设备对象和FSD创建的卷设备对象之间建立连接。此连接将I/O管理器的I/O请求转交给FSD设备对象。
         远程FSD:允许用户通过网络访问远程计算机上的数据。
由两部分组成:客户端FSD和服务器端FSD。
——客户端FSD首先接收来自应用程序的I/O请求,并转换为网络文件系统协议命令,然后通过网络发送给服务器端FSD。
——服务器端FSD监听网络命令,接收网络文件系统协议命令并转交给本地FSD去执行。
         FSD与文件系统操作
       Windows文件系统的有关操作都是通过FSD完成的:
       ——显示文件I/O:应用程序通过I/O接口函数如CreateFile,ReadFile,WriteFile等来访问文件。
       ——高速缓存延迟写:此线程定期对高速缓存中已被修改的页面进行写操作。
       ——高速缓存提前读:此线程负责提前读数据。
       ——内存脏页写:此线程定期清洗缓冲区。
       ——内存缺页处理
2 Windows 2000/XP支持的文件系统
2.1 CDFS与UDF
*         CDFS(CDROM File System)即只读光盘文件系统。现已被UDF标准取代。
——特点:文件和目录名长度必须少于32个字符;目录树深度不能超过8层。
——Windows 2000/XP通过\Winnt\System32\Drivers\Cdfs.sys实现CDFS的支持。
         UDF(Universal Disk Format)即通用磁盘格式。
——特点:文件名可以区分大小写;文件名可以有255字符长;最长路径为1023个字符。
——Windows 2000/XP通过\Winnt\System32\Drivers\Udfs.sys实现UDF的支持。
2.2  FAT12、FAT16、FAT32
Windows 2000/XP通过\Winnt\System32\Drivers\Fastfat.sys提供FAT(File Allocation Table,文件分配表)文件系统驱动程序。
         FAT12和FAT16
——FAT文件系统用数字来标识磁盘上簇号的位数。FAT12簇标识为12位,FAT16簇标识为16位。
——FAT12是5.25英寸和3.5英寸软盘的标准格式。
——FAT卷分为几个区域:引导区、文件分配表(包含一个卷上所有簇的条目,并保留备份)、根目录(FAT12和FAT16最多只能存放256个文件或目录)、其他目录和文件。
——FAT16优点:可以被多种操作系统访问。缺点:不支持长文件名;不支持系统容错特性;不支持内部安全特性。
         FAT32
——文件分配表簇标识扩充为32位,主要应用于Windows 9x和Windows Me中。
——优点:1)具有强大的寻址能力,能比FAT16更有效的管理磁盘;
2)根目录下的文件数目不受最多256的限制;
3)引导记录扩展为包含重要数据结构的备份,因而分区不易受单点的错误影响;
4)支持长文件名格式
——缺点:同样不支持系统容错特性和内部安全特性。
2.3 NTFS(New Technology File System
——支持文件系统数据的可恢复性、安全性、数据冗余和数据容错;
——具有其他高级特性:多数据流、完全支持Unicode、通用索引机制、动态坏簇重新映射(热修复)、完全支持POSIX(可移植操作系统接口)、支持文件数据的压缩、日志记录、支持用户磁盘限额、硬链接与软链接(硬链接允许从多个路径指向同一文件和目录,软链接允许重定向一个目录)、链接跟踪、加密、碎片整理等。
1. NTFS可恢复性支持
         NTFS通过日志记录来实现文件系统的可恢复性。
         所有改变文件系统的子操作在磁盘上运行之前,先被记录在日志文件中。在恢复阶段,NTFS根据记录在日志文件中的文件操作信息,对那些部分完成的事务进行重做或撤销,以保证磁盘上文件系统的一致性。这种技术称为“预写日志记录”。
2. NTFS坏簇恢复支持
         Windows 2000/XP卷管理功能分别通过用于基本磁盘的FtDisk和用于动态磁盘的LDM(Logical Disk Manager)的卷管理工具来实现坏簇的修复。
         NTFS在运行时动态收集有关坏簇的资料,并存储在系统文件中,而在应用程序环境中不必知道坏簇的存在。当扇区发生错误时,容错驱动程序给NTFS发出该扇区是坏的的通知,NTFS将分配一个新簇来取代坏扇区中的簇,并将数据复制到新簇中,NTFS将标记该坏扇区并不再使用它。
3. NTFS安全性支持
         NTFS把文件和目录看成对象和对象的集合,文件和目录对象都带有安全描述符,并作为文件的一部分存储在磁盘上。进程在打开对象句柄前验证该进程是否具有足够的权限。
         NTFS支持加密文件系统(EFS),以阻止非授权用户访问加密文件。
2.3.2   NTFS FSD(文件系统驱动程序)
——I/O管理器将I/O请求送交NTFS FSD执行。
——应用程序通过NTFS FSD创建和存取文件。步骤如下:首先检查使用权限,看是否合法用户的请求;然后I/O管理器将文件句柄转换为文件对象指针;最后NTFS通过文件对象指针来获得磁盘上的文件。
2.3.3  NTFS磁盘结构
1. 
         NTFS是以卷为基础的。卷建立在磁盘分区之上。
         分区是磁盘的基本组成部分,是一个能够被格式化和单独使用的逻辑单元。当以NTFS格式来格式化磁盘分区时就创建了NTFS卷。
         一个磁盘可以有多个卷,一个卷也可以由多个磁盘组成。Windows 2000/XP常使用FAT卷和NTFS卷。
2. 
         NTFS与FAT一样,使用簇作为磁盘空间分配和回收的基本单位。即一个文件占用若干个整簇,而最后一簇的剩余空间不再使用。
         在内部,NTFS仅引用簇,而不知道磁盘扇区的大小。这样使NTFS保持了与物理扇区大小的独立性,能够为不同大小的磁盘选择合适的簇。
         卷上簇的大小(称为簇因子)是用户使用Format命令或其他格式化程序格式化卷时确定的,它随着卷的大小而不同,但都为物理扇区的整数倍。
         簇的定位可使用逻辑簇号(LCN)和虚拟簇号(VCN)
——LCN对卷中所有的簇从头到尾进行简单编号。簇因子乘以LCN可获得卷上的物理字节偏移量,从而得到物理磁盘地址。
——VCN对属于特定文件的簇从0到m编号,以便引用文件中的数据。VCN不要求在物理上连续,可以映射到卷上任何号码的LCN。
3. 主控文件表(MFT)
         在NTFS中,卷中存放的所有数据,包括用于定位和恢复文件的数据结构、引导程序数据和记录整个卷的分配状态的位图(NTFS元数据),都包含在一个称为主控文件表(MFT)的文件中。
         MFT是NTFS卷结构的核心,是NTFS最重要的系统文件。MFT以文件记录数组实现,每个文件大小为1KB,卷上每个文件(包括MFT本身)都有一行MFT记录。
4. 文件引用号
         NTFS卷中的文件是通过称为“文件引用号”的64位值来标识的。
         文件引用号由文件号(低48位)和文件顺序号(高16位)组成。
 
本站域名:www.mrtlab.com | QQ交流群:250649022 | 使用条款 | 备案:鄂ICP备2020023514号
MRT数据恢复网,专业的硬盘固件维修与数据恢复技术资料提供站!
Copyright 2003-2020 Powered By MrtLab