操作系统原理第7章_第1页
操作系统原理第7章_第2页
操作系统原理第7章_第3页
操作系统原理第7章_第4页
操作系统原理第7章_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、1第7章 文件管理2内容提要 本章主要讲述以下内容:(1)文件与文件系统的概念,文件的分类和文件系统模型;(2)文件的逻辑结构和物理结构及存取方式;(3)目录管理;(4)文件存储空间的管理;(5)文件的共享与安全,数据一致性控制。3学习目标 (1)了解文件与文件系统的基本概念,文件共享、安全的实现方法与常用数据一致性控制措施; (2)理解文件的逻辑结构和物理结构的概念及其分类、每一类的特点; (3)掌握目录管理方式,文件存储空间的管理方式。4第7章 文件管理7.1 文件管理概述7.2 文件的结构及存取方式7.3 目录管理7.4 文件存储空间的管理7.5 文件的共享与安全7.6 典型例题讲解57

2、.1 文件管理概述7.1.1 文件系统的引入7.1.2 文件与文件系统7.1.3 文件的分类7.1.1 文件系统的引入信息存储的基本要求:能够存储大量的信息;长期保存信息;可以共享信息。7.1.2 文件与文件系统1.文件的定义 文件可以被解释为一组带有标识的,在逻辑上有完整意义的信息项的序列,这个标识为文件名,信息项构成了文件内容的基本单位。2.文件系统的概念 是操作系统中统一管理信息资源的软件集合。它管理文件的存储、检索、更新,提供安全可靠地共享和保护手段,并为用户提供方便操作的接口。 7.1.2 文件与文件系统3.文件系统模型(1)文件系统管理的对象 文件 目录 磁盘(磁带)存储空间(2)

3、对对象进行操纵和管理的软件集合 包括对文件存储空间的管理、对文件目录的管理、用于将文件的逻辑地址转换为物理地址的机制、对文件读和写的管理,以及对文件的共享与保护等功能。(3)文件系统的接口 命令接口 程序接口文件系统的接口对对象进行操纵和管理的软件集合对象及其属性文件系统模型7.1.3 文件的分类1.按照文件的物理组织结构分类 连续文件 非连续文件 链接文件 索引文件 2.按照文件的存取控制属性分类 只读文件 只执行文件 读/写文件7.1.3 文件的分类3.按照文件的用途分类 系统文件 用户文件 库文件4.按照文件中数据的形式分类 源文件 目标文件 可执行文件5.按照文件的组织形式和处理方式分

4、类 普通文件 目录文件 特殊文件 7.2 文件的结构及存取方式7.2.1 文件的逻辑结构7.2.2 文件的存取方式7.2.3 文件的物理结构7.2.1 文件的逻辑结构1.设计文件逻辑结构的原则(1)易于操作(2)查找快捷(3)修改方便(4)空间紧凑7.2.1 文件的逻辑结构2文件逻辑结构的类型文件的逻辑结构就是用户所看到的文件的组织形式。文件逻辑结构是一种经过抽象的结构,所描述的是信息在文件中的组织形式。文件中的这些信息到底在物理介质上是如何组织存储的,与用户没有直接关系。从用户角度看,按照文件的逻辑结构可以把文件划分为三类:无结构的字符流式文件、定长记录文件和不定长记录文件,定长纪录文件和不

5、定长记录文件可以统称为记录式文件。(1)流式文件:文件的基本单位是字符,流式文件是有序字符的集合,其长度为该文件所包含的字符个数,所以又称为字符流文件。(2)记录式文件:文件的基本单位是记录,记录式文件是一组有序记录的集合。记录是一个具有特定意义的信息单位,它由该记录在文件中的逻辑地址(相对位置)与记录名所对应的一组键、属性以及属性值组成,可以按键进行查找。记录式文件可以分为定长记录文件和不定长记录文件两种。定长记录文件中各个记录长度相等。7.2.2 文件的存取方式1.顺序存取 顺序存取就是按从前到后的次序依次访问文件的各个信息项。 对于记录式文件,是按照记录的排列顺序来存取。 对流式文件,顺

6、序存取反映当前读写指针的变化,在存取完一段信息之后,读写指针自动指向后面的信息。2.随机存取 随机存取又称直接存取,即允许用户根据记录键存取文件的任意记录,或者根据存取命令把读写指针移到指定处读写。3.按键存取 按键存取是根据给定的键或记录名进行存取,存取时首先搜索到要进行存取记录的逻辑位置,然后再将其转换成相应的物理地址后进行存取。7.2.3 文件的物理结构1.顺序结构(1)顺序结构原理 顺序结构又称连续结构,它把逻辑上连续的文件信息依次存放在连续编号的物理块中。 (2)顺序结构的优缺点 优点:文件存取非常简单迅速,支持顺序存取和随机存取。 缺点:文件不能动态增长 ,存储碎片不能充分利用。7

7、.2.3 文件的物理结构2.链接结构(1)链接结构原理将逻辑上连续的文件分散存放在若干不连续的物理块中,为每一个文件构造磁盘块的链表,每个物理块都设有一个指针,指向其后续的物理块。(2)链接结构的优缺点优点:有利于文件的动态扩充、插入和删除,提高了磁盘利用率。缺点:存取速度慢,不适用于随机存取;磁头移动多,效率相对较低;存在可靠性问题,如指针出错等问题;另外链接指针要占用一定的空间。 7.2.3 文件的物理结构3.索引结构(1)索引结构原理 将每个文件所有物理块的地址集中存放在称为索引表的数据结构中。其中的第i个条目指向文件的第i块。每个文件相应的目录条目中包括该文件的索引表地址。(2)索引结

8、构的优缺点 优点: 既适用于顺序存取,也适用于随机存取 可以满足文件动态增长、插入、删除的要求 索引文件还能充分利用外存空间 缺点: 较多的寻道次数和寻道时间 索引表本身增加了存储空间 索引表的链接模式:一张索引表通常是一个物理盘块。对大文件就用多个索引表并将其链接在一起。这种模式下存取到文件尾部将需要读取所有索引表,对于大文件来说这可能需要读取很多块。 多重索引:这是上述索引表链接模式的一种改进,将一个大文件的所有索引表(二级索引)的地址放在另一个索引表(一级索引表中)。7.3 目录管理7.3.1 文件控制块和索引结点 7.3.2 目录结构7.3.3 目录查询技术7.3.1 文件控制块和索引

9、结点 为了能对系统中的大量文件施以有效的管理,在文件控制块中,通常应含有三类信息,即基本信息、存取控制信息及使用信息。 (1)基本信息类 (2)存取控制信息类 (3)使用信息类 2.索引结点 (1)索引结点的引入 便采用了把文件名与文件描述信息分开的办法,亦即,使文件描述信息单独形成一个称为索引结点的数据结构,简称为i结点。在文件目录中的每个目录项仅由文件名和指向该文件所对应的i结点的指针所构成。在UNIX系统中一个目录项仅占16个字节,其中14个字节是文件名,2个字节为i结点指针。在1KB的盘块中可做64个目录项,这样,为找到一个文件,可使平均启动磁盘次数减少到原来的1/4,大大节省了系统开

10、销。 (2)磁盘索引结点 (3)内存索引结点 7.3.2 目录结构1一级目录结构 最简单的目录结构是一级目录结构。在操作系统中构造一张线性表,与每个文件有关的说明信息占用一个目录项,就构成了一级目录结构。单用户微型机操作系统CP/M的软盘文件目录便采用这一结构。每个磁盘上设置一张一级文件目录表,不同磁盘驱动器上的文件目录互不相关。 2二级目录结构 在二级目录结构中,第一级为主文件目录,用于管理所有用户文件目录,其目录项登记了系统用户的名字及该用户文件目录的地址。第二级为用户文件目录,用于为该用户的每个文件保存一个登记栏,其内容与一级目录的目录项相同。3多级目录结构 在多级目录结构中,主文件目录

11、演变为根目录。根目录既可以表示一个普通文件,也可以是下一级目录的目录文件的一个说明项。如此层层类推,形成了一个树形层次结构,如图7-7所示。图7-7 多级目录结构 7.3.3 目录查询技术 目录的查找是文件目录管理的重要工作,“按名存取”文件实质上就是系统根据用户提供的文件名来查找各级文件目录,直至找到该文件。 实现用户对文件的按名存取,系统须按下述步骤为用户找到其所需的文件。首先,系统利用用户提供的文件名,对文件目录进行查找,找出该文件的文件控制块或索引结点;其次,根据找到的FCB或索引结点中所记录的文件物理地址(盘块号),换算出文件在磁盘上的物理位置;最后,启动磁盘驱动程序,将所需文件读到

12、内存中。目前,对目录进行查找的方式有两种:线性检索法和哈希(Hash)算法。 7.4 文件存储空间的管理7.4.1 位示图法7.4.2 空闲块表法7.4.3 空闲块链表法7.4.4 成组链接法7.4.1 位示图法 位示图法的基本思想是利用一串二进制位(bit)的值来反映磁盘空间的分配使用情况。每一个磁盘物理块对应一个二进制位,如果物理块为空闲,则相应的二进制位0;如果物理块已分配,则相应的二进制位为1,如图7-8所示。有的系统把“0”作为盘块已分配的标志,把“1”作为空闲标志,它们在本质上是相同的,都是用一位的两种状态来标志空闲和已分配两种情况。7.4.2 空闲块表法 文件系统建立一张空闲块表

13、,该表记录了全部空闲的物理块:包括表项序号、首空闲块和空闲块个数,这些表项按照起始盘块号递增的次序排列。空闲块表方式特别适合于文件物理结构为顺序结构的文件系统。 建立新文件时,系统查找空闲块表,寻找合适的表项,分配一组连续的空闲块。如果对应表项所拥有的空闲块个数恰好等于所申请值,就将该表项从空闲块表中删去。当删除文件时,系统收回它所占有的物理块,考虑是否可以与原有空闲块相邻,合并成更大的空闲区域,最后修改有关表项。7.4.3 空闲块链表法 如图7-10所示,系统将所有的空闲物理块连成一个链,用一个空闲块首指针指向第一个空闲块,然后每个空闲块含有指向下一个空闲块的指针,最后一块的指针为空,表示链

14、尾。 图7-10 空闲块链表 7.4.4 成组链接法 对空闲块链表的改进是将空闲盘块分成若干组,每一组空闲盘块的地址存放在上一个空闲盘块组的第一个空闲块中,该组中其余n-1个空闲盘块是实际空闲的,如图7-11所示。假设每100个空闲块为一组。通常第一组可能不足100块,第一组空闲盘块的地址(块号)通常放在一个专用块中,专用块的第1个单元给出下一组空闲盘块的个数,第2个单元以后存放下一组空闲盘块的地址(块号);第二组有100个空闲盘块,其地址(块号)放在第一组中的第一个空闲盘块中,该块的第1个单元给出第二组空闲盘块的个数,第2个单元以后存放第二组空闲盘块的地址(块号); 依次类推,组与组之间形成

15、链接关系。最后一组有99个空闲盘块,其地址(块号)放在前一组中的第一个空闲盘块中,而该块的第二个单元填“0”,表示该块中存放的是最后一组的块号,空闲链接到此结束。这种方式成为成组链接。7.5 文件的共享与安全7.5.1 文件的共享7.5.2 文件系统的安全性 7.5.3 数据一致性控制 7.5.1 文件的共享1.绕道法 在绕道法中,用户对所有文件的访问都是相对于当前目录进行的,当所访问的共享文件不在当前目录下时,从当前目录出发向上返回到与共享文件所在路径的交叉点,再沿路径下行到共享文件。 绕道法要求用户指定到达被共享文件的路径,并要回溯访问多级目录。因此,共享其他目录下的文件的搜索速度较慢。2

16、.链接法 链接法是将一个目录中的链接指针直接指向共享文件的目录项,如图7-13所示,在子目录Us1中以文件名u2共享子目录er2abc下的文件c,文件u2的目录项中用一指针指向文件c的目录项,从而可从子目录Us1下以文件名u2访问共享文件,也可从子目录abc下以文件名c访问共享文件。 图7-13 链接法共享文件 3.基本文件目录法 该方法是在文件目录分解为基本目录和符号目录的前提下实现的。只要在不同的符号目录中使用相同的文件内部标识符,就可实现文件的共享。如图7-14所示,文件b.c和文件tt.c就是在使用不同的名字共享一个文件。图中文件系统把0作为基本文件目录的标识符,1作为空文件目录的标识

17、符,2作为主文件目录(根目录)的标识符。在图中,主目录有两个用户目录,ID=3是用户wang的文件目录,ID=4是用户zhang的文件目录。wang用文件名tt.c访问ID=6的共享文件,zhang用文件名b.c访问ID=6的共享文件。 图7-14 基本文件目录法共享文件 4.利用符号链实现文件共享 用户H为了共享用户C的一个文件f,由系统创建一个LINK类型的新文件,将新文件写入H的用户目录中,在新文件中只包含被链接文件f的路径名,这样的链接方法称为符号链接法。当H要访问被链接的LINK类型的文件f时,被操作系统截获,操作系统根据新文件中的路径名去读该文件,于是就实现了用户H对文件f的共享。

18、5.基于索引结点的共享方式 在树型结构的目录中,当有两个(或多个)用户要共享一个子目录或文件时,必须将共享文件或目录链接到两个(或多个)用户的目录中,以便能方便的找到该文件。 7.5.2 文件系统的安全性1.防止人为因素造成的文件不安全性 (1)隐藏文件和目录 (2)口令 (3)文件加密 (4)制定访问权限 2.防止系统因素或自然因素造成的文件不安全性 (1)坏块管理 (2)磁盘容错技术7.5.3 数据一致性控制 为了解决文件系统的不一致问题,一些系统会带有一个实用程序以检验文件系统的一致性。系统启动时,特别是崩溃之后重新启动时,可以运行该程序。下面介绍几种常见的一致性检查方法。1重复文件的一致性检查 2 磁盘块的一致性检查 3链接数的一致性检查 7.6 典型例题讲解 【例7.1】文件系统中,文件访问控制信息储存的合理位置是_。A文件控制块B文件分配表C用户口令表D系统注册表解析:在文件控制块(FCB)中,通常含有以下三类信息,即文件基本信息、存取控制信息和使用信息。

温馨提示

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

评论

0/150

提交评论