1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,操作系统课程讲义,操作系统原理,文件管理案例分析,主讲教师:史广顺,gsshigsshi,2,Windows,文件系统概述,基本概念,磁盘(,Disk,):物理存储设备,扇区(,Sector,):磁盘空间被分为扇区,扇区是指可寻址的大小固定的块,分区(,Partition,):磁盘上连续扇区的集合,分区表或者其他的磁盘管理数据库保存了分区的起始扇区和其他属性,簇
2、Cluster,):用于磁盘空间管理的基本单元,簇的大小是不固定的,但都是物理扇区大小的整数倍,卷(,Volume,):文件系统的逻辑概念。,Windows,文件系统的基础,Windows,文件系统类别,CDFS,与,UDF,Fat12,、,Fat16,、,Fat32,NTFS,文件系统实例剖析,3,Windows,文件系统模型,I/O API,过滤驱动程序,文件系统驱动程序,中间驱动程序,设备驱动程序,HAL,物理磁盘,I/O,管理器,NT,执行体,文件系统实例剖析,4,Windows,文件系统模型,设备驱动程序,位于,I/O,管理器的最底层,直接对设备进行,I/O,操作,中间驱动程序,
3、与底层设备一起提供增强功能,例如当发生,I/O,失败后,继续发出重试请求,文件系统驱动程序,扩展低层驱动程序的功能,以实现特定的文件系统,过滤驱动程序,可以位于以上各类驱动程序之间,用于提供额外支持,文件系统实例剖析,5,FSD,文件系统驱动,主要功能,本地,FSD,:包括,ntfs.sys,,,fastfat.sys,,,udfs.sys,,,cdfs.sys,raw fsd,等,向,I/O,管理器注册,实现本地文件系统,远程,FSD,:包括客户端,FSD,和服务器端,FSD,,用以实现通过网络的远程文件共享,FSD,的主要作用,显式文件,I/O,:,API,函数,FSD,I/O,管理器,设
4、备驱动,高速缓存延迟写、提前读:提升磁盘利用效率和系统性能,内存脏页写和缺页处理:保持进程运行的稳定和正确,文件系统实例剖析,6,本地,FSD,模型,应用程序接口,I/O,管理器,文件系统驱动程序,存储设备驱动,物理磁盘,用户态,核心态,物理设备,文件系统实例剖析,7,远程,FSD,模型,应用程序,I/O,管理器,远程,FSD,(重定向器),用户态,核心态,物理设备,远程,FSD,(服务器),本地,FSD,存储设备驱动,用户态,核心态,客户端,服务器端,文件系统实例剖析,8,Windows,文件系统实现,CDFS,与,UDF,CDFS,:,1988,年为光盘制定的文件系统标准,现已过时,CDF
5、S,限制:文件名不超过,32,字符,目录树不超过,8,层,UDF,:,1995,年由,OSTA,为光磁盘存储介质定义,UDF,特点:区分大小写、长文件名、最长路径为,1023c,Fat12,、,Fat16,与,Fat32,用数字标识磁盘上簇号的个数,三种,Fat,系统的差别在于用于标识簇号个数的,Bit,数不同,从而其寻址空间也不同,Fat,文件系统寻址空间的计算方法,Fat12,:,5.25,和,3.5,软盘的标准格式,Fat12,与,Fat16,限制:不支持长文件名,根目录最多有,256,个文件或子目录,Fat32,:支持大磁盘、支持长文件名,用根目录区代替根目录域,文件系统实例剖析,9,
6、NTFS,文件系统实现,NTFS,特性,可恢复性:通过冗余存储和原子事务管理体现可恢复性,高安全性:从文件系统到文件格式与属性设置均保证了安全性,数据冗余和容错:采用分层驱动器模型支持数据冗余存储和容错机制,多数据流:基于数据流概念实现对高端应用服务器的支持,Unicode,标准:命名遵循,Unicode,规范,支持长文件名,实现向后兼容,通用索引机制:基于索引机制管理文件属性,便于快速检索,动态坏簇重新映射机制:容错驱动程序保证坏簇数据不会丢失,,“,热修复,”,日志记录:提供控制接口,使得应用程序可以监控文件或目录的变化,磁盘限额:支持服务器为不同用户设定磁盘限额,控制空间使用,软硬链接:
7、允许以硬链接和软链接的方式为文件提供多个路径,加密:提供,EFS,工具用来加密数据,碎片整理:提供碎片整理函数由应用程序进行碎片整理工作。,文件系统实例剖析,10,NTFS,文件系统实现,主控文件表(,Master File Table,),包含了,Volume,中所有文件的信息,以文件记录数组的形式保存,开始部分为,16,个固定的元数据文件。,元数据文件:,MFT,本身、镜像、日志文件、卷文件、属性定义表、根目录、位图文件、引导文件、坏簇文件、安全文件、大写文件、扩展元数据目录,保留域,文件引用号,为每一个文件配置的,64,位引用号,包括文件号和文件顺序号,文件号对应,MFT,中位置、顺序号
8、用于一致性检查,文件记录,将文件作为属性,/,属性值集合进行管理,索引,使用,B,树实现对文件名的索引,LCN,与,VCN,LCN,:用来为整个,Volume,中的所有,Cluster,进行编号,VCN,:用来为一个文件中的,Cluster,进行编号,通过,LCN,VCN,的转换实现从应用程序到硬盘空间的读写映射,文件系统实例剖析,11,NTFS,数据结构模型,.,文件属性,文件属性,数据属性,命名流,文件控制块(,FCB,),.,主文件表(,MFT,),进程,控制表,SCB,磁盘上的,NTFS,数据库,用于管理磁盘的数据结构,对象管理器数据结构,文件系统实例剖析,12,本章小结,文件系统的组成,磁盘空间管理,文件系统实现,目录与文件,命名、格式、存放位置,安全性与可靠性,文件系统性能,磁盘空间读写性能,文件系统安全性能,高端应用功能,文件系统设计原理,13,Thanks for your time!Questions&Answers,全文结束,