您的位置:首页 > 其它

操作系统(10)文件系统管理

2014-03-19 17:23 429 查看
1、文件系统是操作系统中负责存取和管理信息的模块,采用统一的方法管理用户信息和系统信息的检索、存储、更新、共享和保护。有逻辑文件和物理文件之分。可实现”按名存取“,以及使用路径名、文件名、文件内位移来执行数据的读、写、修改、删除操作。

2、文件系统的功能有:

文件的按名存取,实现从逻辑文件到物理文件的转换。文件目录的建立和维护。文件的查找和定位。文件存储空间的分配和管理。提供文件的存取方法和文件存储结构。实现文件的共享、保护和保密。提供一组易用的文件操作和命令。提供与设备管理交互的统一接口。

3、文件命名:

由文件名称和扩展名组成,前者用于识别文件,后者用于区分文件类型,中间用.分隔开。Windows的文件名不区分大小写。不能使用\、/、<、>、|、“等字符。

分类为:

系统文件,库文件,用户文件。只读文件,读写文件,不保护文件。输入文件,输出文件,输入输出文件。临时文件,永久文件,档案文件。源程序文件,目标文件,可执行文件。

文件属性包括:

基本属性,类型属性,保护属性,管理属性,控制属性。

存取方法:

1)顺序存取:系统设置读写两个位置指针,指向要读出或写入的字节位置或记录位置。

2)直接存取:通常用于磁盘文件。对于记录式文件,要为每个文件记录指定关键字,可通过关键字映射来直接检索和存取文件。

3)索引存取:文件中的记录按其记录名或记录键来编址,先按名搜索,在查找所需要的记录。

4、文件系统给每个文件建立唯一的管理数据结构:文件控制块FCB。

一个文件由两部分组成:FCB和文件体(文件信息)。FCB包括:

1)文件标识和控制信息:文件名、用户名、文件主存取权限、授权者存取权限、文件口令、文件类型等。

2)文件逻辑结构信息:记录类型、记录个数、记录长度、成组因子数。

3)文件物理结构信息:文件所在设备名、文件物理结构类型、记录存放在辅助存储器的盘块号或文件信息块盘块号,也可指出文件索引所在的位置等。

4)文件使用信息:共享文件的进程数、文件修改情况、文件最大长度和当前大小等。

5)文件管理信息:文件建立日期、最近修改日期、最近访问日期、文件保留期限、记账信息等。

5、文件目录包含许多目录项,目录项有两种,分别用于描述子目录和文件的FCB。目录文件永远不会为空,至少包含两个目录项:当前目录项"."和父目录项".."。文件目录的基本功能是将文件名转换为此文件信息在磁盘上的物理位置。

所有的文件系统都支持多级层次结构,根目录是唯一的,每一级目录可以是下一级目录的说明,也可以是文件的说明,从而形成树状目录结构。

6、文件的存储:

卷是存储介质的物理单位,块是存储介质上连续信息所组成的一个区域,是主存储器和辅助存储器进行信息交换的物理单位,每次总是交换一块或整数块的信息。

文件的逻辑结构:

1)流式文件和记录式文件。

2)成组和分解。

3)记录格式:定长记录、变长记录、跨块记录。

4)记录键:用于标识某条逻辑记录的数据项。

文件的物理结构:

1)顺序文件:逻辑记录顺序和物理块顺序一致。FCB中保存的磁盘定位信息由第一个物理块地址和文件信息块的总块数组成。

2)连接文件:使用指针来表示文件中各条记录之间的关系。

3)直接文件:采用散列技术建立哈希表,数组通过索引访问,索引是与数据记录有关的关键字。

注意:常用的溢出处理技术有:顺序探查法、两次散列法、拉链法、独立溢出区法。

4)索引文件:实现非连续存储,适用于数据记录保存在磁盘上的文件。

7、文件共享:

指不同的进程共同使用同一个文件,文件共享为不同的进程完成共同的任务所必需,还节省大量的辅存空间,减少因文件复制而增加的I/O操作次数。主要方式有:

1)静态共享:操作系统允许一个文件同时属于多个目录,但实际上文件仅有一处物理存储。这种在物理上一处存储、从多个目录可到达此文件的“多对一关系”称为文件链接。静态共享是通过文件所对应的inode节点来实现链接的,并且只允许链接到文件而非目录。文件链接的系统调用形式为:link(oldnamep, newnamep)。

2)动态共享:指系统中不同的应用进程或同一用户的不同进程并发地访问同一文件。

3)文件符号链接共享:系统中的每个文件对应于一个inode,其编号是唯一的。将文件名与自身的inode链接起来,称为硬链接,只能用于单个文件系统,不能跨越文件系统,可用于文件共享但不能用于目录共享。符号链接是只有文件名、不指向inode的链接,通过名称来引用文件。

8、文件空间管理:

1)连续分配:顺序访问时无需移动磁头,查找速度快。

2)非连续分配:以块为单位,属于同一文件的扇区按文件记录的逻辑次序用链指针连接或用位示图指示。另一种方法是以簇为单位,簇是若干连续扇区所组成的分配单位。

注意:常用的几种文件辅存空间管理方法:位示图,空闲区表,空闲块链,成组空闲块链。

9、主存映射文件:

把文件内容直接映射到进程虚拟地址空间,即为进程分配一段虚地址空间,再把某个磁盘文件直接映射到此虚地址空间中。也称映射文件I/O。按文件名来访问,多个进程可同时把同一个文件映射到各自的虚拟地址空间中,且虚拟地址不必相同。

当多进程共享文件时,实现技术是把共享映射文件的进程的虚页面指向相同的页框,而页框中则保存磁盘文件的页面副本。

10、虚拟文件系统VFS:

是内核的一个子系统,提供一个通用文件系统模型,概括所能见到的文件系统的常用功能和行为,处理一切与底层设备管理相关的细节,为应用程序提供标准接口(文件系统API)。设计为:应用层,虚拟层和实现层。

VFS实质上是一种存在于主存中的、支持多种类型文件系统的运行环境,其功能有:

1)记录所安装的文件系统类型。

2)建立设备与文件系统之间的联系。

3)实现面向文件的通用操作。

4)涉及特定文件系统的操作时,映射到具体的文件系统中去。

11、NTFS新技术文件系统:

物理磁盘可组织成一个或多个卷,卷与磁盘逻辑分区有关。NTFS以簇为单位管理磁盘空间,每个簇包含2的整数次幂个扇区,扇区是磁盘的最小物理存储单位。NTFS使用逻辑簇号LCN与虚拟簇号VCN来定位簇。LCN是对整个卷中的所有簇从头到尾进行编号,VCN是对特定文件的簇从头到尾进行编号。NTFS支持文件的物理结构是索引文件,它通过LCN引用文件在磁盘上的物理位置,通过VCN引用文件中的数据,而VCN与LCN之间的映射通过索引表来实现。

主控文件表MFT:

是NTFS卷的管理控制中心,包含系统引导程序,用于定位和恢复卷中所有文件的数据结构,记录整个卷分配状态的位示图等信息,这些信息称为元数据。

NTFS并不对文件进行操作,只是通过对属性流的各种操作,包括:创建、删除、读取和写入。

12、文件系统模型组成:

1)设备驱动程序:位于I/O管理器的最底层,直接控制设备的I/O操作。

2)中间驱动程序:与低层设备驱动程序一起提供增强容错功能。

3)文件系统驱动程序FSD:扩展低层设备驱动程序的功能。

4)过滤驱动程序:一个网络重定向过滤驱动程序,用于截取对远程文件系统的各种操作,并重定向到远程文件服务器上。

与文件管理联系最密切的是FSD:分为本地FSD和远程FSD,前者允许用户访问本地计算机上的文件,后者允许用户通过网络访问远程计算机上的文件。

FSD的功能:

1)处理文件系统操作命令:如fopen(文件名,操作方式)打开一个文件。函数ReadFile( )或WriteFile( )等。

2)高速缓存延迟写:定期地异步调用主存管理器,包高速缓存中已被修改过的页面移交给FSD,以便将数据写入磁盘。

3)高速缓存提前读:通过分析已执行的读操作,来决定提前读多少,在通过缺页中断将数据读至高速缓存。

4)主存脏页写:定期清理高速缓存区,将不再使用的页面写入页文件或映射文件,使得主存管理器有空闲页框可用。此线程通过异步写命令来创建I/O请求包IRP。

5)主存缺页处理:应用程序访问不在主存中的页面时,触发缺页中断,且向文件系统发送I/O请求包IRP。

13、NTFS的FSD:

对NTFS的访问通过I/O管理器来完成,I/O管理器将I/O请求送交NTFS的FSD去执行。NTFS通过文件对象指针获得文件属性的流控制块SCB,每个SCB表示文件的一个属性,包含如何获得属性的信息。同一个文件的所有SCB都指向一个共同的数据结构——文件控制块FCB,FCB包含指向主控文件表MFT中此文件记录的指针,实际上是一个文件引用,NTFS通过这个指针访问文件。

NTFS只能恢复文件系统的元数据,无法恢复用户数据。

日志文件服务LFS:分为两个区域:重启动区和日志记录区。NTFS通过LFS例程来访问日志文件。

日志记录类型:更新记录(重做信息和撤销信息)。检查点记录。

14、NTFS可恢复过程依赖于主存中所维护的两张表:

1)事务表:跟踪已经启动但尚未提交的事务,以便恢复过程中从磁盘删除这些活动事务的子操作。

2)脏页表:记录尚未写入磁盘的高速缓存中时,用于改变NTFS卷结构操作的页面,在恢复过程中,这些改动必须刷新到磁盘上。

为了实现卷的恢复,NTFS要对日志文件进行以下3次扫描:

1)分析扫描。2)重做扫描。3)撤销扫描。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: