资源预览内容
第1页 / 共102页
第2页 / 共102页
第3页 / 共102页
第4页 / 共102页
第5页 / 共102页
第6页 / 共102页
第7页 / 共102页
第8页 / 共102页
第9页 / 共102页
第10页 / 共102页
亲,该文档总共102页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第六章 文件管理 第六章 文 件 管 理 6.1 文件和文件系统 6.2 文件的逻辑结构 6.3 外存分配方式 6.4 目录管理 6.5 文件存储空间的管理 6.6 文件共享与文件保护 6.7 数据一致性控制 第六章 文件管理 6.1 文件和文件系统 6.1.1 文件、记录和数据项 1. 数据项 (1) 基本数据项。描述一个对象的某种属性的字符集 是最小逻辑数据单位 例如,用于描述一个学生的基本数据项有: 学号、 姓名、 年龄、 所在班级等。 第六章 文件管理 (2) 组合数据项。若干个基本数据项组成的,简称组项。 如,工资也是个组项,它可由基本工资、工龄工资和奖励工资等基本项所组成。 数据类型:用不同的数据类型来描述对象。例如,学生的学号用整数; 姓名用字符串(含汉字); 由数据项的名字和类型两者共同定义了一个数据项的“型”。 而表征一个实体在数据项上的数据则称为“值”。例如,学号/30211、姓名/王有年、性别/男等。 第六章 文件管理 2. 记录记录是一组相关数据项的集合,描述一个对象在某方面的属性。一个记录应包含哪些数据项,取决于需要描述对象的哪个方面。一个对象,由于他所处的环境不同可把他作为不同的对象。 例如,一个学生,作为一名学生用学号、姓名、年龄及所在系班等数据项描述。作为一个医疗对象时,用病历号、 姓名、 性别、 出生年月、 身高、 体重、 血压及病史等项描述。 第六章 文件管理 3. 文件文件是指由创建者所定义的、具有文件名的一组相关元素的集合,可分为有结构文件(若干个相关记录)和无结构文件(一个字符流)两种。 文件在文件系统中是一个最大的数据单位,它描述了一个对象集。(例如,可以将一个班的学生记录作为一个文件。)第六章 文件管理 属性可以包括:(1) 文件类型。(如源文件、目标文件、可执行文件)(2) 文件长度。 (3) 文件的物理位置。(存放于哪个设备,及指针) (4) 文件的建立时间。 图 6-1 文件、 记录和数据项之间的层次关系 第六章 文件管理 文件的3个基本特征:1、文件内容为一组相关信息。2、文件具有保存性3、文件可按名存取文件系统的5大功能:1、完成文件存储空间的管理。2、实现文件名到物理地址的映射。3、实现文件和目录的操作和管理4、提供文件共享能力和安全可靠措施、文件系统向用户提供了有关文件和目录操作的接口第六章 文件管理 6.1.2 文件类型和文件系统模型 1. 文件类型 1) 按用途分类(1) 系统文件。(只允许调用,不许修改) (2) 用户文件。 (3) 库文件。 (标准子程序、常用函数) 第六章 文件管理 2) 按文件中数据的形式分类 (1) 源文件。(源程序和数据) (2) 目标文件。 (源程序经编绎)(3) 可执行文件。 (经链接的目标文件)第六章 文件管理 3) 按存取控制属性分类 (1) 只执行文件。 (2) 只读文件。 (3) 读写文件。 第六章 文件管理 2. 文件系统模型 图 6-2 文件系统模型 第六章 文件管理 1) 对象及其属性文件管理系统管理的对象有: 文件。 它作为文件管理的直接对象。 目录。对目录的组织和管理是提高用户对文件的存取和检索存取速度的关键。 磁盘(磁带)存储空间。 对文件和目录占用的存储空间有效管理,可提高外存的利用率,也能提高对文件的存取速度。 第六章 文件管理 2) 对对象操纵和管理的软件集合其功能包括:对文件存储空间的管理对文件目录的管理用于将文件的逻辑地址转换为物理地址的机制对文件读和写的管理以及对文件的共享与保护等功能 第六章 文件管理 3) 文件系统的接口方便用户使用文件系统的接口(1) 命令接口。这是指作为用户与文件系统交互的接口。 用户可通过键盘终端键入命令,取得文件系统的服务。(2) 程序接口。这是指作为用户程序与文件系统的接口。 用户程序可通过系统调用来取得文件系统的服务。 第六章 文件管理 6.1.3 文件操作 (1) 创建文件。(分配空间、建目录项记录:文件名及外存地址)(2) (2) 删除文件。(删除目录项,回收空间) (3) (3) 读文件。 (由文件名找目录项,找到外存的位置,读入内存)(4) (4) 写文件。(由文件名找目录项及外存位置,从内存中写入) (5) (5) 截断文件。(将原文件的长度设置为0) (6) (6) 设置文件的读/写位置。(设置读写的指针的位置) 第六章 文件管理 2. 文件的“打开”和“关闭”操作 所谓“打开”,是指系统将指名文件的属性从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(或称为索引)返回给用户。再对该文件操作时,系统直接利用该索引号到打开文件表中去查找,避免再次检索。节省检索开销,也提高操作速度。“关闭”(close) 文件,OS把该文件从打开文件表中的表目上删除掉。 第六章 文件管理 3. 其它文件操作一类是对文件属性进行操作的,即允许用户直接设置和获得文件的属性,如改变文件名、拥有者(文件主)、访问权,以及查询文件的状态(包括文件类型、大小和拥有者以及对文件的访问权等);另一类是对目录的进行操作,如创建、删除目录,改变当前目录等;此外,还有用于实现文件共享的系统调用和用于对文件系统进行操作的系统调用等。 第六章 文件管理 6.2 文件的逻辑结构对于任何一个文件,都存在着以下两种形式的结构: (1)文件的逻辑结构。从用户观点出发,所观察到的文件的组织形式,用户直接处理的数据及其结构。(2) 文件的物理结构, 又称为文件的存储结构, 是指文件在外存上的存储组织形式。 第六章 文件管理 设计文件逻辑结构的原则:、便于修改。增、删、改、提高检索效率。最少的时间找到、应使文件信息占据最小的存储空间。、便于用户操作。第六章 文件管理 6.2.1 文件逻辑结构的类型 1. 有结构文件(1) 定长记录。 (2) 变长记录。 文件组织方式:(1) 顺序文件。 (2) 索引文件。 (3) 索引顺序文件。 第六章 文件管理 2. 无结构文件 (源程序、 可执行文件、 库函数等)无结构的文件形式,即流式文件,以字节为单位。采用读写指针来指出下一个要访问的字符。可以把流式文件看作是记录式文件的一个特例。 在UNIX系统中,所有的文件都被看作是流式文件;即使是有结构文件,也被视为流式文件;系统不对文件进行格式处理。第六章 文件管理 6.2.2 顺序文件1. 逻辑记录的排序 第一种是串结构, 各记录之间的顺序与关键字无关。 通常按存入时间的先后排列。第二种情况是顺序结构,指文件中的所有记录按关键字(词)排列。可以按关键词的大小排序;或按其英文字母顺序排序。 第六章 文件管理 2. 对顺序文件(Sequential File)的读/写操作 图 6-3 定长和变长记录文件 第六章 文件管理 3. 顺序文件的优缺点 优点:顺序文件的最佳应用场合,是在对诸记录进行批量存取。此外,也只有顺序文件才能存储在磁带上。缺点:1、查找或修改记录性能可能很差。 例如,有一个含有104个记录的顺序文件,顺序查找法平均需要查找 5103个记录;查找可变长记录的顺序文件开销将更大。 2、增加或删除记录比较困难。可为顺序文件配置一个运行记录文件或称为事务文件,把试图增加、删除或修改的信息记录于其中,规定每隔一定时间,例如4小时,将运行记录文件与原来的主文件加以合并, 产生一个按关键字排序的新文件。第六章 文件管理 对于定长记录文件,如果要查找第i个记录,可按下式移动指针: Ai=iL对于变长记录文件,要查找其第i个记录时,须顺序地查找每个记录,从中获得Li,然后才能按下式计算出第i个记录的首址。第六章 文件管理 图 6-4 索引文件的组织 6.2.3 索引文件 第六章 文件管理 6.2.4 索引顺序文件 图 6-5 索引顺序文件 1万个记录的顺序文件平均要查5千个记录 , 索顺只要查100个,对于大文件可用 “多级索引”,只要查15个。第六章 文件管理 6.2.5 直接文件和哈希文件 1. 直接文件 在直接文件中,记录键值本身就决定了记录的物理地址。第六章 文件管理 2. 哈希(Hash)文件 图 6-6 Hash文件的逻辑结构若令K为记录键值 ,A表示该记录在 目录表中的位置, 则AH(K),从而 查出物理地址第六章 文件管理 6.3 外存分配方式(连续、链接、索引) 6.3.1 连续分配(顺序文件) 图 6-7 磁盘空间的连续分配 为文件分配一组相邻盘块会产生外存碎片第六章 文件管理 2. 连续分配的主要优缺点 连续分配的主要优点如下:(1) 顺序访问容易。(2) 连续存放,查找容易,b块开始,b+i (3) (2) 顺序访问速度快。 (4) 在同一或相邻磁道 连续分配的主要缺点如下:(1) 要求有连续的存储空间。(2) 易产生外存碎片,降低利用率 (3) (2) 必须事先知道文件的长度。(4) 估算太小,则重新估算,费时; (5) 太大浪费空间,尤其动态增长的空间最终大小估算第六章 文件管理 6.3.2 链接分配(用链表将离散的盘块链接成一个文件)1. 隐式链接 图 6-8 磁盘空间的链接式分配 优点: 1、消除外存碎片 2、按需分配 3、无需事先知道文件 大小,可动态分配 4、对文件的增、删 、改很方便 缺点: 1、只适合顺序访问, 对随机访问效率极低 2、可靠性差,一个指针 出问题,整个链断 3、指针占空间(可用 簇减少指针数量,但 增加内部碎片)第六章 文件管理 2. 显式链接 图 6-9 显式链接结构 1、链接文件盘块的指针放在文件分配表 FAT中 2、每个文件的第一个盘块号放在自己的 文件控制块FCB中 3、整个系统一个文件分配表FAT 4、FAT驻留内存,检索速度快第六章 文件管理 图 6-10 MS-DOS的文件物理结构第六章 文件管理 6.3.3 索引分配 链接分配方式存在两个问题:(1) 不能支持高效的直接存取。大文件须在FAT中顺序地查找许多盘块号。(2) FAT需占用较大的内存空间。须将整个FAT调入内存才能查到所有盘块。 第六章 文件管理 建一个文件,在相应目录项中填上指向索引块的指针索引块中依次记录了分配给该文件的盘块号,一个索 引块中可记录成百上千个盘块号优点:1、索引分配方式支持直接访问2、不会产生外部碎片3、文件较大时优于链接分配方式缺点:小文件采用索引方式,索引块的利用率会很低。1、单级索引分配第六章 文件管理 图 6-11 索引分配方式 第六章 文件管理 2. 多级索引分配图 6-12 两级索引分配1、文件 大了可能 要多个索 引块2、文件 太大单级 索引效率 会降低, 采用多级 索引第六章 文件管理 图 6-13 混合索引方式 混合索引方式:将多种索引分配方式相 结合,有直接、一级、 二级、三级等第六章 文件管理 (1) 直接地址。当文件不大于40 KB时(盘块大小为 4 KB ),便可直接从索引结点中读出该文件的全部盘块号。提高对文件的检索速度,在索引结点中可设置10个直接地址项, 即用iaddr(0)iaddr(9)来存放直接地址。第六章 文件管理 (2) 一次间接地址。(一级索引分配方式)对于大、 中型文件, 利用索引结点中的地址项iaddr(10)来提供一次间接地址。图中的一次间址块也就是索引块。在一次间址块中可存放1K个盘块号, 因而允许文件长达4 MB。 第六章 文件管理 (3) 多次间接地址。(两级索引分配方式)当文件长度大于4 MB+40 KB时(一次间址与10个直接地址项), 系统还须采用二次间址分配方式。这时,用地址项iaddr(11)提供二次间接地址。在采用二次间址方式时,文件最大长度可达4 GB。 同理,地址项iaddr(12)作为三次间接地址, 其所允许的文件最大长度可达4 TB。 第六章 文件管理 6.4 目 录 管 理 对目录管理的要求
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号