《windows操作系统之文件管理课件.ppt》由会员分享,可在线阅读,更多相关《windows操作系统之文件管理课件.ppt(39页珍藏版)》请在三一办公上搜索。
1、windows 文件管理,文件系统,在windows系统中,文件管理是通过目录来完成的,而目录又是建立在分区或卷的基础上。操作系统中与文件和目录相关的子系统称为文件系统。,windows 文件系统模型,windows 文件系统模型解析,HAL:硬件抽象层,是将操作系统的其余部分表示为抽象的硬件设备,特别是去除了真正硬件所富含的瑕疵和特质。这些设备表现为操作系统的其它部分和设备可以使用的独立于机器的服务的形式(函数调用和宏)。设备驱动程序:位于I/O管理器的最底层,直接对I/O设备进行操作。中间驱动程序:与低层设备驱动程序一起提供增强功能。例如,当发现I/O失败,设备驱动程序可能简单地返回出错信
2、息,而中间驱动程序却可能在收到出错信息后,向设备驱动程序发出再试请求。文件驱动程序(FSD):扩展低层驱动程序的功能,以实现特定的文件系统,如NTFS。,windows 文件系统模型解析,过滤驱动程序:可以位于设备驱动程序和中间驱动程序之间,也可以位于中间驱动程序与文件系统驱动程序之间,还可以位于文件系统驱动程序与I/O管理器API之间。例如,一个网络重定向过滤驱动程序可以截取有关对远程文件的操作,并重定向到远程文件服务器上。,本地FSD,本地FSD,本地FSD负责向I/O管理器注册自己,当开始访问某个卷时,I/O管理器将调用FSD来进行卷识别。当完成卷识别后本地FSD还创建一个设备对象以表示
3、所装载的文件系统。I/O管理器也通过卷参数块为由存储器所创建的卷设备对象和由FSD所创建的设备对象之间进行连接,该VPB连接将I/O管理器的有关卷的I/O请求转交给FSD设备对象。本地FSD常用高速缓存管理器来缓存文件系统的数据以提高性能,他与内存管理器一起实现内存文件的映射。本地FSD还支持文件系统卸载操作,以便提供对卷的直接访问。,远程FSD,远程FSD,远程FSD由两部分组成:客户端FSD和服务器端FSD。前者允许应用程序访问远程的文件和目录,客户端FSD首先接收来自应用程序的I/O请求,接着转换为网络文件系统协议命令,再通过网络发送到服务器端的FSD。服务器端FSD监听网络命令,接收网
4、络文件系统协议命令,并转交给本地FSD去执行。在这里重定向器通过端口/小端口驱动程序的组合实现。而重定向器与服务器的通信则通过通用互联网文件系统协议进行。,FSD与文件系统操作,FSD与文件系统操作,显式文件I/O:应用程序通过Win32I/O函数如CreateFile、ReadFile和WriteFile等来访问文件。高速缓存延迟写:高速缓存管理器的延迟写线程定期对高速缓存中已被修改过的页面进行写操作。高速缓存提前读:高速缓存管理器的提前读线程负责提前读数据,提前读线程通过分析已做的读操作来决定提前读多少,它依赖于缺页中断来完成这一任务。内存脏页写:内存脏页写线程定期清洗缓冲区。,文件系统,
5、CDFS:1988为CDROM介质的只读光盘所制定的标准格式。其特点如下:文件和目录名的长度必须少于32个字符;目录树的深度不能超过八层。UDF:通用磁盘格式,其优点如下:文件名可长达255个字符;最大路径长度为1023个字符;文件名区分大小写,文件系统,FAT中簇项值的意义,簇号链,NTFS,NTFS的特点:1.可恢复性 NTFS基于原子事务的概念实现文件系统的可恢复性2.安全性 NTFS可以指定谁能访问哪些文件夹和目录及对它进行什么操作3.数据冗余和容错4.基于Unicode字符号来存储文件、目录和卷名称5.通用索引机制 可以索引文件属性,从而大大提高了文件管理的效率,NTFS,6.动态坏
6、簇重映射 即具有热修复重定向功能,将受损簇的信息写入其他簇,并标记坏簇地址,以防止以后再使用它。7.POSIX(可移植操作系统接口)支持8.文件压缩9.日志记录 通过监视卷上文件或目录的改变,实现文件的可恢复性10.磁盘限额11.硬链接 硬链接允许从多个路径来指向同一文件和目录。,NTFS,12.加密 NTFS提供了一个EFS工具对数据进行加密和解密13.碎片整理14.多数据流 文件的实际内容被当作字符流进行处理。在NTFS中可以为一个文件定义多个数据流,文件的属性,包括文件名、文件的拥有者、文件的时间标记。文件的内容等都可以作为一个数据流来存储。,NTFS的文件驱动程序,日志文件服务是NTF
7、S为保证磁盘读写操作的安全性所提供的一组服务。日志文件服务写的日志文件在系统发生崩溃时用来恢复NTFS格式卷 高速缓存管理器提供NTFS系统范围的高速缓冲服务和其他的文件系统驱动程序,通过将高速缓冲文件映射到系统地址空间来访问他们,然后访问虚拟内存。高速缓冲管理器通过使用延迟书写器调用内存管理器,将高速缓存区的内容刷新到磁盘。NTFS通过跟踪一些指针从文件对象获得磁盘上文件的、位置。如下图,一个文件对象代表对于打开文件系统服务的单一调用,它指向调用程序试图去读或写的文件属性的流控制块,在下图中进程已经打开了文件无名的数据属性,又打,开了文件已命名的流。SCB代表单个文件属性,并包含关于在文件中
8、如何找到具体属性的信息,一个文件的所有SCB指向一个被称为文件控制块的通用数据结构,文件控制块包含一个指向基于磁盘的主控文件表的文件记录指针。NTFS通过该指针获得文件的访问权限。,NTFS数据结构,NTFS的卷和簇,NTFS是以卷为基础,而卷是建立在磁盘分区上的。当以NTFS格式来格式化分区时就创建了NTFS卷。分区包括基本分区和扩展分区,扩展分区可由逻辑分区组成。分区的主要目的是初始化磁盘,以便格式化和存储数据,磁盘可以有一个或多个卷。NTFS独立地处理每个卷。在NTFS卷上,簇的大小或者簇因子是当用户用格式化命令或磁盘管理程序MMC插件格式化卷时建立的,默认簇的因子随着卷的大小不同而改变
9、,但他是物理扇区的整数倍,总是2的幂次。NTFS 通过逻辑簇号指定磁盘上的物理位置,LCN是所有的簇从开始到结尾的简单编号。当磁盘驱动程序接口需要时,,为了将LCN转换为一个物理磁盘地址,NTFS用簇因子乘以LCN获得卷上的物理字节偏移量。NTFS用虚拟簇号引用文件数据,VCN对于基于特定文件的簇从0n进行编码,VCN在物理上不必是连续的,然而他们可以被映射问卷上的任意LCN编码。,NTFS卷上的文件,NTFS如何通过MFT访问卷?首先,当NTFS访问某个卷时,它必须,“装载”该卷:NTFS会查看引导文件,找到MFT的物理磁盘地址,然它就从文件记录的数据属性中获得VCN到LCN的映射信息,并存
10、储在内存中。这个映射信息定位了MFT的运行(run或extent)在磁盘上的位置。接着,NTFS再打开几个元数据文件的MFT记录并打开这些文件。如有必要NTFS开始执行它的文件系统恢复操作。最后,NTFS打开剩余的元数据文件后,用户就可以开始访问该卷了。,由于MFT中的前16个元数据文件记录非常重要,因此为了防止丢失NTFS系统在该卷上的文件存储区的中央保留了前16个元数据文件记录如下图,文件引用号 NTFS卷上的每个文件都有一个64位称为文件引用号的唯一标识,文件引用号由两部分组成:一是文件号,二是文件顺序号。文件号为48位(bit),对应于该文件在MFT中的位置。文件顺序号随着每次文件记录
11、的重用而增加,这是为了让NTFS进行内部一致件检查而设计的。文件属性 NTFS将文件作为属性属性值的集合来处理,这一点与其他文件系统不一样。文件属性分为常驻属性和非常驻属性。当属性值能直接存放在MFT中时,则属性称为常驻属性,非常驻属性属性流的存放不在主文件夹中。,如果属性值能真接存放在MFT中,那NTFS对它的访问时间就将大大缩短,NTFS只要访问磁盘一次就可立即获得数据;而不必像FAT文件系统那样、先在FAT表中查找文件、再读出连续分配的单元,最店找到文件的数据。小文件或小目录的所有属性,均可以在MFT中常驻,小文件的未命名属件可以包括所有文件数据,小目录的索引根属性可以包括其中所有文件和
12、子目录的索引。,大文件或大目录的所有属性就不可能都常驻在MFT,因为MFT中的每个文件记录只有1KB大小。因此,NTFS将在文件存存储区中分配区域,这些区域称之为一个运行(run)或一个盘区(extent),它们可用来存储属件值如文件数据当属性再增加时NTFS将会再分配一个运行、以便用来存储额外的数据。只存储在运行中的属性称为非常驻属性。在标准属性中,只有可增长的属性才是非常驻的,对文、件来说,可增长的属性有数据和属性列表。一定要注意的是标准信息和文件名属性总是常驻的,索引,在NTFS系统中,文件目录仅仅是文件名的一个索引。NTFS使用了一种特殊的方式把文件名组织起来以便于快速访问。当创建一个
13、日录时、NTFS必须对目录中的文件名属性进行索引。一个目录的MFT记录将目录中的文件名利子目录名进行排序,并保存在索引根属性中。然而,对于一个大目录,文件名实际存储在组织文件名的固定4KB大小的索引缓冲区中。索引缓冲区是通过B+树数据结构实现的,B+树是平衡树的一种,对于存储在磁盘上的数据来说平衡树是一种理想的,分类组织形式,因此使查找一个项时所需的磁盘访问次数减到最少,根索引属性包含B+树的第一级(根子目录)并指向包含下一级(大多数是子目录,也可能是文件)的索引缓冲区索引中的每一项还包括了位于MFT中的描述文件所在位置的文件引用以及文件时间和文件大小等情息。NTFS根据文件的MFT记录来复制
14、时间标记和文件大小信息。这种技术需要将更新信息写在两个地方,因此比较麻烦。但是,这仍是一个提高目录浏览速度的好方法,冈为它可以在文件系统不打开目录中仟何文件的情况下显示每个文件的时间标记和大小。索引分配属件包含了索引缓冲区的VCN到LCN映射而位图属性跟踪在索引缓冲区中哪些VCN是在使用而哪些是空闲的,每个文件项占有一个VCN,而实际上多个文件项被包装在同一个簇中,每个4KB大小的索引缓冲区可以容纳20到30个文件项。,数据压缩,数据压缩是NTFS文件系统的一个重要特征。虽然FAT文件系统也支持数据压缩但是NTFS压缩功能可以对单个文件、整个目录或NTFS卷上的整个目录树进行压缩(NTFS压缩
15、只在用户数据上进行,而不能在文件系统元数据上进行)。数据压缩可以减少磁盘使用空间但是由于每次解压缩需要大量的数据运算,所以使用压缩功能将会导致NTFS卷的性能下降。例如要拷贝一个压缩文件其过程是:解压缩、拷贝、重新对拷贝的文件进行压缩这些都大大增加了CPU的处理时间。,可恢复性支持,NTFS通过日志记录来实现文件系统的可恢复性。所有改变文件系统的子操作在磁盘上运行以前,首先被记录在日志文件中。在系统崩溃后的恢复阶段,NTFS根据记录在日志文件中的文件操作信息,对那些部分完成的事务进行重做或是撤销,从而保证了磁盘上文件系统的一致性。这种技术称为“预写日志记录”NTFS不会直接从日志文件中读取记录
16、而是通过LFS来读写记录的 LFS提供了许多操作来处理日志文件、包括打开、写入、向前、向后、更新等。以下是NTFS为实现卷的可恢复性而执行的操作步骤:,1)NTFS首先调用LFS在日志文件中记录所有改变卷结构的事务2)NTFS执行在高速缓存中的更改卷结构的操作3)高速缓存管理器调用LFS将日志文件刷新到磁盘4)完成上一步之后、卷更改(事务本身)最后被刷新到磁盘上严格执行这些操作步骤就保证了即使文件系统的最终修改是不成功的、通过日志文件也能恢复相应的事务。重新引导系统以后当第一次使用卷时,文件系统的恢复工作就自动开始,如此就保证了无论何时发生意外。NTFS都可以通过日志文件记录中的操作信息来恢复
17、文件系统的一致性,文件安全,NTFS卷上的每个文件和目录在创建时创建人就被指定为文件的拥有者,拥有者控制文件及目录权限的设置,并能赋予其他用户的访问权限。NTFS规定了如下权限:1.只有用户在被赋予了其访问权限或属于拥有这种限制的组,才能对文件进行访问。2.权限是积累的。假定用户A对文件有写权限,用户B对文件有读权限,用户C同属于这两个组,那么用户C对文件具有读写权限。3.拒绝访问权限高于其他所有权限4.文件权限优于目录权限5.当用户在相应的目录中创建文件或子目录时,创建的文件,或子目录继承该目录的权限6.创建文件或目录的拥有者,总可以随时更改对文件或子目录的权限设置,以便控制其他用户对该文件或目录的访问权限。事实上,在信息交流高度发达的网络时代,很难防止用户对某些重要数据的窃取和破坏,NTFS文件系统提供了用户对文件访问的控制,但是存放在物理设备上的数据是没有加密的,因此,很多windows提供了加密文件系统。,参考文献,windows 2000 系统管理员大全操作系统教程(第3版)计算机操作系统windows 操作系统原理windows 2000 内部揭秘,谢谢观赏,
链接地址:https://www.31ppt.com/p-2139945.html