第5章 文件管理_第1页
第5章 文件管理_第2页
第5章 文件管理_第3页
第5章 文件管理_第4页
第5章 文件管理_第5页
已阅读5页,还剩99页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第5章 文件管理 主要内容:主要内容: 本章主要讲解文件的相关知识,以及操作系统中最本章主要讲解文件的相关知识,以及操作系统中最为重要的一部分为重要的一部分文件系统。主要介绍文件的基本概文件系统。主要介绍文件的基本概念,文件的结构,文件的存取方法和存储设备,目录的念,文件的结构,文件的存取方法和存储设备,目录的管理以及文件的使用等知识点。管理以及文件的使用等知识点。学习任务:学习任务: 5.1 5.1 文件管理概述文件管理概述 5.2 5.2 文件的结构文件的结构 5.3 5.3 文件存取方法和存储设备文件存取方法和存储设备 5.4 5.4 目录管理目录管理 5.5 5.5 文件的使用文件的使

2、用 第第5章章 文件管理文件管理 第5章 文件管理 5.1 文件管理概述文件管理概述5.1.1 文件和文件系统文件和文件系统1. 文件的概念文件的概念(1)文件的定义)文件的定义 文件是一组赋名的相关联字符流的集合。文件是一组赋名的相关联字符流的集合。 (无结构文件)(无结构文件) 文件是相关联的记录的集合。(有结构文件)文件是相关联的记录的集合。(有结构文件)可以把数据的组成分为数据项、记录、文件三级。可以把数据的组成分为数据项、记录、文件三级。第5章 文件管理 基本数据项。这是用于描述一个对象的某种基本数据项。这是用于描述一个对象的某种属性的字符集,是数据组织中可以命名的最属性的字符集,是

3、数据组织中可以命名的最小逻辑数据单位,小逻辑数据单位, 即原子数据,又称为数据即原子数据,又称为数据元素或字段。元素或字段。 记录是一组相关数据项的集合,用于描述一记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。个对象在某方面的属性。文件记录 1记录 2记录 n数据项 1数据项 2数据项 n第5章 文件管理 2. 文件的命名文件的命名 一般情况下文件名包含两部分的内容,即: 主文件名和扩展名。 标准格式为: . 3. 文件的属性文件的属性 不同的文件通常有不同类型和数量的文件属性。 第5章 文件管理 常见的文件属性:常见的文件属性:文件名、文件内部标识符、文件的物理位文件名、文件内

4、部标识符、文件的物理位置、文件的拥有者、文件的存取控制、置、文件的拥有者、文件的存取控制、文件的类型、文件的时间等。文件的类型、文件的时间等。第5章 文件管理 2. 文件系统文件系统(1)文件系统的结构)文件系统的结构 文件系统是操作系统中实行对文件的组织、文件系统是操作系统中实行对文件的组织、管理和存放的系统程序,文件系统是用户和外管理和存放的系统程序,文件系统是用户和外存之间的接口。存之间的接口。 命令接口、程序接口命令接口、程序接口文件存储空间、文件文件存储空间、文件目录、文件读写及共目录、文件读写及共享、保护等享、保护等文件、目录、磁盘文件、目录、磁盘第5章 文件管理 用户接口用户接口

5、存储设备分配与策略模块存储设备分配与策略模块符号文件系统符号文件系统 启动启动I/O基本文件系统基本文件系统逻辑文件系统逻辑文件系统存取控制验证存取控制验证物理文件系统物理文件系统获得结果获得结果存取要求存取要求图图 5.3 文件系统的层次模型文件系统的层次模型(2)文件系统)文件系统的层次模型的层次模型:搜索文件目录搜索文件目录得到文件信息得到文件信息检验访问的合法性检验访问的合法性获取文件内容相对地址获取文件内容相对地址相对地址相对地址物理地址物理地址存储设备的管理存储设备的管理具体操作具体操作第5章 文件管理 (3)文件系统的实现)文件系统的实现 在磁盘上,文件系统可能包括如下信在磁盘上

6、,文件系统可能包括如下信息:如何启动所存储的操作系统、磁盘息:如何启动所存储的操作系统、磁盘的总块数、目录结构以及各个具体的文的总块数、目录结构以及各个具体的文件。件。 第5章 文件管理 5.1.2 文件系统的功能文件系统的功能1. 文件系统的主要功能文件系统的主要功能 (1)为了便于存放和加工信息,文件在存储设备为了便于存放和加工信息,文件在存储设备上应该按照一定的顺序进行存放,即把这种存放上应该按照一定的顺序进行存放,即把这种存放方式称为文件的物理结构。方式称为文件的物理结构。(2) 必须对辅助存储器空间进行统一管理。在用必须对辅助存储器空间进行统一管理。在用户创建新文件时,为其分配空闲区

7、而在用户删除户创建新文件时,为其分配空闲区而在用户删除或修改某个文件时,回收和调整存储区。或修改某个文件时,回收和调整存储区。(3) 完成对存放在存储设备上的文件信息的查找。完成对存放在存储设备上的文件信息的查找。(4) 完成文件的共享和提供文件保护。完成文件的共享和提供文件保护。2. 常见的文件系统:常见的文件系统:EXT2、 FAT32、NTFS等。等。 第5章 文件管理 5.1.3 文件的分类文件的分类1. 按照文件的性质分类按照文件的性质分类 (1) 系统文件系统文件 (2) 库文件库文件 (3) 用户文件用户文件2. 按照文件的组织形式分类按照文件的组织形式分类 (1) 普通文件普通

8、文件 (2) 目录文件目录文件 (3) 特殊文件特殊文件 第5章 文件管理 3. 按照文件的存取控制属性分类按照文件的存取控制属性分类 (1) 只读文件只读文件 (2) 读写文件读写文件 (3) 不保护文件不保护文件 (4) 只执行文件只执行文件4. 按照文件的数据形式分类按照文件的数据形式分类 (1) 源文件源文件 (2) 目标文件目标文件 (3) 可执行文件可执行文件第5章 文件管理 5.1.4 文件操作文件操作 1.最基本的文件操作最基本的文件操作创建文件。创建文件。 (2) 删除文件。删除文件。 (3) 读文件。读文件。 (4) 写文件。写文件。 (5) 截断文件。截断文件。 (6)

9、设置文件的读设置文件的读/写位置。写位置。 第5章 文件管理 2. 文件的文件的“打开打开”和和“关闭关闭”操作操作 所谓所谓“打开打开”,是指系统将指名文件的属性,是指系统将指名文件的属性(包括该文件包括该文件在外存上的物理位置在外存上的物理位置)从外存拷贝到内存打开文件表的一个表从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号目中,并将该表目的编号(或称为索引或称为索引)返回给用户。返回给用户。 如果用户已不再需要对该文件实施相应的操作时,可利如果用户已不再需要对该文件实施相应的操作时,可利用用“关闭关闭”(close)系统调用来关闭此文件,系统调用来关闭此文件,OS将会把该文件将

10、会把该文件从打开文件表中的表目上删除掉。从打开文件表中的表目上删除掉。 第5章 文件管理 3. 其它文件操作其它文件操作 为了方便用户使用文件,通常,为了方便用户使用文件,通常,OS都提供了数条有关都提供了数条有关文件操作的系统调用,可将这些调用分成若干类:文件操作的系统调用,可将这些调用分成若干类: 最常用的一类是有关对文件属性进行操作的,即允许用最常用的一类是有关对文件属性进行操作的,即允许用户直接设置和获得文件的属性,如改变已存文件的文件名、户直接设置和获得文件的属性,如改变已存文件的文件名、改变文件的拥有者改变文件的拥有者(文件主文件主)、改变对文件的访问权,以及查、改变对文件的访问权

11、,以及查询文件的状态询文件的状态(包括文件类型、大小和拥有者以及对文件的包括文件类型、大小和拥有者以及对文件的访问权等访问权等); 另一类是有关目录的,如创建一个目录,删除一个目录,另一类是有关目录的,如创建一个目录,删除一个目录,改变当前目录和工作目录等;此外改变当前目录和工作目录等;此外,还有用于实现文件共享,还有用于实现文件共享的系统调用和用于对文件系统进行操作的系统调用等。的系统调用和用于对文件系统进行操作的系统调用等。 第5章 文件管理 5.2 文件的结构文件的结构 文件的结构分为两种,一种是文件的逻辑结文件的结构分为两种,一种是文件的逻辑结构,另一种是文件的物理结构。构,另一种是文

12、件的物理结构。对于任何一个文件,都存在着以下两种形式的结对于任何一个文件,都存在着以下两种形式的结构:构:(1)文件的逻辑结构:指从用户观点出发所观)文件的逻辑结构:指从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于物理特性,又称为文件组据及其结构,它独立于物理特性,又称为文件组织。织。 (2) 文件的物理结构,文件的物理结构, 又称为文件的存储结构,又称为文件的存储结构, 是指文件在外存上的存储组织形式。存储设备不是指文件在外存上的存储组织形式。存储设备不同,相应存储的文件结构也会有所不同。同,相应存储的文件结构也会有

13、所不同。 第5章 文件管理 5.2.1 文件的逻辑结构文件的逻辑结构 1. 选取文件的逻辑结构应该遵循以下的原则:选取文件的逻辑结构应该遵循以下的原则:(1) 在将大批记录组织成文件时,逻辑结构应有在将大批记录组织成文件时,逻辑结构应有利于提高检索记录的速度和效率。利于提高检索记录的速度和效率。(2) 便于在文件中增加、删除和修改一个或多个便于在文件中增加、删除和修改一个或多个记录。记录。(3) 减少文件占用的存储空间,最好不要求大片减少文件占用的存储空间,最好不要求大片的存储空间。的存储空间。(4) 便于用户对文件进行维护。便于用户对文件进行维护。第5章 文件管理 2. 文件逻辑结构的类型文

14、件逻辑结构的类型 有结构文件:有结构文件:(1) 顺序文件。顺序文件。 (2) 索引文件。索引文件。 (3) 索引顺序文件。索引顺序文件。 第5章 文件管理 无结构文件:无结构文件: 大量的源程序、大量的源程序、 可执行文件、可执行文件、 库函数等,库函数等, 所采用的所采用的就是无结构的文件形式,即流式文件。就是无结构的文件形式,即流式文件。 其长度以字节为单其长度以字节为单位。对流式文件的访问,则是采用读写指针来指出下一个位。对流式文件的访问,则是采用读写指针来指出下一个要访问的字符。可以把流式文件看作是记录式文件的一个要访问的字符。可以把流式文件看作是记录式文件的一个特例。特例。 在在U

15、NIX系统中,所有的文件都被看作是流式文件;系统中,所有的文件都被看作是流式文件;即即使是有结构文件,也被视为流式文件;系统不对文件进使是有结构文件,也被视为流式文件;系统不对文件进行格式处理。行格式处理。 第5章 文件管理 3. 顺序文件顺序文件(1)逻辑记录的排序)逻辑记录的排序 第一种是串结构,第一种是串结构, 各记录之间的顺序与关键字无关。各记录之间的顺序与关键字无关。 通常的办法是由时间来决定,即按存入时间的先后排列,通常的办法是由时间来决定,即按存入时间的先后排列, 最先存入的记录作为第一个记录,其次存入的为第二个记最先存入的记录作为第一个记录,其次存入的为第二个记录,录, 依此类

16、推。依此类推。 第二种情况是顺序结构,指文件中的所有记录按关键第二种情况是顺序结构,指文件中的所有记录按关键字字(词词)排列。可以按关键词的长短排列。可以按关键词的长短排序;或按其英文字母排序;或按其英文字母顺序排序。顺序排序。 第5章 文件管理 (2)对顺序文件)对顺序文件(Sequential File)的读的读/写操作写操作 R0R1R2R3RiLLLLLL2L3L4LL(i1)LRptr(a) 定长记录文件L0R0L1R1RiWptr(b) 变 长记录文件Li00L0L01L1L0L12Li(Lk1)i1k0(Lk1)ik0图 6-3 定长和变长记录文件 第5章 文件管理 (3)顺序文

17、件的优缺点)顺序文件的优缺点 顺序文件的最佳应用场合,是在对诸记录进行批量存取时,顺序文件的最佳应用场合,是在对诸记录进行批量存取时, 即每次要读或写一大批记录。此时,对顺序文件的存取效率是即每次要读或写一大批记录。此时,对顺序文件的存取效率是所有逻辑文件中最高的;此外,也只有顺序文件才能存储在磁所有逻辑文件中最高的;此外,也只有顺序文件才能存储在磁带上,带上, 并能有效地工作。并能有效地工作。 在交互应用的场合,如果用户在交互应用的场合,如果用户(程序程序)要求查找或修改单个记要求查找或修改单个记录,为此系统便要去逐个地查找诸记录。录,为此系统便要去逐个地查找诸记录。 这时,这时, 顺序文件

18、所表顺序文件所表现出来的性能就可能很差,现出来的性能就可能很差, 尤其是当文件较大时,尤其是当文件较大时, 情况更为严情况更为严重。重。 例如,有一个含有例如,有一个含有104个记录的顺序文件,如果对它采用个记录的顺序文件,如果对它采用顺序查找法去查找一个指定的记录,则平均需要查找顺序查找法去查找一个指定的记录,则平均需要查找5103个个记录;记录; 如果是可变长记录的顺序文件,如果是可变长记录的顺序文件,则为查找一个记录所需则为查找一个记录所需付出的开销将更大,这就限制了顺序文件的长度。付出的开销将更大,这就限制了顺序文件的长度。 第5章 文件管理 顺序文件的另一个缺点是,顺序文件的另一个缺

19、点是, 如果想增加或删除一个如果想增加或删除一个记录,记录, 都比较困难。都比较困难。 为了解决这一问题,为了解决这一问题, 可以为顺序可以为顺序文件配置一个运行记录文件文件配置一个运行记录文件(Log File)或称为事务文件或称为事务文件(Transaction File), 把试图增加、把试图增加、 删除或修改的信息记删除或修改的信息记录于其中,录于其中, 规定每隔一定时间,规定每隔一定时间, 例如例如4小时,将小时,将运行记运行记录文件与原来的主文件加以合并,录文件与原来的主文件加以合并, 产生一个按关键字排产生一个按关键字排序的新文件。序的新文件。 第5章 文件管理 4. 索引文件索

20、引文件 对于定长记录文件,如果要查找第对于定长记录文件,如果要查找第i个记录,个记录, 可直接根可直接根据下式计算来获得第据下式计算来获得第i个记录相对于第一个记录首址的地址:个记录相对于第一个记录首址的地址: Ai=iL 然而,对于可变长度记录的文件,要查找其第然而,对于可变长度记录的文件,要查找其第i个记录个记录时,须首先计算出该记录的首地址。为此,须顺序地查找时,须首先计算出该记录的首地址。为此,须顺序地查找每个记录,从中获得相应记录的长度每个记录,从中获得相应记录的长度Li,然后才能按下式,然后才能按下式计计算出第算出第i个记录的首址。假定在每个记录前用一个字节指个记录的首址。假定在每

21、个记录前用一个字节指明该记录的长度,则明该记录的长度,则 10iiiiiLA第5章 文件管理 索引号0长度 m指针 ptrm01m1imi索引表R0R1Ri逻辑文件图 6-4 索引文件的组织 第5章 文件管理 5. 索引顺序文件索引顺序文件 键An QiBao RongChen Lin逻辑地址姓 名An QiAn Kang其它属性Bao Rong逻辑文件图 6-5 索引顺序文件 第5章 文件管理 6. 直接文件和哈希文件直接文件和哈希文件 (1)直接文件)直接文件 对于直接文件,则可根据给定的记录键值,直接获得指对于直接文件,则可根据给定的记录键值,直接获得指定记录的物理地址。换言之,记录键值

22、本身就决定了记录的定记录的物理地址。换言之,记录键值本身就决定了记录的物理地址。这种由记录键值到记录物理地址的转换被称为键物理地址。这种由记录键值到记录物理地址的转换被称为键值转换值转换(Key to address transformation)。组织直接文件的关组织直接文件的关键,键, 在于用什么方法进行从记录值到物理地址的转换。在于用什么方法进行从记录值到物理地址的转换。 第5章 文件管理 (2)哈希)哈希(Hash)文件文件 图 6-6 Hash文件的逻辑结构fHash 函数目 录 表键 值第5章 文件管理 5.2.2文件的物理结构文件的物理结构 通常文件的物理结构有顺序文件、链通常文

23、件的物理结构有顺序文件、链接文件、索引文件接文件、索引文件3种。种。1. 顺序文件顺序文件:按文件的逻辑顺序把文件存放按文件的逻辑顺序把文件存放在一组连续的存储块中,通常它们都位在一组连续的存储块中,通常它们都位于一条磁道上。对应的文件存储空间的于一条磁道上。对应的文件存储空间的分配方式为连续分配。分配方式为连续分配。第5章 文件管理 1230567491011813141512171819162122232025262724list29303128mailcountfilestartlengthcount02tr143mail196list284f62目录trf 磁盘空间的连续分配磁盘空间的

24、连续分配 第5章 文件管理 连续分配的主要优缺点连续分配的主要优缺点 连续分配的主要优点如下:连续分配的主要优点如下:(1) 实现简单,顺序访问容易。常用于实现简单,顺序访问容易。常用于存放系统文件等固定长度的文件。存放系统文件等固定长度的文件。 (2) 顺序访问速度快。顺序访问速度快。 连续分配的主要缺点如下:连续分配的主要缺点如下:(1) 要求有连续的存储空间。要求有连续的存储空间。 (2) 必须事先知道文件的长度。必须事先知道文件的长度。 文件长度不便于动态增加。文件长度不便于动态增加。 第5章 文件管理 2.链接文件:链接文件: 将文件装到多个离散的盘块中,可以将文件装到多个离散的盘块

25、中,可以通过在每个盘块上的链接指针,将同属于通过在每个盘块上的链接指针,将同属于一个文件的多个离散的盘块链接成一个链一个文件的多个离散的盘块链接成一个链表,这样形成的物理文件称为链接文件。表,这样形成的物理文件称为链接文件。 对应的文件存储空间的分配方式为链对应的文件存储空间的分配方式为链接分配。接分配。 链接方式又可分为隐式链接和显式链链接方式又可分为隐式链接和显式链接。接。第5章 文件管理 磁盘空间的隐式链接分配磁盘空间的隐式链接分配 25123056749101181314151217181916212223202526272429303128filestartendjeep925目录1

26、01-116若指针占用若指针占用4个字节,则个字节,则每个盘块中每个盘块中只有只有508个字个字节可供用户节可供用户使用。使用。(1)隐式链接:)隐式链接:第5章 文件管理 隐式链接分配方式的主要问题在于:隐式链接分配方式的主要问题在于:1.只适合于顺序访问。只适合于顺序访问。2.可靠性差。可靠性差。 为了提高检索速度和减小指针所占用为了提高检索速度和减小指针所占用的存储空间,可将几个盘块组成一个簇,的存储空间,可将几个盘块组成一个簇,在进行盘块分配时以簇为单位进行。缺点:在进行盘块分配时以簇为单位进行。缺点:增大了内部碎片。增大了内部碎片。第5章 文件管理 (2) 显式链接显式链接 把用于链

27、接文件各物理块的指针,显式把用于链接文件各物理块的指针,显式地存放在内存的一张链接表中。该表在整个地存放在内存的一张链接表中。该表在整个磁盘仅设置一张,称为文件分配表磁盘仅设置一张,称为文件分配表FAT(File Allocation Table)。)。DOS、Windows等等OS都都采用了采用了FAT。每个文件的第一个盘块号放在。每个文件的第一个盘块号放在自己的自己的FCB中。中。第5章 文件管理 012345物理块号2FCBFAT0451显式链接结构显式链接结构 第5章 文件管理 6EOF11105EOF0123456789FATFCB A4FCB B9MS-DOS的文件物理结构的文件物

28、理结构第5章 文件管理 例例1:对于:对于1.2MB的软盘,盘块大小为的软盘,盘块大小为1KB,则一共有则一共有1.2K个盘块,而个盘块,而211=2K,所以每,所以每个个FAT表项占表项占12位,位,FAT表共需表共需1.5B1.2K=1.8KB。例例2:对于:对于200MB的硬盘,盘块大小为的硬盘,盘块大小为1KB,则共含有则共含有200K个盘块,而个盘块,而218=256K,取取20位位,所以每个,所以每个FAT表项占表项占2.5B,FAT表共表共需需2.5B200K=500KB。第5章 文件管理 练习:若磁盘容量为练习:若磁盘容量为12GB,盘块大小为,盘块大小为4KB时,时,FAT表

29、共需占用多少内存?表共需占用多少内存?12GB/4KB=3M个盘块;而个盘块;而222=4M,取,取24位。所以每个位。所以每个FAT表项占表项占3B,FAT表共需表共需3B3M=9MB。第5章 文件管理 DOS的的FAT表每个表目最初表每个表目最初12位,为位,为FAT12,后来为,后来为FAT16,最多支持,最多支持2GB硬硬盘分区。盘分区。Windows98后采用后采用FAT32,232=4G个簇,簇大小为个簇,簇大小为4KB,硬盘分区可,硬盘分区可达达16TB。FAT32支持大硬盘和分区,根目支持大硬盘和分区,根目录可存于硬盘任何位置,且大小不受限制;录可存于硬盘任何位置,且大小不受限

30、制;采取对磁盘冗余备份。但采取对磁盘冗余备份。但FAT32不兼容为不兼容为FAT16设计的文件,只能通过设计的文件,只能通过FAT32转换转换器。器。第5章 文件管理 链接分配方式的优缺点:链接分配方式的优缺点:优点:不要求对整个文件分配连续的空间,从而解决优点:不要求对整个文件分配连续的空间,从而解决了空间碎片问题,提高了存储空间利用率,也克了空间碎片问题,提高了存储空间利用率,也克服了顺序文件不易修改的缺点。服了顺序文件不易修改的缺点。缺点:缺点:1. 不能支持高效的直接存取。不能支持高效的直接存取。2. FAT需占用较大的内存空间。需占用较大的内存空间。第5章 文件管理 3. 索引分配索

31、引分配 在打开某个文件时,只需把该文件占用的盘在打开某个文件时,只需把该文件占用的盘块的编号调入内存即可。所以应把每个文件所对块的编号调入内存即可。所以应把每个文件所对应的盘块号集中放在一起,这就是索引分配方法。应的盘块号集中放在一起,这就是索引分配方法。索引分配方法为每个文件分配一个索引块,索引分配方法为每个文件分配一个索引块,在其中记录分配给该文件的所有盘块号,因而该在其中记录分配给该文件的所有盘块号,因而该索引块就是一个含有许多盘块号的数组。索引块就是一个含有许多盘块号的数组。索引分配方式支持直接访问,也不会产生外索引分配方式支持直接访问,也不会产生外部碎片。当文件较大时,索引分配方式无

32、疑要优部碎片。当文件较大时,索引分配方式无疑要优于链接分配方式。于链接分配方式。 第5章 文件管理 单级索引分配方式单级索引分配方式 123056749101181314151217181916212223202526272429303128countfile块序号jeep19目录9161102511119(1)单级索引分配)单级索引分配第5章 文件管理 索引分配方式的主要问题:可能要花索引分配方式的主要问题:可能要花费较多的外存空间,对于小文件来说索引费较多的外存空间,对于小文件来说索引块的利用率是很低的。块的利用率是很低的。第5章 文件管理 (2) 多级索引分配多级索引分配01210510

33、625435635798510510625474035635711259853607401125主索引360第二级索引磁盘空间两级索引分配两级索引分配第5章 文件管理 如果每个盘块的大小为如果每个盘块的大小为1KB,每个盘,每个盘块号占块号占4个字节,则在一个索引块中可存放个字节,则在一个索引块中可存放256个个盘块号,在两级索引时,一个文件最盘块号,在两级索引时,一个文件最多可包含盘块总数为多可包含盘块总数为256256=64K个,所个,所以允许的文件最大长度为以允许的文件最大长度为64MB。若盘块大小为若盘块大小为4KB,采用单级索引时,采用单级索引时允许的最大文件长度为允许的最大文件长度

34、为4MB;采用两级索;采用两级索引时允许的最大文件长度为引时允许的最大文件长度为4GB。第5章 文件管理 混合索引方式混合索引方式 modeowners (2)time stamps (3)sizeblock counti.addr (0)i.addr (1)direct blockssingle indirectdouble indirecttriple indirectdatadatadatadatadatadatadatadatadatadata(3)混合索引分配方式)混合索引分配方式索引结点索引结点共共13个地址项个地址项第5章 文件管理 直接地址直接地址 为了提高对文件的检索速度,为

35、了提高对文件的检索速度, 在索引结点中在索引结点中可设置可设置10个直接地址项,个直接地址项, 即用即用iaddr(0)iaddr(9)来存放直接地址。来存放直接地址。 换言之,在这里的每项中所存换言之,在这里的每项中所存放的是该文件数据的盘块的盘块号。假如每个盘放的是该文件数据的盘块的盘块号。假如每个盘块的大小为块的大小为 4 KB,当文件不大于,当文件不大于40 KB时,便可时,便可直接从索引结点中读出该文件直接从索引结点中读出该文件的全部盘块号。的全部盘块号。第5章 文件管理 一次间接地址一次间接地址 对于大、对于大、 中型文件,中型文件, 只采用直接地址是不只采用直接地址是不现实的。现

36、实的。 为此,可再利用索引结点中的地址项为此,可再利用索引结点中的地址项iaddr(10)来提供一次间接地址。这种方式的实质来提供一次间接地址。这种方式的实质就是一级索引分配方式。图中的一次间址块也就就是一级索引分配方式。图中的一次间址块也就是索引块,系统将分配给文件的多个盘块号记入是索引块,系统将分配给文件的多个盘块号记入其中。盘块大小为其中。盘块大小为4KB,盘块号占,盘块号占4B,在一次,在一次间址块中可存放间址块中可存放1K个盘块号,个盘块号, 因而允许文件长因而允许文件长达达4 MB+40KB。 第5章 文件管理 多次间接地址多次间接地址 当文件长度大于当文件长度大于4 MB+40

37、KB时时(一次间址与一次间址与10个直接地址项个直接地址项), 系统还须采用二次间址分配方系统还须采用二次间址分配方式。这时,用地址项式。这时,用地址项iaddr(11)提供二次间接地址。提供二次间接地址。该方式的实质是两级索引分配方式。系统此时是该方式的实质是两级索引分配方式。系统此时是在二次间址块中记入所有一次间址块的盘号。在在二次间址块中记入所有一次间址块的盘号。在采用二次间址方式时,文件最大长度可达采用二次间址方式时,文件最大长度可达4 GB。 同理,地址项同理,地址项iaddr(12)作为三次间接地址,作为三次间接地址, 其所其所允许的文件最大允许的文件最大长度可达长度可达4 TB。

38、 第5章 文件管理 5.3 文件存取方法和存储设备文件存取方法和存储设备 用户对不同种类的文件采用不同的存取方用户对不同种类的文件采用不同的存取方法,以方便的对文件进行各种操作。法,以方便的对文件进行各种操作。5.3.1文件的存取方法文件的存取方法 用户通过对文件的存取来完成对文件的修用户通过对文件的存取来完成对文件的修改、追加和搜索等操作。常用的存取方法有三种:改、追加和搜索等操作。常用的存取方法有三种: 1. 顺序存取顺序存取 2. 随机存取随机存取 3. 按键存取按键存取第5章 文件管理 5.3.2 文件的存储设备文件的存储设备 典型的存储设备的特性及其存取方法典型的存储设备的特性及其存

39、取方法: 1. 顺序存取设备顺序存取设备:顺序存取设备通常是指那顺序存取设备通常是指那些容量大、价格低的存储设备。典型代表是磁带些容量大、价格低的存储设备。典型代表是磁带不适合随机存取,最适合顺序存取文件。不适合随机存取,最适合顺序存取文件。 2. 直接存取设备直接存取设备:光盘、磁盘(磁盘又分为光盘、磁盘(磁盘又分为硬盘和软盘)都是可直接存取的存储设备。硬盘和软盘)都是可直接存取的存储设备。第5章 文件管理 5.3.3文件存储空间的管理文件存储空间的管理1.1.文件存储空间的分配文件存储空间的分配2.2.存储空间管理存储空间管理 第5章 文件管理 (1)空闲表法(空闲文件目录)空闲表法(空闲

40、文件目录) 空闲盘块表空闲盘块表 序号第一空闲盘块号空闲盘块数12429331554这种方法是把文件存储设备中的空闲块的块号统一的放在这种方法是把文件存储设备中的空闲块的块号统一的放在一个称为空闲文件目录的物理块中。其中空闲文件目录的每个一个称为空闲文件目录的物理块中。其中空闲文件目录的每个表项对应由多个空闲块构成的空闲区。表项对应由多个空闲块构成的空闲区。 空闲文件项方法适合于连续文件结构的文件存储区的分配空闲文件项方法适合于连续文件结构的文件存储区的分配和回收。和回收。第5章 文件管理 (2)空闲链表法)空闲链表法 空闲盘块链第5章 文件管理 空闲盘区链最常用的空闲块管理方法就是空闲块链,

41、它把文件存储设备上的所有空闲块连接在一起,当需要空闲块时,分配程序从链头开始摘取所需的空闲块,然后调整链首指针;当回收空闲块时,把释放的空闲块逐个插入到链尾。 第5章 文件管理 (3)位示图)位示图 位示图位示图 空闲文件目录和空闲块链法在分配和回收空闲块时,都需空闲文件目录和空闲块链法在分配和回收空闲块时,都需在文件存储设备上查找空闲文件目录项或链接块号,这必须经在文件存储设备上查找空闲文件目录项或链接块号,这必须经过设备管理程序启动外设才能完成,为了提高空闲块的分配和过设备管理程序启动外设才能完成,为了提高空闲块的分配和回收速度,可以使用位示图进行管理。回收速度,可以使用位示图进行管理。第

42、5章 文件管理 盘块的分配盘块的分配 (1) 顺序扫描位示图,从中找出一个或一组其值为“0”的二进制位(“0”表示空闲时)。 (2) 将所找到的一个或一组二进制位, 转换成与之相应的盘块号。假定找到的其值为“0”的二进制位,位于位示的第i行、第j列,则其相应的盘块号应按下式计算: b=n(i-1)+j式中, n代表每行的位数。 (3) 修改位示图, 令mapi,j=1。 第5章 文件管理 盘块的回收盘块的回收 (1) 将回收盘块的盘块号转换成位示图中的行号和列号。 转换公式为: i=(b-1)DIV n+1 j=(b-1)MOD n+1 (2) 修改位示图。 令map i,j=1。 第5章 文

43、件管理 (4) 成组链接法成组链接法 1004003993013001003002992022012991004003992013019907999790179007899780179997901空 闲 盘 块 号栈S.free019899空闲盘块的成组链接法空闲盘块的成组链接法 第5章 文件管理 5.4 目录管理目录管理 文件系统是通过文件目录来实现对文件文件系统是通过文件目录来实现对文件的管理的。的管理的。文件目录用于标识系统中的文文件目录用于标识系统中的文件及其物理地址,供检索时使用。件及其物理地址,供检索时使用。对目录管理的要求如下:对目录管理的要求如下:(1)实现实现“按名存取按名存

44、取”。 (2) 提高对目录的检索速度。提高对目录的检索速度。 (3) 文件共享。文件共享。 (4) 允许文件重名。允许文件重名。 第5章 文件管理 5.4.1 文件控制块和索引结点文件控制块和索引结点 1. 文件控制块:与文件一一对应,文件控制块:与文件一一对应,FCB的有序集合称为文件目录。的有序集合称为文件目录。 (1) 基本信息类基本信息类 文件名文件名 ; 文件物理位置文件物理位置 ; 文件逻辑结构文件逻辑结构 ; 文件的物理结构文件的物理结构 (2) 存取控制信息类存取控制信息类 (3) 使用信息类使用信息类 MS-DOS的文件控制块 文件名扩展名属性备用时间日期第一块号盘块数第5章

45、 文件管理 2. 索引结点索引结点1)索引结点的引入索引结点的引入 假设一个假设一个FCB为为64B,盘块大小为,盘块大小为1KB,则每个盘块中只能存放,则每个盘块中只能存放 16个个FCB;若一个文件目录中共有若一个文件目录中共有640个个FCB,需占,需占用用40个盘块,所以平均查找一个文件需个盘块,所以平均查找一个文件需启动磁盘启动磁盘20次。次。第5章 文件管理 UNIX的文件目录的文件目录 文件名(14B)索引结点指针(2B)文件名1文件名2 把文件描述信息单独形成一个称为索引把文件描述信息单独形成一个称为索引结点的数据结构,简称为结点的数据结构,简称为i结点。结点。第5章 文件管理

46、 2) 磁盘索引结点 :存放在磁盘上的索引结点,每个文件有惟一的一个磁盘索引结点。(1)文件主标识符; (2) 文件类型 (3) 文件存取权限 ; (4) 文件物理地址 (5) 文件长度 ; (6) 文件连接计数 (7) 文件存取时间 第5章 文件管理 3) 内存索引结点内存索引结点 :存放在内存中的索引结点。当文件:存放在内存中的索引结点。当文件被打开时,要将磁盘索引结点拷贝到内存的索引结被打开时,要将磁盘索引结点拷贝到内存的索引结点中,以便使用。点中,以便使用。(1)索引结点编号。索引结点编号。 (2)状态。状态。(3) 访问计数。访问计数。 (4) 文件所属文件系统的逻辑设备号。文件所属

47、文件系统的逻辑设备号。第5章 文件管理 5.4.2 目录结构目录结构 1. 单级目录结构单级目录结构 文件名物理地址文件说明状态位文件名1文件名2单级目录单级目录 单级目录是一种最简单、最原始的目录结构。单级目录是一种最简单、最原始的目录结构。 利用单级目录,文件系统就可实现对文件系统空间的利用单级目录,文件系统就可实现对文件系统空间的自动管理和按名存取。自动管理和按名存取。 第5章 文件管理 控制权交给文件系统控制权交给文件系统根据给定的文件名搜索单级目录根据给定的文件名搜索单级目录文件名在目录文件名在目录表中么?表中么?计算读写信息的物理块号计算读写信息的物理块号调用设备管理程序控制权转移

48、调用设备管理程序控制权转移读还是写读还是写?分配存储空间分配存储空间改写单级目录表改写单级目录表失败返回失败返回系统调用系统调用是是否否读读图图 5.10 单级目录的读写处理过程单级目录的读写处理过程第5章 文件管理 单级目录的优点是简单且能实现目录管理的基本功单级目录的优点是简单且能实现目录管理的基本功能能按名存取,但却存在下述一些缺点:按名存取,但却存在下述一些缺点: (1) 查找速度慢查找速度慢 (2) 不允许重名不允许重名 (3) 不便于实现文件共享不便于实现文件共享 第5章 文件管理 2. 两级目录两级目录 为了改变单级目录中文件命名冲突问题为了改变单级目录中文件命名冲突问题和提高对

49、目录表的搜索速度,单级目录被扩和提高对目录表的搜索速度,单级目录被扩充成二级目录。利用二级目录,也可以方便充成二级目录。利用二级目录,也可以方便地解决不同用户间的文件共享问题。地解决不同用户间的文件共享问题。第5章 文件管理 两级目录结构两级目录结构 用户名WangZhangGao指向子目录指针Wang用户目录AlphaTestAlphaTestReportTestZhang用户目录ReportTestGao用户目录BetaDeviceMisxBetaDeviceMisx第5章 文件管理 具有以下优点:具有以下优点:(1) 提高了检索目录的速度。提高了检索目录的速度。(2) 在不同的用户目录中

50、,在不同的用户目录中, 可以使用相同的文件名。可以使用相同的文件名。 (3) 不同用户还可使用不同的文件名来访问系统中的同一不同用户还可使用不同的文件名来访问系统中的同一个共享文件。个共享文件。 第5章 文件管理 3. 多级目录结构多级目录结构 (1) 目录结构 多级目录结构多级目录结构 ABCFED13ABD2GA4AC5671011JNK12JMK13AHF141516b1718192021a89第5章 文件管理 多级目录结构有如下的特点:多级目录结构有如下的特点:(1) (1) 层次清晰。层次清晰。(2) (2) 解决了文件重名的问题。解决了文件重名的问题。(3) (3) 查找搜索速度快

51、。查找搜索速度快。第5章 文件管理 (2) 路径名。路径名。 在树形目录结构中,在树形目录结构中, 从根目录到任何数据文件,从根目录到任何数据文件, 都只都只有一条惟一的通路。有一条惟一的通路。 在该路径上从树的根在该路径上从树的根(即主目录即主目录)开始,开始, 把全部目录文件名与数据文件名,依次地用把全部目录文件名与数据文件名,依次地用“/”连接起来,连接起来, 即构成该数据文件的路径名即构成该数据文件的路径名(path name)。 系统中的每一系统中的每一个文件都有惟一的路径名。个文件都有惟一的路径名。第5章 文件管理 (3) 当前目录当前目录(Current Directory)。

52、每个进程设置一个每个进程设置一个“当前目录当前目录”,又称为,又称为“工作目录工作目录”。进程对各文件的访问都相对于进程对各文件的访问都相对于“当前目录当前目录”而进行。此时各而进行。此时各文件所使用的路径名,文件所使用的路径名, 只需从当前目录开始,只需从当前目录开始, 逐级经过中间逐级经过中间的目录文件,最后到达要访问的数据文件。的目录文件,最后到达要访问的数据文件。把这一路径上的全部目录文件名与数据文件名用把这一路径上的全部目录文件名与数据文件名用“/”连接连接形成路径名,如用户形成路径名,如用户B的当前目录是的当前目录是F,则此时文件,则此时文件J的相对的相对路径名仅是路径名仅是J本身

53、。本身。 这样,这样, 把从当前目录开始直到数据文件把从当前目录开始直到数据文件为止所构成的路径名,称为为止所构成的路径名,称为相对路径名相对路径名(relative path name);而把从树根开始的路径名称为而把从树根开始的路径名称为绝对路径名绝对路径名(absolute path name)。 第5章 文件管理 4. 增加和删除目录增加和删除目录 (1) 不删除非空目录。当目录不删除非空目录。当目录(文件文件)不空时,不空时, 不能将其不能将其删除,而为了删除一个非空目录,必须先删除目录中的所有删除,而为了删除一个非空目录,必须先删除目录中的所有文件,使之先成为空目录,文件,使之先成

54、为空目录, 后再予以删除。如果目录中还包后再予以删除。如果目录中还包含有子目录,还必须采取递归调用方式来将其删除,含有子目录,还必须采取递归调用方式来将其删除, 在在MS-DOS中就是采用这种删除方式。中就是采用这种删除方式。 (2) 可删除非空目录。当要删除一目录时,如果在该目可删除非空目录。当要删除一目录时,如果在该目录中还包含有文件,则目录中的录中还包含有文件,则目录中的所有文件和子目录也同时被所有文件和子目录也同时被删除。删除。 第5章 文件管理 5.4.3 目录查询技术目录查询技术 1. 线性检索法线性检索法 查找查找/usr/ast/mbox的步骤的步骤 第5章 文件管理 2. H

55、ash方法方法 一种处理此一种处理此“冲突冲突”的有效规则是:的有效规则是: (1) 在利用在利用Hash法索引查找目录时,如果目录表中相应法索引查找目录时,如果目录表中相应的目录项是空的,则表示系统中并无指定文件。的目录项是空的,则表示系统中并无指定文件。 (2) 如果目录项中的文件名与指定文件名相匹配,如果目录项中的文件名与指定文件名相匹配, 则表则表示该目录项正是所要寻找的文件所对应的目录项,故而可从示该目录项正是所要寻找的文件所对应的目录项,故而可从中找到该文件所在的物理地址。中找到该文件所在的物理地址。 (3) 如果在目录表的相应目录项中的文件名与指定文件如果在目录表的相应目录项中的

56、文件名与指定文件名并不匹配,则表示发生了名并不匹配,则表示发生了“冲突冲突”,此时须将其,此时须将其Hash值值再加上一个常数再加上一个常数(该常数应与目录的长度值互质该常数应与目录的长度值互质),形成新的,形成新的索引值索引值, 再返回到第一步重新开始查找。再返回到第一步重新开始查找。 第5章 文件管理 5.5 5.5 文件的使用文件的使用 为了减少存储空间的浪费,我们必须提供文件的共享为了减少存储空间的浪费,我们必须提供文件的共享和保护机制,这样才能提高系统的使用效率,保证文件和保护机制,这样才能提高系统的使用效率,保证文件系统的安全性。系统的安全性。 5.5.1 5.5.1 文件的共享文

57、件的共享 为用户提供共享文件信息的手段是文件系统的一个重为用户提供共享文件信息的手段是文件系统的一个重要的任务。要的任务。 从系统管理的角度来看有三种方法可以实现文件的共从系统管理的角度来看有三种方法可以实现文件的共享,即:绕道法(如图享,即:绕道法(如图5-115-11)、链接法等。)、链接法等。第5章 文件管理 与被共享文件所在路径的交叉点与被共享文件所在路径的交叉点 当前文件当前文件文件文件被共享文件被共享文件 图图 5.11 绕道法绕道法1.绕道法绕道法第5章 文件管理 2.链接法:将一个目录中的链指针直接指链接法:将一个目录中的链指针直接指向被共享文件所在的目录。链接可以用绝向被共享

58、文件所在的目录。链接可以用绝对路径名或相对路径名来实现。对路径名或相对路径名来实现。第5章 文件管理 3.基于索引结点的共享方式基于索引结点的共享方式 Wang用户文件目录Test rLee用户文件目录Test rcount2文件物理地址索引结点Test第5章 文件管理 4.利用符号链实现文件共享利用符号链实现文件共享 在利用符号链方式实现文件共享时,在利用符号链方式实现文件共享时, 只是文件主才拥有只是文件主才拥有指向其索引结点的指针;而共享该文件的其他用户,则只有指向其索引结点的指针;而共享该文件的其他用户,则只有该文件的路径名,并不拥有指向其索引结点的指针。这样,该文件的路径名,并不拥有

59、指向其索引结点的指针。这样, 也就不会发生在文件主删除一共享文件后留下一悬空指针的也就不会发生在文件主删除一共享文件后留下一悬空指针的情况。情况。 当文件的拥有者把一个共享文件删除后,当文件的拥有者把一个共享文件删除后, 其他用户其他用户试图通过符号链去访问一个已被删除的共享文件时,会因系试图通过符号链去访问一个已被删除的共享文件时,会因系统找统找不到该文件而使访问失败,于是再将符号链删除,此时不到该文件而使访问失败,于是再将符号链删除,此时不会产生任何影响。不会产生任何影响。 第5章 文件管理 5.5.2 5.5.2 文件的保护文件的保护 一个文件系统可以定义多种不同的访一个文件系统可以定义

60、多种不同的访问类型,下面介绍几种通用的访问类型:问类型,下面介绍几种通用的访问类型:1. 1. 读:从文件中读信息。读:从文件中读信息。2. 2. 写:对文件内容进行写或重写。写:对文件内容进行写或重写。3. 3. 执行:用户可以将文件装入内存并执行执行:用户可以将文件装入内存并执行它。它。4. 4. 添加:将信息添加到文件末尾。添加:将信息添加到文件末尾。5. 5. 删除:删除文件,释放其占用的空间。删除:删除文件,释放其占用的空间。 第5章 文件管理 1. 存取控制矩阵存取控制矩阵 存取控制矩阵是一个这样的二维矩阵:一维列出系统中的存取控制矩阵是一个这样的二维矩阵:一维列出系统中的所有用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论