《操作系统原理:第06章 文件管理》由会员分享,可在线阅读,更多相关《操作系统原理:第06章 文件管理(188页珍藏版)》请在金锄头文库上搜索。
1、2024/8/14第六章 文件管理第第6章章 文件管理文件管理第六章文件管理 6.1 文件和文件系统6.2 文件逻辑结构6.3 外存分配方式6.4 目录管理6.5 文件存储空间的管理6.6 文件共享和保护6.7 数据一致性控制第第6章章 文件管理文件管理对于计算机处理和存放的大量信息,由于内存容量有限,且不能长期保存,故而平时总是以文件的形式存放在辅助存储器上,需要时调入内存。第六章文件管理 但用户不能够胜任管理文件的工作,于是在OS中又增加了文件管理功能,第第6章章 文件管理文件管理6.1 文件和文件系统文件系统是指具有文件名的若干相关元素的集合。可以是指具有文件名的若干相关元素的集合。可以
2、把数据组成分为把数据组成分为数据项数据项、记录记录和和文件文件三级。三级。文件系统是用户文件系统是用户与外存的接口。与外存的接口。就是操作系统中实现文件统一管理的一组就是操作系统中实现文件统一管理的一组软件软件和和相关数据相关数据的集合,它是专门负责的集合,它是专门负责管理管理和和存取存取文件信息文件信息的软件机构。的软件机构。文件第第6章章 文件管理文件管理6.1 文件和文件系统文件系统文件系统实现实现“按名存取按名存取”;提供方便的操作和统一的调提供方便的操作和统一的调用接口,屏蔽底层细节。用接口,屏蔽底层细节。用户用户组织、分配、回收文件的存组织、分配、回收文件的存储空间;储空间;负责文
3、件的存储、检索、共负责文件的存储、检索、共享和保护。享和保护。系统系统第第6章章 文件管理文件管理1数据项数据项是最低级的数据组织形式,可把它分成以下两种类型:(1)基本数据项基本数据项用于描述一个对象的某种属性的字符集用于描述一个对象的某种属性的字符集;是数据组织中可以命名的最小逻辑数据单位。是数据组织中可以命名的最小逻辑数据单位。(2)组合数据项组合数据项它是由若干个基本数据项组成的,简称组项。它是由若干个基本数据项组成的,简称组项。基本数据项除了数基本数据项除了数据名外,还应有数据名外,还应有数据类型。据类型。第第6章章 文件管理文件管理2记录一个记录应包含哪些数据项,取决于需要一个记录
4、应包含哪些数据项,取决于需要描描述对象的哪个方面。述对象的哪个方面。记录记录是一组相关数据项的集合,描述一个对象是一组相关数据项的集合,描述一个对象在某方面的属性。在某方面的属性。为能唯一的标识一个记录,必须在一个记录的为能唯一的标识一个记录,必须在一个记录的各个数据项中,确定出各个数据项中,确定出一个或几个一个或几个数据项,把数据项,把它们的集合称为它们的集合称为关键字关键字。第第6章章 文件管理文件管理3文件文件(file)sort.c定义:是记录在定义:是记录在外存外存上的,具有上的,具有符号名符号名的,在逻的,在逻辑上辑上具有完整意义具有完整意义的一组相关的一组相关元素元素的集合。的集
5、合。是构成文件内容的基本单位,可以是一个字符,是构成文件内容的基本单位,可以是一个字符,也可以是一个记录。也可以是一个记录。磁带磁带磁盘磁盘光盘光盘优盘优盘从用户的角度看,文件是逻辑外存的最小分配单从用户的角度看,文件是逻辑外存的最小分配单元,即信息元,即信息(数据数据)只能以文件的形式写入外存。只能以文件的形式写入外存。第第6章章 文件管理文件管理许多OS支持两部分文件名,两部分之间用句号加以分隔。在句号后面的部分称作文件扩展名。3文件短文件名格式(8.3格式)fdisk.exe长文件名格式255字符是否区分大小写UNIX区分大小写Windows不区分第第6章章 文件管理文件管理一些典型的文
6、件扩展名扩展名扩展名含义含义file.bak备份文件备份文件file.cC源程序源程序file.f77Fortran77程序程序file.gifCompuserve图形转换格式图像图形转换格式图像file.hlp帮助文件帮助文件file.html万维网超文本标记语言文档万维网超文本标记语言文档file.mpg用用MPEG标准编码的电影标准编码的电影file.o目标文件目标文件(编译器输出,但未连接编译器输出,但未连接)file.psPostscript文件文件file.tex用于用于TEX格式化程序的输入格式化程序的输入file.txt一般文档文件一般文档文件file.zip压缩存档压缩存档第
7、第6章章 文件管理文件管理3文件文件的组成部分sort.c文件目录文件目录文件名称文件名称文件内部标识符文件内部标识符文件类型文件类型文件存储位置文件存储位置文件大小文件大小访问权限访问权限时间、日期、用户标识时间、日期、用户标识文件体:文件真实的内容。文件体:文件真实的内容。文件说明文件说明(属性属性):操作系统为:操作系统为了管理文件所用到的信息。了管理文件所用到的信息。第第6章章 文件管理文件管理域域含义含义保护保护谁能访问该文件,以何种方式访问谁能访问该文件,以何种方式访问口令口令访问该文件所需口令访问该文件所需口令创建者创建者文件创建者的文件创建者的ID拥有者拥有者当前拥有者当前拥有
8、者只读标志只读标志0表示读写,表示读写,1表示只读表示只读隐藏标志隐藏标志0表示正常,表示正常,1表示不在列表中显示表示不在列表中显示系统标志系统标志0表示正常文件,表示正常文件,1表示系统文件表示系统文件存档标志存档标志0表示已备份过,表示已备份过,1表示需要备份表示需要备份ASCII/二进制二进制0表示表示ASCII文件,文件,1表示二进制文件表示二进制文件随机存取标志随机存取标志0表示只能顺序存取,表示只能顺序存取,1表示随机存取表示随机存取第第6章章 文件管理文件管理临时标志临时标志0表示正常,表示正常,1表示在进程退出时删除文表示在进程退出时删除文件件锁标志锁标志0表示未锁,非零表示
9、已锁表示未锁,非零表示已锁记录长度记录长度一条记录的字节数一条记录的字节数关键字位置关键字位置每条记录中关键字偏移每条记录中关键字偏移关键字长度关键字长度关键字域的字节数关键字域的字节数创建时间创建时间文件创建的日期和时间文件创建的日期和时间最后存取时最后存取时间间文件最后存取的日期和时间文件最后存取的日期和时间最后修改时最后修改时间间文件最后修改的日期和时间文件最后修改的日期和时间当前长度当前长度文件字节数文件字节数最大长度最大长度文件最大允许字节数文件最大允许字节数第第6章章 文件管理文件管理文件文件记录记录1记录记录2记录记录n数据项数据项1数据项数据项2数据项数据项n文件、记录和数据项
10、之间的关系第第6章章 文件管理文件管理6.1.2文件类型和文件系统模型1文件类型为了便于管理和控制文件而将文件分为若干为了便于管理和控制文件而将文件分为若干种类型。为了方便系统和用户了解文件的类种类型。为了方便系统和用户了解文件的类型,许多型,许多OS都把文件类型作为都把文件类型作为扩展名扩展名而缀在而缀在文件名的后面。文件名的后面。由于不同系统对文件的管理方式不同,因而由于不同系统对文件的管理方式不同,因而它们对文件的分类方法也有很大差异。它们对文件的分类方法也有很大差异。文件的后缀文件的后缀exe,com,bin:可执行文件可执行文件c,cc,cpp,java,pas:程序源代码程序源代码
11、bat,sh:命令文件命令文件txt,doc:文本数据,文本文档文本数据,文本文档lib,dll:库文件库文件zip,rar:压缩文件压缩文件mpeg,mov,rm:多媒体文件多媒体文件第第6章章 文件管理文件管理1文件类型按存取控制属性只执行文件只读文件读写文件按数据的形式源文件目标文件可执行文件按用途系统文件用户文件库文件按组织形式和处理方式普通文件目录文件特殊文件第第6章章 文件管理文件管理2文件系统模型可将该模型分为三个层次,其最底层是可将该模型分为三个层次,其最底层是对象及其对象及其属性属性;中间层是;中间层是对对象进行操纵和管理的软件集对对象进行操纵和管理的软件集合合;最高层是;最
12、高层是文件系统提供给用户的接口文件系统提供给用户的接口。文件系统接口文件系统接口对对象操纵和管理的软件集合对对象操纵和管理的软件集合对象及其属性对象及其属性用户(程序)用户(程序)第第6章章 文件管理文件管理2文件系统模型1)对象及其属性磁盘磁盘(磁带磁带)存储空间存储空间。对空间的有效管理,不。对空间的有效管理,不仅能提高外存的利用率,而且能提高对文件的仅能提高外存的利用率,而且能提高对文件的存取速度。存取速度。文件文件。它作为文件管理的直接对象。它作为文件管理的直接对象。目录目录。为了方便用户对文件的存取和检索,。为了方便用户对文件的存取和检索,在文件系统中必须配置目录。在文件系统中必须配
13、置目录。第第6章章 文件管理文件管理2. 文件系统模型是文件管理的核心部分。实现了文件系统的大是文件管理的核心部分。实现了文件系统的大部分功能部分功能对文件存储空间的管理、对文件对文件存储空间的管理、对文件目录的管理、文件的地址转换机制、对文件读目录的管理、文件的地址转换机制、对文件读写管理以及对文件的共享和保护。写管理以及对文件的共享和保护。2)对对象操纵和管理的软件集合3)文件系统的接口(1)命令接口命令接口(2)程序接口程序接口第第6章章 文件管理文件管理命令级命令级程序级程序级系统命令系统命令系统功能调用和函数系统功能调用和函数建立文件建立文件打开文件打开文件关闭文件关闭文件读读/写文
14、件写文件第第6章章 文件管理文件管理6.1.3文件操作用户通过文件系统所提供的系统调用实施对文件的操作。最基本的文件操作有:创建文件、删除文件、读文件、写文件、截断文件和设置文件的读/写位置。但对于一个实际的OS,为了方便用户使用文件而提供了更多地对文件的操作,如打开和关闭一个文件及改变文件名等操作。第第6章章 文件管理文件管理1最基本的文件操作(1)创建文件。(2)删除文件。(3)读文件。(4)写文件。(5)截断文件。(6)设置文件的读/写位置。第第6章章 文件管理文件管理2文件的“打开”和“关闭”操作当用户要求对一个文件实施多次操作时,每次都要从检索目录开始。使检索开销很大。当用户第一次请
15、求对某文件进行操作时,先利用open系统调用将该文件打开。所谓“打开”,是指系统将指名文件的属性从外存拷贝到内存打开文件表的一个表目中。如果用户已不再需要对该文件实施相应的操作时,可利用“关闭”(close)系统调用来关闭此文件第第6章章 文件管理文件管理3其它文件操作一类是对文件属性的操作另一类是对目录的操作还有用于实现文件共享的系统调用和用于对文件系统进行的操作第第6章章 文件管理文件管理文件操作常规文件操作Create创建文件Delete删除文件Open打开文件Close关闭文件Retrieve_All取全部内容Retrieve_One取一条记录Retrieve_Next取下一条记录Re
16、trieve_Previous取前一记录Insert_One插入一条记录Delete_One删除一条记录Update_One更新一条记录Seek指定读/写位置C语言中文件操作函数fopen()fclose()fread()fwrite()fseek()feof()fgetc()fgets()fprintf()fputc()fputs()fscanf()ftell()取文件当前位置rewind()置于文件头第第6章章 文件管理文件管理6.2文件的逻辑结构文件组织的两种观点实现观点(物理结构)实现观点(物理结构):研究的是存储在物理设:研究的是存储在物理设备介质上的实际文件,即物理文件。其目的是选
17、备介质上的实际文件,即物理文件。其目的是选择一些性能良好、设备利用率高的物理结构。择一些性能良好、设备利用率高的物理结构。用户观点(逻辑结构)用户观点(逻辑结构):研究的是用户思维中的:研究的是用户思维中的抽象文件,也叫逻辑文件。其目的是为用户提供抽象文件,也叫逻辑文件。其目的是为用户提供一种结构清晰、使用简便的逻辑组织。一种结构清晰、使用简便的逻辑组织。第第6章章 文件管理文件管理6.2.1文件逻辑结构的类型这是指由字符流构成的文件,故又称为是这是指由字符流构成的文件,故又称为是流式流式文件。文件。有结构文件无结构文件是指由是指由若干个相关的记录若干个相关的记录构成的文件,故又把构成的文件,
18、故又把它称为它称为记录式文件记录式文件。第第6章章 文件管理文件管理根据记录的长度可分为定长记录文件和不定长记录文件。定长记录变长记录定长记录定长记录变长记录变长记录1.有结构的文件第第6章章 文件管理文件管理1.有结构的文件根据记录的组织方式,为以下几种类型:(1)顺序文件(2)索引文件(3)索引顺序文件这是由一系列记录按某种这是由一系列记录按某种顺序排列所形成的文件。顺序排列所形成的文件。其中的记录通常是定长记其中的记录通常是定长记录。录。当记录为可变长度时,当记录为可变长度时,通常为之建立一张索引通常为之建立一张索引表,并为每个记录设置表,并为每个记录设置一个表项。一个表项。这是上述两种
19、文件构成方这是上述两种文件构成方式的结合。它为文件建立式的结合。它为文件建立一张索引表,为每一组记一张索引表,为每一组记录中的第一个记录设置一录中的第一个记录设置一个表项。个表项。第第6章章 文件管理文件管理无结构的流式文件:文件没有结构,由一串字符流构成。2无结构文件字符流字符流在UNIX系统中,所有的文件都被看作是流式文件:即使是有结构的文件,也被视为流式文件,系统不对文件进行格式处理。第第6章章 文件管理文件管理6.2.2顺序文件1逻辑记录的排序文件是记录的集合。文件中的记录可以是任意顺序的,一般地,可归纳为以下两种情况:第二种情况是顺序结构第二种情况是顺序结构指文件中的所有记录按关键字
20、指文件中的所有记录按关键字(词词)排列。排列。第一种是串结构第一种是串结构各记录之间的顺序与关键字无关。各记录之间的顺序与关键字无关。第第6章章 文件管理文件管理2对顺序文件的读/写操作定长记录: 读指针rptr指向下一次读出的记录地址; 写指针wptr指向下一次写入的记录地址。 读完指针做相应修改:Rptr:=Rptr+L 写完指针做相应修改:Wptr:=Wptr+L变长记录:对于变长记录的顺序文件. 读完rptr:=rptr+Li第第6章章 文件管理文件管理第第6章章 文件管理文件管理3. 顺序文件的优缺点 优点:方便对记录进行批量存取时,此外,也只有顺方便对记录进行批量存取时,此外,也只
21、有顺序文件才能存储在磁带上,并能有效地工作。序文件才能存储在磁带上,并能有效地工作。1.要求查找或修改单个记录,系统要逐个地查要求查找或修改单个记录,系统要逐个地查找诸记录。找诸记录。2.增加或删除一个记录较困难。增加或删除一个记录较困难。缺点:第第6章章 文件管理文件管理6.2.3 索引文件 对于定长记录文件,如果要查找第i个记录,则第i个记录的首地址为: Ai=iL 对于可变长度记录的文件,要查找其第i个记录时,须顺序地查找每个记录,从中获得相应记录的长度Li。第第6章章 文件管理文件管理为变长记录文件建立一张索引表,对主文件中的每个记录,在索引表中设有一个相应的表项,用于记录该记录的长度
22、L及指向该记录的指针。6.2.3 索引文件 MiiM11M00 指针指针ptr长度长度索引号索引号RiR1R0索引表索引表逻辑文件逻辑文件第第6章章 文件管理文件管理6.2.4索引顺序文件索引顺序文件是顺序文件和索引文件相结合的产物。将顺序文件中的所有记录分为若干个组;为顺序文件建立一张索引表,在索引表中为每组中的第一个记录建立一个索引项。第第6章章 文件管理文件管理 索引顺序文件第第6章章 文件管理文件管理6.2.5 直接文件和哈希文件 1. 直接文件 哈希哈希(Hash)文件利用文件利用Hash函数函数(或称散列函数或称散列函数),可将记录键值转换为相应记录的地址。可将记录键值转换为相应记
23、录的地址。对于直接文件,则可根据给定的记录键值,直对于直接文件,则可根据给定的记录键值,直接获得指定记录的物理地址。接获得指定记录的物理地址。2. 哈希(Hash)文件第第6章章 文件管理文件管理Hash文件的逻辑结构fHash函数函数目录表目录表键值键值第第6章章 文件管理文件管理6.3外存分配方式磁盘是一种可按指定的块地址进行信息存取的设备。对存储在磁盘上的文件,既可采用顺序存取方式,又可采用随机存取方式。采用不同的分配方式,会形成不同的文件物理结构连续分配连续分配顺序式文件结构顺序式文件结构链接分配链接分配链接式文件结构链接式文件结构索引分配索引分配索引式文件结构索引式文件结构第第6章章
24、 文件管理文件管理连续分配要求为每一个文件分配一组相邻接的盘块。在采用连续分配方式时,可把逻辑文件中的记录顺序地存储到邻接的各物理盘块中,这样所形成的文件结构称为顺序文件结构,此时的物理文件称为顺序文件。6.4.1连续分配第第6章章 文件管理文件管理6.4.1连续分配sort.c012301234567891011121314文件目录文件目录起址起址 长度长度54sort.c文件名称文件名称外存外存第第6章章 文件管理文件管理2.连续分配的主要优缺点优点:()要求有连接的存储空间;外部碎片问题要求有连接的存储空间;外部碎片问题()必须事先知道文件的长度;必须事先知道文件的长度;文件不能动态增文
25、件不能动态增长;预留空间;长;预留空间;不利于文件插入和删除不利于文件插入和删除() 顺序访问容易;支持顺序存取和随机存取;顺序访问容易;支持顺序存取和随机存取;() 顺序存取速度快;所需的磁盘寻道次数和寻顺序存取速度快;所需的磁盘寻道次数和寻道时间最少。道时间最少。缺点:第第6章章 文件管理文件管理6.3.2链接分配链接结构1隐式链接将逻辑上连续的文件信息存放在不连续的物理将逻辑上连续的文件信息存放在不连续的物理块上,每个物理块设有一个指针指向下一个物块上,每个物理块设有一个指针指向下一个物理块。理块。2显示链接在文件目录的每个目录项中,都在文件目录的每个目录项中,都含有指向链接文件第一个盘
26、块和含有指向链接文件第一个盘块和最后一个盘块的指针。最后一个盘块的指针。而在每个盘块中都含有一个指向而在每个盘块中都含有一个指向下一个盘块的指针。下一个盘块的指针。第第6章章 文件管理文件管理1隐式链接sort.c012301234567891011121314文件目录文件目录起址起址5sort.c文件名称文件名称datanext结束结束11第第6章章 文件管理文件管理6.3.2链接分配优点:仍然不支持随机查找。仍然不支持随机查找。更多的寻道次数和寻道时间。更多的寻道次数和寻道时间。需要牺牲一些空间存放链接指针。需要牺牲一些空间存放链接指针。可靠性问题,如指针出错。可靠性问题,如指针出错。提高
27、了磁盘空间利用率,不存在外部碎片。提高了磁盘空间利用率,不存在外部碎片。有利于文件插入和删除及其动态扩充。有利于文件插入和删除及其动态扩充。缺点:第第6章章 文件管理文件管理2显式链接由于分配给文件的所有盘块号都放在该表中,由于分配给文件的所有盘块号都放在该表中,故把该表称为文件分配表故把该表称为文件分配表FAT。将链接文件各物理块的指针显示地放在内存的将链接文件各物理块的指针显示地放在内存的一张链接表中。在一张链接表中。在FCB的物理地址中填写其首的物理地址中填写其首指针所对应的盘块号。指针所对应的盘块号。第第6章章 文件管理文件管理2显式链接012345物理块号2FCBFAT0451显式链
28、接结构第第6章章 文件管理文件管理6.3.3FAT和NTFS技术微软公司的操作系统早期采用的都是FAT文件系统格式包括:FAT12,FAT16,FAT32最近广泛采用NTFS文件系统格式Linux操作系统主要采用efx2,efx3文件系统格式FAT存储在每个盘区的存储在每个盘区的开始开始或或结束结束部分(或部分(或为了可靠性两处都存)。为了可靠性两处都存)。第第6章章 文件管理文件管理1FAT121)以盘块为基本分配单位在每个分区中都配有两张文件分配表FAT1和FAT2在FAT的每个表项中存放下一个盘块号,最后一块存有文件结束标记(如,-1)。将文件的第一个盘块号放在自己的FCB中。未使用的块
29、用0值来表示。早期早期MS-DOS操作系统所使用的是操作系统所使用的是FAT12文件系统,文件系统,第第6章章 文件管理文件管理MS-DOS的文件物理结构的文件物理结构6EOF11105EOF0123456789FATFCBA4FCBB9第第6章章 文件管理文件管理2)簇的基本概念为了适应磁盘容量不断增大的需要,在进行盘块分配时,不再以盘块而是以簇(cluster)为基本单位。例如,当一个簇仅有一个扇区时,磁盘的最大容量为例如,当一个簇仅有一个扇区时,磁盘的最大容量为2MB;当一个簇包含两个扇区时,磁盘的最大容量可;当一个簇包含两个扇区时,磁盘的最大容量可以达到以达到4MB。簇是一组连续的扇区
30、,在簇是一组连续的扇区,在FAT中它是作为一个中它是作为一个虚拟扇区,簇的大小一般是虚拟扇区,簇的大小一般是2n(n为整数为整数)个盘块。个盘块。第第6章章 文件管理文件管理3)FAT12存在的问题对所允许的磁盘容量存在着严重的限制增加簇的大小来提高所允许的最大磁盘容量,簇内碎片也将随之增加。只能支持8+3格式的文件名。FAT12表最多只允许4096个表项,亦即最多只能将一个磁盘分区分为4096个簇。第第6章章 文件管理文件管理2FAT16我们将FAT表的宽度增至16位,最大表项数将增至65536个,此时便能将一个磁盘分区分为65536(216)个簇。我们把具有16位表宽的FAT表称为FAT1
31、6。在FAT16的每个簇中可以有的盘块数为4、8、16、32直到64,由此得出FAT16可以管理的最大分区空间为21664512=2048MB。第第6章章 文件管理文件管理3FAT32FAT32是FAT系列文件系统的最后一个产品。每一簇在FAT表中的表项占据4字节(232),FAT表可以表示4294967296项。FAT32的每个簇都固定为4KB,即每簇用8个盘块代替FAT16的64个盘块,每个盘块仍为512字节,FAT32分区格式可以管理的单个最大磁盘空间大到2TB。第第6章章 文件管理文件管理FAT中簇的大小与最大分区的对应关系中簇的大小与最大分区的对应关系块大小块大小/KBFAT12 /
32、MBFAT16/MBFAT32 /TB0.52142812841625618512216102443220488第第6章章 文件管理文件管理使用磁盘磁盘必须分区(partition)分区需用某种文件系统进行格式化(formatted)使用多分区防止整个盘都被破坏一个分区满了,可以继续使用其他分区可以支持多个OS第第6章章 文件管理文件管理逻辑磁盘一个磁盘可以包含多个文件系统第第6章章 文件管理文件管理磁盘分区MBRPartition 1Partion 2Partion 4Partion 3u一个磁盘只能有4个主分区(Primarypartition)u一个主分区可以包含多个逻辑分区(logic
33、partition)u在每个主分区或逻辑分区中只能安装一个文件系统第第6章章 文件管理文件管理磁盘FAT文件系统原理磁盘上的数据按照其不同的特点和作用大致可分为5部分:MBR区、DBR区、FAT区、DIR区和DATA区第第6章章 文件管理文件管理主引导扇区MBR(masterbootrecord),即主引导记录,有时也称主引导扇区。512byte的主引导记录中,MBR的引导程序占了其中的前446个字节,随后的64个字节为DPT(DiskPartitionTable,磁盘分区表),最后的两个字节“55AA”是分区有效结束标志。MBR使用系统分区的引导扇区来装载操作系统的核心文件第第6章章 文件管
34、理文件管理MBR(firstsector)layout主引导扇区分区表项的结构MBR主引导扇区0面0磁道1扇区第第6章章 文件管理文件管理分区表内容Status:分区状态,0=未激活,0x80=激活;StartHead: 分区起始磁头号;StartSC: 分区起始扇区和柱面号,低字节的低6位为扇区号, 高2位为柱面号的第9,10位,高字节为柱面号的低8位;Type: 分区类型,如0x0B=FAT32,0x83=Linux,00表示此项未用;EndHead: 分区结束磁头号;EndSC: 分区结束扇区和柱面号,定义同前Relative: 在线性寻址方式下的分区相对扇区地址(对于基本分区即为绝对地
35、址);Sectors:分区大小(总扇区数).第第6章章 文件管理文件管理每一个分区的结构第第6章章 文件管理文件管理DBR区DBR是分区引导扇区。它包括一个引导程序和一个被称为BPB(BiosParameterBlock)的参数表。引导程序的主要任务是当MBR将系统控制权交给它时,判断本分区是不是系统分区。如果是,就把引导文件读入内存,并把控制权交给该文件。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数,分配单元的大小等重要参数。第第6章章 文件管理文件管理FAT引导扇区1、0H02H一条跳转指令,指针指向后面的引导程序2、03H0AH厂商名
36、和系统版本3、0BH0CH每扇字节数,一般为512字节4、0DH每簇扇区数;对于FAT32的磁盘该字节一般为08H,既每簇为8H*512B=4K。5、0EH0FH保留扇区数6、10H磁盘FAT的个数,一般为2个7、11H12H对于FAT16的磁盘为根目录的最大目录项,对于FAT32的磁盘该值总为“00H00H”8、13H14H对于软盘或早期小硬盘该处为分区总扇区数,对于硬盘一般此值为“00H00H”9、15H介质描述,对于1.44软盘此处长为“F0H”,对于硬盘此处长为“F8H”10、16H17H对于软盘或早期小硬盘该处为每个FAT占用的扇区数,对于硬盘一般此值为“00H00H”11、18H1
37、9H每道扇区数,一般为“3FH00H”,即每道有63个扇区12、1AH1BH磁头数,一般为“FFH00H”,即每个柱面有255个磁头13、1CH1FH隐含扇区数14、20H23H对于大硬盘来说该处存放的是该分区占用的扇区数15、24H27H对于大硬盘来说该处存放的是每个FAT占用的扇区数16、40H该处为磁盘BIOS信息,第一块硬盘为“80H”,一般软盘为“00H”17、47H51H用户设置的卷标,如果没有卷标此处常为字符串“NONAME”18、52H59H文件系统,对于FAT32文件系统此处常为“FAT32”19、1FEH1FFH结束标识,和上文提到的主引导区的结束标识一样为“55HAAH”
38、第第6章章 文件管理文件管理FAT区为了实现文件的链式存储,硬盘上必须准确地记录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存储后继内容的下一个簇的簇号,对一个文件的最后一簇,则要指明本簇无后继簇。这些都是由FAT表来保存的,表中有很多表项,每项记录一个簇的信息。第第6章章 文件管理文件管理DOS操作系统FAT32的链式分配FAT文件分配表第第6章章 文件管理文件管理DIR区DIR(Directory)是根目录区,紧接着第二FAT表(即备份的FAT表)之后,记录着根目录下每个文件(目录)的起始单元,文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在
39、硬盘中的具体位置和大小了。第第6章章 文件管理文件管理DATA区数据(DATA)区数据区是真正意义上的数据存储的地方,位于DIR区之后,占据硬盘上的大部分数据空间第第6章章 文件管理文件管理4NTFS1)NTFS新特征首先,它使用了64位磁盘地址,理论上可以支持2的64次方字节的磁盘分区;其次,在NTFS中可以很好地支持长文件名;第三,具有系统容错功能,即在系统出现故障或差错时,仍能保证系统正常运行;第四,提供了数据的一致性;此外,NTFS还提供了文件加密、文件压缩等功能。第第6章章 文件管理文件管理4NTFS2)磁盘组织NTFS也是以簇作为磁盘空间分配和回收的基本单位。一个文件占用若干个簇。
40、通过簇来间接管理磁盘,可以不需要知道盘块(扇区)的大小。在在NTFS文件系统中,把卷上簇的大小称为文件系统中,把卷上簇的大小称为“卷因子卷因子”,卷因子是在磁盘格式化时确定的。,卷因子是在磁盘格式化时确定的。第第6章章 文件管理文件管理4NTFSNTFSNTFS是采用是采用逻辑簇号逻辑簇号LCNLCN,将整个卷中所有的簇按,将整个卷中所有的簇按顺序进行简单的编号,顺序进行简单的编号,NTFSNTFS在进行地址映射时,在进行地址映射时,可以通过卷因子与可以通过卷因子与LCNLCN的乘积,便可得到文件数的乘积,便可得到文件数据所在的物理磁盘地址。据所在的物理磁盘地址。NTFSNTFS还可以使用还可
41、以使用虚拟簇号虚拟簇号VCNVCN,以文件为单位,将,以文件为单位,将属于某个文件的簇按顺序进行编号。只要知道了属于某个文件的簇按顺序进行编号。只要知道了文件开始的簇地址,便可将文件开始的簇地址,便可将VCNVCN映射到映射到LCNLCN。第第6章章 文件管理文件管理4NTFS3)文件的组织在在NTFS中,以卷为单位,将一个卷中的所有文件中,以卷为单位,将一个卷中的所有文件信息、目录信息以及可用的未分配空间信息,都以信息、目录信息以及可用的未分配空间信息,都以文件记录的方式记录在一张文件记录的方式记录在一张主控文件表主控文件表MFT中中。卷中的每个文件作为一条记录,在卷中的每个文件作为一条记录
42、,在MFT表中占有表中占有一行,其中还包括一行,其中还包括MFT自己的这一行。每行称为自己的这一行。每行称为该行所该行所对应文件的元数据对应文件的元数据(metadata),也称为文件,也称为文件控制字。控制字。第第6章章 文件管理文件管理4NTFS在在MFT表中,每个元数据将其所对应文件的表中,每个元数据将其所对应文件的所有信所有信息息,包括文件的内容等,都被组织在所对应文件的,包括文件的内容等,都被组织在所对应文件的一组一组属性属性中。中。当文件较当文件较小小时,可以将文件的所有属性直接记录时,可以将文件的所有属性直接记录在在元数据中元数据中。而当文件较。而当文件较大大时,时,元数据元数据
43、仅仅记录记录该文件该文件的一的一部分属性部分属性,其余属性可以记录到卷中的,其余属性可以记录到卷中的其它可其它可用簇用簇中,并将这些簇按其所记录文件的属性进行分中,并将这些簇按其所记录文件的属性进行分类,分别类,分别链接成多个队列链接成多个队列。第第6章章 文件管理文件管理NTFS的实现层次I/OI/O管理器管理器NTFSNTFS驱动程序驱动程序容错驱动程序容错驱动程序磁盘驱动程序磁盘驱动程序日志文件服务日志文件服务高速缓存管理器高速缓存管理器虚拟内存管理器虚拟内存管理器纪录事务纪录事务读写文件读写文件把数据把数据从磁盘从磁盘加载到加载到内存内存写高速缓存写高速缓存访问映射的文件访问映射的文件
44、或转存高速缓存或转存高速缓存转存日转存日志文件志文件读写镜读写镜像或带像或带区的卷区的卷读写读写磁盘磁盘第第6章章 文件管理文件管理NTFS的实现层次对象管理器数据结构对象管理器数据结构句柄表句柄表进程进程文件对象文件对象文件对象文件对象NTFSNTFS数据库数据库(磁盘上的结构)(磁盘上的结构)主控文件表主控文件表NTFSNTFS数据结构数据结构(用来管理磁盘的内存结构)(用来管理磁盘的内存结构)数据数据属性属性用户用户定义定义属性属性文件文件控制块控制块流控流控制块制块第第6章章 文件管理文件管理NTFS分区上的结构FileAreaSystemFilesMasterFileTablepar
45、titionbootsectorPartitionbootsector:每个分区的引导扇区;每个分区的引导扇区;MasterFileTable(MTF):主文件表,存放本分区中主文件表,存放本分区中的所有文件(包括目录)的列表,以及可用磁盘的所有文件(包括目录)的列表,以及可用磁盘空间;空间;SystemFiles(系统文件)系统文件):MTF映射区,日志文映射区,日志文件,卷位图,属性表件,卷位图,属性表第第6章章 文件管理文件管理NTFS分区上的结构MFTMFTMFTMFT副本副本日志文件日志文件卷文件卷文件属性定义表属性定义表根目录根目录位图文件位图文件引导文件引导文件坏簇文件坏簇文件用
46、户文件和目录用户文件和目录第第6章章 文件管理文件管理6.3.4索引分配链接分配方式虽然解决了连续分配方式所存在的问题,但又出现了下述另外两个问题:(2)FAT需占用较大的内存空间。由于一个文需占用较大的内存空间。由于一个文件所占用盘块的盘块号是随机地分布在件所占用盘块的盘块号是随机地分布在FAT中中的,因而只有将整个的,因而只有将整个FAT调入内存,才能保证调入内存,才能保证在在FAT中找到一个文件的所有盘块号。中找到一个文件的所有盘块号。(1)不能支持高效的直接存取。不能支持高效的直接存取。第第6章章 文件管理文件管理1单级索引分配一个文件的信息存放在若干不连续物理块中,系一个文件的信息存
47、放在若干不连续物理块中,系统为每个文件建立一个专用数据结构统为每个文件建立一个专用数据结构-索引表,索引表,并将这些块的块号存放在一个并将这些块的块号存放在一个索引表索引表中中一个索引表就是磁盘块地址数组一个索引表就是磁盘块地址数组,其其中第中第i个条目指向文件的第个条目指向文件的第i块块一个文件所有记录的关键字和其它地址的对照表。第第6章章 文件管理文件管理sort.c012301234567891011121314文件目录文件目录起址起址14sort.c文件名称文件名称5310逻辑块号逻辑块号物理块号物理块号237111单级索引分配第第6章章 文件管理文件管理6.3.4索引分配优点:即能顺
48、序存取,又能直接存取。满足了文件动态增长、插入删除的要求。没有外碎片,外存空间利用率较高。缺点较多的寻道次数和寻道时间。索引表本身需要存储空间,同时对索引表的维护会增加系统开销。第第6章章 文件管理文件管理6.3.4索引分配sort.c0123文件目录文件目录起址起址1401234567891011121314sort.c文件名称文件名称5310逻辑块号逻辑块号物理块号物理块号23711假设:块的大小为假设:块的大小为1K,每个索引表项占每个索引表项占3字节,则字节,则这个块中可以存放这个块中可以存放341个索引项个索引项(341K)。Q:1、如果文件大小大于、如果文件大小大于341K,该如何
49、表示?,该如何表示?2、增加的索引块如何组织和管理?、增加的索引块如何组织和管理?第第6章章 文件管理文件管理6.3.4索引分配索引表的组织方式链接文件方式:将多个索引表块按链接文件的方式串联起来。索引号索引号索引表块索引表块(1#)01.340341342.681物理块物理块263210332 103269210 11110801234567891011121314索引表块索引表块(9#)108210111第第6章章 文件管理文件管理2多级索引分配多级索引方式:将一个大文件的所有索引表(二级索引)的地址放在另一个索引表(一级索引)中。如果文件非常大时,还可用三级、四级索引分配方式。Q:多重索
50、引方式和链接文件方式比较有何好处?:多重索引方式和链接文件方式比较有何好处?第第6章章 文件管理文件管理0121051062543563579851051062547403563571125985360740.1125主索引主索引360第二级索引第二级索引磁盘空间磁盘空间.第第6章章 文件管理文件管理3混合索引分配方式所谓混合索引分配方式,是指将多种索引分配方式相结合而形成的一种分配方式。例如,系统既采用了直接地址,又采用了一级索引分配方式,或两级索引分配方式,甚至还采用了三级索引分配方式。第第6章章 文件管理文件管理2多级索引分配chardi_addr40;0123456789101112直
51、接寻址直接寻址物理块物理块.012341K一级间接寻址一级间接寻址二级间接寻址二级间接寻址三级间接寻址三级间接寻址.341.341341.341341341(10+341+341341341341341)=40GB第第6章章 文件管理文件管理3混合索引分配方式1)直接地址在索引结点中可设置直接地址项。2)一次间接地址利用索引结点中的地址项来提供一次间接地址。这种方式的实质就是一级索引分配方式。3)多次间接地址当文件长度更大时,系统还须采用二次间址分配方式。在二次间址块中记入所有一次间址块的盘号。第第6章章 文件管理文件管理Ext2磁盘结构MasterbootrecordPartitiontab
52、lePartition1Partition2Partition3Partition4EntirediskBootblockSuperblockFreespacemanagementIndexnodesFiles&directories第第6章章 文件管理文件管理Large-scalestructureinExt2/Ext3磁盘划分为块组(BlockGroup)每个块组有一个描述符结构每个块组是自包含的单元文件可以跨越块组,但不推荐位图只能限于单个磁盘块,由此可以决定每个块组的大小superblockandgroupdescriptors复制到每个块组,用于冗余BootblockBlockgro
53、up0Blockgroup1BlockgroupnSuperblockGroupdescriptorsDatablockbitmapInodebitmapInodetableDatablocks1x11mn第第6章章 文件管理文件管理6.4目录管理对目录管理的要求如下:(1)实现“按名存取”(2)提高对目录的检索速度(3)文件共享(4)允许文件重名第第6章章 文件管理文件管理文件目录的内容sort.c文件体:文件真实的内容。文件体:文件真实的内容。文件说明文件说明(属性属性):操作系统为:操作系统为了管理文件所用到的信息。了管理文件所用到的信息。文件名称文件名称文件标识符文件标识符文件类型文件
54、类型文件存储位置文件存储位置文件大小文件大小访问权限访问权限时间、日期、用户标识时间、日期、用户标识文件目录文件目录FCB,文件,文件控制块控制块#ls-l-r-xr-xr-t1binbin43296May131997/bin/hello.c目录目录文件文件第第6章章 文件管理文件管理6.4.1文件控制块和索引结点1文件控制块文件控制块是操作系统为管理文件而设置的数据结构,存放了为管理文件所需的相关信息。通常应含有三类信息,即基本信息、存取控制信息及使用信息。文件控制块文件控制块是文件存在的唯一标志是文件存在的唯一标志第第6章章 文件管理文件管理1文件控制块1)基本信息类文件名文件物理位置文件
55、逻辑结构文件的物理结构第第6章章 文件管理文件管理1文件控制块2)存取控制信息类文件的文件的建立日期和时间建立日期和时间、文件上一次、文件上一次修改的日期修改的日期和时间和时间及及当前使用信息当前使用信息。文件主的文件主的存取权限存取权限、核准用户的存取权限以及一、核准用户的存取权限以及一般用户的存取权限。般用户的存取权限。3)使用信息类第第6章章 文件管理文件管理文件控制块包括的内容下一个元素的物理位置下一个元素的物理位置上次修改时间上次修改时间 最大文件尺寸最大文件尺寸 临时临时 永久文件永久文件 文件拥有者文件拥有者 当前存取方式当前存取方式 文件创建者文件创建者缓冲区地址缓冲区地址 缓
56、冲区大小缓冲区大小 访问元素的当前物理位置访问元素的当前物理位置上次存取时间上次存取时间当前文件大小当前文件大小当前的逻辑位置当前的逻辑位置 文件建立时间文件建立时间记录长度记录长度进程访问文件所用的逻辑单元号进程访问文件所用的逻辑单元号口令口令文件类型文件类型共享访问时等待状态共享访问时等待状态存取控制存取控制文件结构文件结构 当前共享的状态当前共享的状态物理位置物理位置 文件标识符文件标识符 指向下一个指向下一个PCBPCB的指针的指针文件设备文件设备文件名文件名第第6章章 文件管理文件管理MS-DOS的文件控制块的文件控制块 第第6章章 文件管理文件管理微软的Windows98文件系统最
57、初依赖于MS-DOS的文件系统,其目录结构在与MS-DOS基本相同的基础上,利用了MS-DOS目录结构中保留的10位Windows 98文件系统中的目录项第第6章章 文件管理文件管理6.4目录管理1. 文件目录给定给定一个文件名一个文件名,通过,通过查找查找文件目录便可文件目录便可找到该文件对应的找到该文件对应的目录项目录项(即(即FCB)。)。文件与文件控制块是文件与文件控制块是一一对应一一对应的。的。文件控制块的文件控制块的有序集合有序集合构成文件目录,构成文件目录,每每个个目录项即是目录项即是一个一个文件控制块。文件控制块。第第6章章 文件管理文件管理6.4目录管理2. 目录文件为了实现
58、文件目录的管理,通常将文件目录为了实现文件目录的管理,通常将文件目录以以文件文件的形式保存在的形式保存在外存空间外存空间,这个文件就被,这个文件就被称为称为目录文件目录文件。文件目录文件目录是需要长期保存的是需要长期保存的目录文件是目录文件是长度固定长度固定的的记录式记录式文件。文件。第第6章章 文件管理文件管理2索引结点索引结点的引入:提高检索文件的效率。索引结点的引入:提高检索文件的效率。采用把文件名与文件描述信息分开的办法采用把文件名与文件描述信息分开的办法。即。即把文件描述信息单独形成一个称为索引结点的把文件描述信息单独形成一个称为索引结点的数据结构,简称为数据结构,简称为i结点;结点
59、;索引结点第第6章章 文件管理文件管理图图UNIX的文件目录的文件目录0 131415文件名文件名索引结点编号索引结点编号文件名文件名1文件名文件名1第第6章章 文件管理文件管理2索引结点UNIX文件目录将FCB分为文件名文件名其余文件说明信息其余文件说明信息inodeinode号号文件名文件名其余文件说明信息其余文件说明信息inode号号文件名文件名其余文件说明信息其余文件说明信息inode号号索引结点区,索引结点区,并按照索引结并按照索引结点编号排序点编号排序同级目录构成同级目录构成一个目录文件一个目录文件第第6章章 文件管理文件管理第第6章章 文件管理文件管理2)磁盘索引结点(1)文件主
60、标识符。(2)文件类型。(3)文件存取权限。(4)文件物理地址。(5)文件长度。(6)文件连接计数。(7)文件存取时间。第第6章章 文件管理文件管理(1)索引结点编号。 用于标识内存索引结点。(2)状态。 指示i结点是否上锁或被修改。(3)访问计数。 每当有一进程要访问此i结点时, 将该访问计数加1, 访问完再减1。 (4)文件所属文件系统的逻辑设备号。(5)链接指针。 设置有分别指向空闲链表和散列队列的指针。3) 内存索引结点第第6章章 文件管理文件管理6.4.2目录结构文件目录的组织与管理是文件管理中的一个重要方面,一般有单级目录结构、二级目录结构和多级目录结构。第第6章章 文件管理文件管
61、理6.4.2目录结构目录文件目录文件目录文件目录文件FCBFCB1 1FCBFCB2 2FCBFCBi iFCBFCBn n普通文件普通文件普通文件普通文件一级目录结构一级目录结构一级目录结构一级目录结构整个整个系统系统设置设置一张一张线性目录表线性目录表,表中包括了,表中包括了所有所有文件的文件的文件控制块文件控制块,每个每个文件控制块都文件控制块都指向指向一个一个普通文件。普通文件。1. 单级目录结构第第6章章 文件管理文件管理1.单级目录结构优点: 简单,易实现缺点:文件平均检索时间长文件不能重名,限制了用户对文件的命名限制了对文件的共享第第6章章 文件管理文件管理2两级目录为改变一级目
62、录文件目录命名冲突,并提高对目录文件检索速度。把文件目录分成两级,第一级称为主文件目录(MFD),第二级称为用户文件目录(UFD)。每个用户在主文件目录中都有一个登记项,记录了用户和该用户的用户文件目录的物理地址。而在用户文件目录中,存放该用户每一个文件的文件控制块,第第6章章 文件管理文件管理两级目录结构两级目录结构用户名WangZhangGao指向子目录指针Wang用户目录AlphaTestAlphaTestReportTestZhang用户目录ReportTestGao用户目录BetaDeviceMisxBetaDeviceMisx2两级目录第第6章章 文件管理文件管理2两级目录优点:提
63、高了检索目录的速度;在不同的用户目录中,可能使用相同的文件名;不同用户还可以使用不同文件名来访问系统中的同一个共享文件。缺点:不能对文件分类,当用户文件较多时查找速度慢。第第6章章 文件管理文件管理1)目录结构3.多级目录结构多级目录结构是对二级目录结构的进一步改进,多级目录结构是对二级目录结构的进一步改进,多级目录结构是对二级目录结构的进一步改进,多级目录结构是对二级目录结构的进一步改进,对于大型文件系统,通常采用三级或三级以上对于大型文件系统,通常采用三级或三级以上的目录结构。的目录结构。多级目录结构又称为多级目录结构又称为树型目录结构树型目录结构,主目录在,主目录在这里被称为根目录,把数
64、据文件称为树叶,其这里被称为根目录,把数据文件称为树叶,其它的目录均作为树的结点。它的目录均作为树的结点。第第6章章 文件管理文件管理3.多级目录结构根根目录目录文件文件第第6章章 文件管理文件管理2)路径名从从根结点出发根结点出发到到任一非叶结点或树叶结点都任一非叶结点或树叶结点都有且仅有有且仅有一条路径,该路径上的全部分支组成一条路径,该路径上的全部分支组成了了一个全路径名一个全路径名。采用多级目录结构时,采用多级目录结构时,文件名文件名为为一个路径名一个路径名。第第6章章 文件管理文件管理3)当前目录为了提高文件检索速度,文件系统向用户提供了一个当前正在使用的目录,称为当前目录(也称工作
65、目录)。查找一个文件可从当前目录开始,使用部分路径名当前目录可根据需要任意改变。当前目录可根据需要任意改变。当前目录一般存放在内存。当前目录一般存放在内存。第第6章章 文件管理文件管理3.多级目录结构优点:层次结构清晰,便于管理和保护;有利于文件分类;解决重名问题;提高文件检索速度;能进行存取权限的控制。缺点:查找一个文件按路径名逐层检查,由于每个文件都放在外存,多次访盘影响速度。第第6章章 文件管理文件管理4.增加和删除目录在树型目录结构中,用户可为自己建立UFD,并可再创建子目录。对于一个已不再需要的目录,应如何删除其目录项。(1)不删除非空目录。(2)可删除非空目录。第第6章章 文件管理
66、文件管理6.4.3目录查询技术1线性检索法线性检索法又称为线性检索法又称为顺序检索法顺序检索法。在单级目录中,。在单级目录中,利用用户提供的文件名,用顺序查找法直接从利用用户提供的文件名,用顺序查找法直接从文件目录中找到指名文件的目录项。在树型目文件目录中找到指名文件的目录项。在树型目录中,用户提供的文件名是由多个文件分量名录中,用户提供的文件名是由多个文件分量名组成的路径名,此时须对多级目录进行查找。组成的路径名,此时须对多级目录进行查找。过程:文件名过程:文件名过程:文件名过程:文件名目录目录目录目录FCBFCB或索引结点或索引结点或索引结点或索引结点盘块号盘块号盘块号盘块号启动磁盘启动磁
67、盘启动磁盘启动磁盘驱动程序驱动程序驱动程序驱动程序第第6章章 文件管理文件管理1* *1* * *4bin7dev14lib9etc6usr8tmp在结点在结点6中查找中查找usr字段字段根目录根目录132结点结点6是是/usr的目录的目录6* *1* * *19dick30erik51jim26ast45bal132号盘是号盘是/usr的目录的目录496结点结点26是是/usr/ast的目录的目录26* *6* * *64grants92books60mbox81minik17src496号盘块是号盘块是/usr/ast的目录的目录查找/usr/ast/mbox的步骤第第6章章 文件管理文件
68、管理2Hash方法如果我们建立了一张Hash索引文件目录,便可利用Hash方法进行查询,将显著地提高检索速度。对于使用了通配符的文件名,系统此时便无法利用Hash方法检索目录,因此,这时系统还是需要利用线性查找法查找目录。在进行文件名的转换时,有可能产生在进行文件名的转换时,有可能产生“冲突冲突”第第6章章 文件管理文件管理2Hash方法一种处理“冲突”的有效规则是:(3)如果在目录表的相应目录项中的文件名与指如果在目录表的相应目录项中的文件名与指定文件名不匹配,则表示发生了定文件名不匹配,则表示发生了“冲突冲突”,此时,此时须将其须将其Hash值再加上一个常数,再重新查找。值再加上一个常数,
69、再重新查找。(1)如果目录表中相应的目录项是空的,则表示如果目录表中相应的目录项是空的,则表示系统中并无此文件。系统中并无此文件。(2)如果目录项中的文件名与指定文件名相同,如果目录项中的文件名与指定文件名相同,则表示该目录项正是所要寻找的文件。则表示该目录项正是所要寻找的文件。第第6章章 文件管理文件管理6.5文件存储空间的管理存储空间管理是文件系统的重要任务之一。存储空间管理是文件系统的重要任务之一。由于文件存储设备是分成若干个大小相等物理块,并以块为单位来交换信息的,因此,文件存储空间的管理实质上是一个空闲块的组织和管理问题,空闲块的分配和回收等几个问题。第第6章章 文件管理文件管理6.
70、5文件存储空间的管理常用的辅存空间的管理方法有以下几种。1空闲块表法2空闲块链法3位示图法4.成组链接法第第6章章 文件管理文件管理1空闲表法文件系统建立文件系统建立一张一张空闲表,该表记录有空闲表,该表记录有全部全部空闲空闲的物理块;的物理块;每个空闲区对应于一个空每个空闲区对应于一个空闲表项,闲表项,包括包括首空闲块号首空闲块号和和空闲块个数空闲块个数。空闲表法属于连续分配方式空闲表法属于连续分配方式1) 空闲表第第6章章 文件管理文件管理序号序号序号序号 首空闲块号首空闲块号首空闲块号首空闲块号 空闲块个数空闲块个数空闲块个数空闲块个数 1 12 24 42 2383817173 359
71、599 9空闲盘块表空闲盘块表空闲盘块表空闲盘块表 第第6章章 文件管理文件管理2)存储空间的分配与回收建建立立新新文文件件时时,系系统统查查找找空空闲闲块块表表,寻寻找找合合适适的的表项,表项,分配分配一组一组连续连续的空闲块。的空闲块。如如果果对对应应表表项项所所拥拥有有空空闲闲块块个个数数等等于于所所申申请请值值,就就将该表项从空闲块表中将该表项从空闲块表中删去删去。当当删删除除文文件件时时,系系统统收收回回它它所所占占用用的的物物理理块块,考考虑虑是是否否可可以以与与原原有有空空闲闲块块相相邻邻接接,合合并并成成更更大大的的空闲区域,最后空闲区域,最后修改修改有关表项。有关表项。空闲块
72、表空闲块表适合适合物理结构为物理结构为顺序结构顺序结构的文件系统。的文件系统。第第6章章 文件管理文件管理2空闲链表法根据构成链所用基本元素的不同,可把链表分成两种形式:空闲盘块链空闲盘区链系统将系统将所有所有的的空闲空闲物理块连成物理块连成一个链一个链,用一个指,用一个指针(针(空闲块首指针空闲块首指针)指向)指向第一个第一个空闲块,然后空闲块,然后每每个个空闲块含有空闲块含有指向下一个指向下一个空闲块的指针,空闲块的指针,最后一最后一块块的指针为的指针为空空,表示,表示链尾链尾。第第6章章 文件管理文件管理2空闲链表法第第6章章 文件管理文件管理6.5.2位示图法利利用用一一串串二二进进制
73、制位位(bit)的的值值来来反反映映磁磁盘盘空空间间的分配使用情况。的分配使用情况。每每一个一个磁盘物理磁盘物理块块对应对应一个一个二进制二进制位位,如果物,如果物理块为理块为空闲空闲,则相应的二进位为,则相应的二进位为0;如果物理;如果物理块块已分配已分配,则相应的二进位为,则相应的二进位为1,描述能力强,适合各种物理结构描述能力强,适合各种物理结构基本思想:第第6章章 文件管理文件管理6.5.2位示图法位示图位示图12345678910 1112 13 14 15 16111000111001001102000111111000011131110001111110000416第第6章章 文
74、件管理文件管理2)盘块的分配(1)顺顺序序扫扫描描位位示示图图,从从中中找找出出一一个个或或一一组组其其值值为为“0”的二进制位的二进制位(“0”表示空闲时表示空闲时)。(2)将将所所找找到到的的一一个个或或一一组组二二进进制制位位,转转换换成成与与之之相相应应的的盘盘块块号号。假假定定找找到到的的其其值值为为“0”的的二二进进制制位位,位位于于位位示示的的第第i行行、第第j列列,则则其其相相应应的的盘盘块块号号应按下式计算:应按下式计算:b=n(i-1)+j(3)修改位示图,修改位示图,令令mapi,j=1。6.5.2位示图法第第6章章 文件管理文件管理3)盘块的回收(2)修改位示图。修改位
75、示图。令令mapi,j=0。(1)将将回回收收盘盘块块的的盘盘块块号号转转换换成成位位示示图图中中的的行行号和列号。转换公式为:号和列号。转换公式为:i=(b-1)DIVn+1j=(b-1)MODn+16.5.2位示图法第第6章章 文件管理文件管理6.5.3成组链接法空闲块表法和空闲链法都适用小型文件系统,否则会使空闲块表和空闲块链太长。成组链接法既克服二者的不足,又可集两种方法的优点于一身,是大型文件系统经常采用的方法。第第6章章 文件管理文件管理1空闲盘块的组织(3)将将每每一一组组含含有有的的盘盘块块总总数数N和和该该组组所所有有的的盘盘块块号号记记入入其其前前一一组组的的第第一一个个盘
76、盘块块的的S.free(0)S.free(99)中。中。(1)空空闲闲盘盘块块号号栈栈用用来来存存放放当当前前可可用用的的一一组组空空闲闲盘盘块块的的盘盘块块号号(最最多多含含100个个号号),以以及及栈栈中中尚尚有有的的空空闲盘块号数闲盘块号数N。N还兼作还兼作栈顶指针栈顶指针用。用。(2)文件区中的所有空闲盘块被分成若干个组。文件区中的所有空闲盘块被分成若干个组。第第6章章 文件管理文件管理1空闲盘块的组织(4)将将第第一一组组的的盘盘块块总总数数和和所所有有的的盘盘块块号号记记入入空空闲闲盘块号栈盘块号栈中,作为当前可供分配的空闲盘块号。中,作为当前可供分配的空闲盘块号。(5)最最末末一
77、一组组只只有有99个个盘盘块块,其其盘盘块块号号分分别别记记入入其其 前前 一一 组组 的的 S.free(1) S.free(99)中中 , 而而 在在S.free(0)中中则则存存放放“0”,作作为为空空闲闲盘盘块块链链的的结结束束标志。标志。第第6章章 文件管理文件管理空闲盘块的成组链接法空闲盘块的成组链接法100400399301300100300299.202201299.100400399.201301.9907999790179007899.78017999.7901空闲盘空闲盘块号栈块号栈S.free019899第第6章章 文件管理文件管理为为用用户户分分配配文文件件所所需需的
78、的盘盘块块时时,从从栈栈顶顶取取出出一一空空闲盘块号,将与之对应的盘块分配给用户。闲盘块号,将与之对应的盘块分配给用户。2.空闲盘块的分配与回收若若该该盘盘块块号号已已是是栈栈底底,即即S.free(0)S.free(0),这这是是当当前前栈栈中中最最后后一一个个可可供供分分配配的的盘盘块块号号。由由于于在在该该盘盘块块号所对应的号所对应的盘块中盘块中即有即有下一组可用的盘块号下一组可用的盘块号因因此此须须调调用用磁磁盘盘读读过过程程,将将该该盘盘块块内内容容读读入入栈栈中中,作作为为盘盘块块号号栈栈的的新新内内容容,并并把把原原栈栈底底盘盘块块分分配配出出去。去。第第6章章 文件管理文件管理
79、在在系系统统回回收收空空闲闲盘盘块块时时。它它是是将将回回收收盘盘块块的的盘盘块块号号记记入入空空闲闲盘盘块块号号栈栈的的顶顶部部,并并执执行行空空闲闲盘盘块数加块数加1 1操作。操作。 2.空闲盘块的分配与回收当栈中当栈中空闲盘块号空闲盘块号数目已达数目已达100时,表示栈已时,表示栈已满满,便将现有栈中的便将现有栈中的100个个盘块号盘块号,记入新回收的盘记入新回收的盘块中块中,再将其盘块号作为,再将其盘块号作为新栈底新栈底。第第6章章 文件管理文件管理6.6文件共享与文件保护文件共享文件共享是指一个文件被多个用户或程序使用是指一个文件被多个用户或程序使用利用文件共享可以利用文件共享可以实
80、现实现进程间相互通信。进程间相互通信。文件共享不仅是文件共享不仅是完成完成共同任务所必需,而且还共同任务所必需,而且还带来许多好处:带来许多好处:节省节省文件所占用的存储空间;文件所占用的存储空间;免免除除系统复制文件的工作;系统复制文件的工作;减少减少用户大量重复性劳用户大量重复性劳动;动;减少减少实际输入输出文件的次数。实际输入输出文件的次数。第第6章章 文件管理文件管理6.6.1基于索引结点的共享方式在树型结构的目录中,当有两个(或多个)用户要共享一个子目录或文件时,必须将共享文件或子目录链接到两个(或多个)用户的目录中,才能方便地找到该文件。此时该文件系统的目录结构已不再是树型结构,而
81、是个有向非循环图。用户用户A用户用户B第第6章章 文件管理文件管理包含有共享文件的文件系统包含有共享文件的文件系统 ACBBBCCC根目录根目录B?CCCCBA第第6章章 文件管理文件管理6.6.1基于索引结点的共享方式如果在文件目录中包含了文件的物理地址。如果文件增加盘块时,则增加的部分不能被共享。将将文文件件的的物物理理地地址址和和文文件件属属性性等等信信息息放放在在索索引引结结点点中中,在在文文件件目目录录中中,设设文文件件名名及及指指向向索索引引结结点点的的指指针针,另另外外在在索索引引结结点点中中增增加加链链接接计计数数count,count,表示共享的用户数。表示共享的用户数。解决
82、办法:第第6章章 文件管理文件管理Wang用户文件目录用户文件目录TestrLee用户文件目录用户文件目录TestrCount2文件物理地址文件物理地址索引结点索引结点Test基于索引结点的共享方式基于索引结点的共享方式第第6章章 文件管理文件管理进程进程B链接前后的情况链接前后的情况C的目录的目录OwnercCount1链接前链接前C的目录的目录OwnercCount2建立链接后建立链接后B的目录的目录B的目录的目录OwnercCount1拥有者删除链接后拥有者删除链接后第第6章章 文件管理文件管理6.6.1基于索引结点的共享方式硬连接:两个文件目录表目指向同一个索引节点的链接。link(o
83、ldname,newname);执行步骤如下:link(“/bin/ls”,“/usr/dir”);根目录文件根目录文件文件体文件体binbootunixusrmntetctmpdeyI=2I=3I=4I=5I=2ls10I=5I=1.根目录索引节点根目录索引节点usr目录文件目录文件I=10bin目录目录文件文件di_nlink+1.dir.10缺点:文件删除不方便。缺点:文件删除不方便。第第6章章 文件管理文件管理6.6.2利用符号链实现文件共享共享某文件时,创建一新文件,并加到用户目共享某文件时,创建一新文件,并加到用户目录中,该文件仅包含被链接文件录中,该文件仅包含被链接文件F的路径名
84、。的路径名。符号链接该链接方式中,新文件中的路径名则只被看作该链接方式中,新文件中的路径名则只被看作是符号链,只有文件主才拥有指向其索引结点是符号链,只有文件主才拥有指向其索引结点的指针,其它共享的用户只有该文件的路径名。的指针,其它共享的用户只有该文件的路径名。第第6章章 文件管理文件管理软连接v也称符号链接,生成符号链接文件时,将新文件登记在该用户共享目录项中,文件内容为被链接文件的路径名。根目录文件根目录文件文件体文件体binbootunixusrmntetctmpdeyI=2I=3I=4I=5I=2ls10I=5I=1.根目录索引节点根目录索引节点usr目录文件目录文件I=10bin目
85、录目录文件文件.dir.11I=11文件体文件体/bin/ls举例举例:ln-s/bin/ls/usr/dir6.6.2利用符号链实现文件共享第第6章章 文件管理文件管理6.6.2利用符号链实现文件共享优点:是它能够是它能够方便地链接方便地链接世界上任何地方的计算机世界上任何地方的计算机中的文件,此时只需提供该文件所在机器的网中的文件,此时只需提供该文件所在机器的网络地址以及该机器中的文件路径即可。络地址以及该机器中的文件路径即可。访问共享文件时开销大(多次读盘,浪费盘空访问共享文件时开销大(多次读盘,浪费盘空间),每一共享文件都要增加一文件名(因路间),每一共享文件都要增加一文件名(因路径名
86、各不相同)径名各不相同)缺点:第第6章章 文件管理文件管理6.6.3磁盘容错技术影响文件安全性的主要因素有三:(1)人为因素人为因素,即由于人们有意或无意的行为,即由于人们有意或无意的行为,而使文件系统中的数据遭到破坏或丢失。而使文件系统中的数据遭到破坏或丢失。(2)系统因素系统因素,即由于系统的某部分出现异常情,即由于系统的某部分出现异常情况,而造成对数据的破坏或丢失。况,而造成对数据的破坏或丢失。(3)自然因素自然因素,即存放在磁盘上的数据,随着时,即存放在磁盘上的数据,随着时间的推移将可能发生溢出或逐渐消失。间的推移将可能发生溢出或逐渐消失。第第6章章 文件管理文件管理6.6.3磁盘容错
87、技术为了确保文件系统的安全性,可针对上述原因而采取以下措施:(1)通过存取控制机制来防止由人为因素所造成通过存取控制机制来防止由人为因素所造成的文件不安全性。的文件不安全性。(2)通过磁盘容错技术,来防止由磁盘部分的故通过磁盘容错技术,来防止由磁盘部分的故障所造成的文件不安全性。障所造成的文件不安全性。(3)通过通过“后备系统后备系统”来防止由自然因素所造成来防止由自然因素所造成的不安全性。的不安全性。第第6章章 文件管理文件管理1第一级容错技术SFT-第一级容错技术(SFT-)是最基本的一种磁盘容错技术,主要用于防止因磁盘表面缺陷所造成的数据丢失。1)双份目录和双份文件分配表在不同的磁盘上或
88、在磁盘的不同区域中,分别在不同的磁盘上或在磁盘的不同区域中,分别建立建立(双份双份)目录表和目录表和FAT。其中一份为主目录及。其中一份为主目录及主主FAT;另一份为备份目录及备份;另一份为备份目录及备份FAT。第第6章章 文件管理文件管理1第一级容错技术SFT-2)热修复重定向和写后读校验(1)热修复重定向:热修复重定向:将磁盘容量的一部分作为热将磁盘容量的一部分作为热修复重定向区,用于存放坏磁盘的待写数据。修复重定向区,用于存放坏磁盘的待写数据。(2)写后读校验方式:写后读校验方式:从内存缓冲区向磁盘中写从内存缓冲区向磁盘中写入一个数据块后,又立即从磁盘上读出该数据块,入一个数据块后,又立
89、即从磁盘上读出该数据块,并与写入缓冲区的内容进行比较。若两者不一致,并与写入缓冲区的内容进行比较。若两者不一致,重写。若重写后两者仍不一致,重写入热修复重重写。若重写后两者仍不一致,重写入热修复重定向区,标记坏盘块。定向区,标记坏盘块。第第6章章 文件管理文件管理2第二级容错技术SFT-第二级容错技术主要用于防止由磁盘驱动器和磁盘控制器故障所导致的系统不能正常工作磁盘镜像虽然实现了容错功能,却使磁盘的利用磁盘镜像虽然实现了容错功能,却使磁盘的利用率降至仅为率降至仅为50%。在同一磁盘控制器下再增设一个完全相同的磁在同一磁盘控制器下再增设一个完全相同的磁盘驱动器。在每次向主磁盘写入数据后,都将数
90、盘驱动器。在每次向主磁盘写入数据后,都将数据再写到备份磁盘上。据再写到备份磁盘上。1)磁盘镜像(DiskMirroring)第第6章章 文件管理文件管理磁磁盘盘控控制制器器主主机机通道通道磁盘驱动器磁盘驱动器磁盘镜像示意图磁盘镜像示意图 第第6章章 文件管理文件管理2第二级容错技术SFT-2)磁盘双工(DiskDuplexing)磁盘双工,即将两台磁盘驱动器分别接到两个磁磁盘双工,即将两台磁盘驱动器分别接到两个磁盘控制器上,同样使这两台磁盘机镜像成对。盘控制器上,同样使这两台磁盘机镜像成对。在磁盘双工时,文件服务器同时将数据写到两个在磁盘双工时,文件服务器同时将数据写到两个处于不同控制器下的磁
91、盘上,使两者有完全相同处于不同控制器下的磁盘上,使两者有完全相同的位像图。的位像图。特点:每个磁盘有自己独立的通道,可同时将数特点:每个磁盘有自己独立的通道,可同时将数据写入,加块数据读取速度。据写入,加块数据读取速度。第第6章章 文件管理文件管理主主机机磁盘磁盘控制器控制器磁盘磁盘控制器控制器通道通道通道通道磁盘驱动器磁盘驱动器磁盘双工示意图磁盘双工示意图第第6章章 文件管理文件管理3基于集群技术的容错功能所谓集群,是指由一组互连的自主计算机组成统所谓集群,是指由一组互连的自主计算机组成统一的计算机系统,给人们的感觉是,它们是一台一的计算机系统,给人们的感觉是,它们是一台机器。机器。其主要工
92、作模式有三种:热备份模式;互为备份模式;公用磁盘模式。利用集群系统不仅可提利用集群系统不仅可提高系统的并行处理能力,高系统的并行处理能力,还可用于提高系统的可还可用于提高系统的可用性。用性。第第6章章 文件管理文件管理3基于集群技术的容错功能1)双机热备份模式在这种模式的系统中,备有两台服务器,两者的在这种模式的系统中,备有两台服务器,两者的处理能力通常是完全相同的,一台作为主服务器,处理能力通常是完全相同的,一台作为主服务器,另一台作为备份服务器。另一台作为备份服务器。平时主服务器运行,备份服务器则时刻监视着主服平时主服务器运行,备份服务器则时刻监视着主服务器的运行,一旦主服务器出现故障,备
93、份服务器务器的运行,一旦主服务器出现故障,备份服务器便立即接替主服务器的工作而成为主服务器。便立即接替主服务器的工作而成为主服务器。第第6章章 文件管理文件管理主服务器主服务器MSL备用服务器备用服务器传输介质传输介质双机热备份模式双机热备份模式第第6章章 文件管理文件管理3基于集群技术的容错功能2)双机互为备份模式平时,两台服务器均为在线服务器,它们各自平时,两台服务器均为在线服务器,它们各自完成自己的任务,在互为备份的模式中,最好完成自己的任务,在互为备份的模式中,最好在每台服务器内都配置两台硬盘,一个用于装在每台服务器内都配置两台硬盘,一个用于装载系统程序和应用程序,另一个用于接收由另载
94、系统程序和应用程序,另一个用于接收由另一台服务器发来的备份数据,作为该服务器的一台服务器发来的备份数据,作为该服务器的镜像盘。镜像盘。第第6章章 文件管理文件管理3基于集群技术的容错功能如果某台服务器发生了故障,则由正常服务器如果某台服务器发生了故障,则由正常服务器向故障服务器的客户机发出广播信息,表明要向故障服务器的客户机发出广播信息,表明要进行切换。在切换成功后,客户机无需重新登进行切换。在切换成功后,客户机无需重新登录便可继续使用网络提供的服务和访问服务器录便可继续使用网络提供的服务和访问服务器上的数据。上的数据。两台服务器都可用于处理任务,因而系统效率两台服务器都可用于处理任务,因而系
95、统效率较高。较高。优点第第6章章 文件管理文件管理数据库数据库服务器服务器电子邮件电子邮件服务器服务器交交换换集集线线器器路由器路由器X.25具有两台具有两台硬盘硬盘具有两台具有两台硬盘硬盘FDDI单模光单模光纤纤双机互为备份系统的示意图双机互为备份系统的示意图 3基于集群技术的容错功能第第6章章 文件管理文件管理3基于集群技术的容错功能3)公用磁盘模式将多台计算机连接到一台公共的磁盘系统上去。将多台计算机连接到一台公共的磁盘系统上去。该公共磁盘被划分为若干个卷。每台计算机使该公共磁盘被划分为若干个卷。每台计算机使用一个卷。如果某台计算机发生故障,根据某用一个卷。如果某台计算机发生故障,根据某
96、种调度策略来选择另一台替代机器,后者接替种调度策略来选择另一台替代机器,后者接替故障计算机所承担的任务。故障计算机所承担的任务。这种模式的优点是:消除了信息的复制时间,这种模式的优点是:消除了信息的复制时间,因而减少了网络和服务器的开销。因而减少了网络和服务器的开销。第第6章章 文件管理文件管理6.7数据一致性控制数据一致性,是数据应用中必须解决的一个重要数据一致性,是数据应用中必须解决的一个重要问题。问题。是指事务执行的结果必须是使文件中保存的同一是指事务执行的结果必须是使文件中保存的同一个数据相一致。个数据相一致。数据一致性第第6章章 文件管理文件管理6.7.1事务 1. 事务的定义事务是
97、用于访问和修改各种数据项的一个程序单位。事务是用于访问和修改各种数据项的一个程序单位。事务也可以被看做是一系列相关读和写操作。事务也可以被看做是一系列相关读和写操作。1.操作全部完成操作全部完成2.事务夭折事务夭折。以托付操作以托付操作来终止事务来终止事务将该事务内刚被修将该事务内刚被修改的数据项恢复成改的数据项恢复成原来的情况。原来的情况。第第6章章 文件管理文件管理2事务记录(TransactionRecord)为了实现上述的原子修改,通常须借助于称为事务记录的数据结构来实现。该记录中包括有下列字段:1.事务名事务名:用于标识该事务的惟一名字;:用于标识该事务的惟一名字;2.数据项名数据项
98、名:指被修改数据项的惟一名字;:指被修改数据项的惟一名字;3.旧值旧值:修改前数据项的值;:修改前数据项的值;4.新值新值:修改后数据项将具有的值。:修改后数据项将具有的值。第第6章章 文件管理文件管理3.恢复算法恢复算法可利用以下两个过程:(1)undoTi:该过程把所有被事务:该过程把所有被事务Ti修改过修改过的数据,恢复为修改前的值。的数据,恢复为修改前的值。(2)redoTi:该过程能把所有被事务:该过程能把所有被事务Ti修改过修改过的数据,设置为新值。的数据,设置为新值。如果系统发生故障,系统应对以前所发生的事务进行清理。第第6章章 文件管理文件管理6.8.2检查点1.检查点(Che
99、ckPoints)的作用引入检查点的主要目的,是使对事务记录表引入检查点的主要目的,是使对事务记录表中事务记录的清理工作经常化,即每隔一定中事务记录的清理工作经常化,即每隔一定时间便做一次清理工作。时间便做一次清理工作。每当出现一个每当出现一个检查点检查点记录时,系统便利记录时,系统便利用用redo和和undo过程实现恢复功能。过程实现恢复功能。第第6章章 文件管理文件管理2新的恢复算法恢复例程首先查找事务记录表,确定在最近检查恢复例程首先查找事务记录表,确定在最近检查点以前开始执行的最后的事务点以前开始执行的最后的事务Ti,并利用,并利用redo和和undo过程对它们进行处理。过程对它们进行
100、处理。如果把所有在事务如果把所有在事务Ti以后开始执行的事务表示为以后开始执行的事务表示为事务集事务集T,则新的恢复操作要求是,则新的恢复操作要求是:对所有在对所有在T中的事务中的事务TK,如果在事务记录表中出现了,如果在事务记录表中出现了TK托付托付记录,则执行记录,则执行redoTK操作;操作;反之,则执行反之,则执行undoTK操作。操作。第第6章章 文件管理文件管理6.7.3并发控制由于事务具有原子性,这使各个事务的执行必然是按某种次序依次执行的,只有在一个事务执行完后,才允许另一事务执行。人们把这种特性称为顺序性。把用于实现事务顺序性的技术称为并发控制。利用互斥锁实现利用互斥锁实现“
101、顺序性顺序性”利用互斥锁和共享锁实现顺序性利用互斥锁和共享锁实现顺序性第第6章章 文件管理文件管理1利用互斥锁实现“顺序性”实现顺序性的一种最简单的方法是,设置一种用于实现互斥的锁,简称为互斥锁(ExclusiveLock)。在利用互斥锁实现顺序性时,应为每一个共享对象设置一把互斥锁。当一事务Ti要去访问某对象时,应先获得该对象的互斥锁。若成功,便用该锁将该对象锁住,于是事务Ti便可对该对象执行读或写操作;而其它事务由于未能获得该锁而不能访问该对象。第第6章章 文件管理文件管理2利用互斥锁和共享锁实现顺序性利用互斥锁实现顺序性的方法简单易行。但这却存在着效率不高的问题。为了提高运行效率而又引入
102、了另一种形式的锁共享锁。共享锁与互斥锁的区别在于:互斥锁仅允许一个事务对相应对象执行读或写操作,而共享锁则允许多个事务对相应对象执行读操作,不允许其中任何一个事务对对象执行写操作。第第6章章 文件管理文件管理6.7.4重复数据的数据一致性问题1重复文件的一致性对于通常的UNIX文件目录,其每个目录项中含有一个ASCII码的文件名和一个索引结点号,后者指向一个索引结点。当有重复文件时,一个目录项可由一个文件名和若干个索引结点号组成,每个索引结点号都是指向各自的索引结点。第第6章章 文件管理文件管理文件名文件名i结点结点文件文件117文件文件222文件文件312文件文件484文件名文件名i结点结点
103、文件文件1171940文件文件2227291文件文件3123029文件文件4841566UNIX类型的目录类型的目录 第第6章章 文件管理文件管理1重复文件的一致性在有重复文件时,如果一个文件拷贝被修改,则必须也同时修改其它几个文件拷贝。这可采用两种方法来实现:第一种方法是当一个文件被修改后,可查找文件第一种方法是当一个文件被修改后,可查找文件目录,然后对这些拷贝做同样的修改;目录,然后对这些拷贝做同样的修改;第二种方法是为新修改的文件建立几个拷贝,并第二种方法是为新修改的文件建立几个拷贝,并用新拷贝去取代原来的文件拷贝。用新拷贝去取代原来的文件拷贝。第第6章章 文件管理文件管理2盘块号一致性
104、的检查为了描述盘块的使用情况,通常利用空闲盘块表(链)来记录所有尚未使用的空闲盘块的编号。文件分配表FAT则是用于记录已分配盘块的使用情况。由于OS经常访问这些数据结构,而如果正在修改时,机器突然发生故障,此时也会使盘块数据结构中的数据产生不一致性现象。因此,在每次启动机器时,都应该检查相应的多个数据结构,看它们之间是否保持了数据的一致性。第第6章章 文件管理文件管理盘块号盘块号计数器组计数器组012345678910 11 12 13 14 15 空闲盘块号计数器组空闲盘块号计数器组1101011110011100数据盘块号计数器组数据盘块号计数器组0010100001100011盘块号盘块
105、号计数器组计数器组0123456789 10 11 12 13 14 15 空闲盘块号计数器组空闲盘块号计数器组1101011110011100数据盘块号计数器组数据盘块号计数器组0000100001100011(a)正常情况盘块号正常情况盘块号(b)丢失了盘块盘块号丢失了盘块盘块号第第6章章 文件管理文件管理盘块号盘块号计数器组计数器组0123456789 10 11 12 13 14 15 空闲盘块号计数器组空闲盘块号计数器组1101021110011100数据盘块号计数器组数据盘块号计数器组0010100001100011盘块号盘块号计数器组计数器组0123456789 10 11 12
106、 13 14 15 空闲盘块号计数器组空闲盘块号计数器组1101011110011100数据盘块号计数器组数据盘块号计数器组0000200001100011(c)空闲盘块号重复出现盘块号空闲盘块号重复出现盘块号(d)数据盘块号重复出现数据盘块号重复出现第第6章章 文件管理文件管理3.链接数一致性检查 配置一张计数器表,为每个文件建立一个表项,记录该索引结点号的计数值。检查时,从根目录开始查找,当在目录中遇到该索引结点号时,在该计数器表中相应文件的表项上加1。检查完后,将该计数器表中每个表项中的索引结点号计数值与该文件索引结点中的链接计数count值加以比较,如果两者一致,表示是正确的;否则,便是发生了链接数据不一致的错误。第第6章章 文件管理文件管理Any Question?Thank you !