第7章-文件管理计算机操作系统

上传人:小** 文档编号:57906196 上传时间:2018-10-25 格式:PPT 页数:61 大小:931.02KB
返回 下载 相关 举报
第7章-文件管理计算机操作系统_第1页
第1页 / 共61页
第7章-文件管理计算机操作系统_第2页
第2页 / 共61页
第7章-文件管理计算机操作系统_第3页
第3页 / 共61页
第7章-文件管理计算机操作系统_第4页
第4页 / 共61页
第7章-文件管理计算机操作系统_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《第7章-文件管理计算机操作系统》由会员分享,可在线阅读,更多相关《第7章-文件管理计算机操作系统(61页珍藏版)》请在金锄头文库上搜索。

1、计算机操作系统,第七章 文件管理,本章内容,7.1 文件和文件系统 7.2 文件的逻辑结构 7.3 文件目录 7.4 文件共享 7.5 文件保护,7.1 文件和文件系统,7.1.1 文件、记录和数据项 1数据项 最低级的数据组织形式,可把它分成以下两种类型: (1)基本数据项。用于描述一个对象的某种属性的字符集。是数据组织中可以命名的最小逻辑数据单位,即原子数据,又称为数据元素或字段。 (2)组合数据项。它是由若干个基本数据项组成的,简称组项 。根据属性的不同,需要用不同的数据类型来描述。,2记录 记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。 例如,一个学生使用学号、姓名、年龄

2、及所在系班 。 关键字是惟一能标识一个记录的数据项。如:学号。,7.1.1 文件、记录和数据项,3文件 文件是具有文件名的一组相关元素的集合。 文件结构分为两种: 有结构的文件中,文件由若干个相关记录组成; 无结构文件则被看成是一个字符流。 文件在文件系统中是一个最大的数据单位; 文件必须有文件名,通常由一串ASCII码或汉字构成。,7.1.1 文件、记录和数据项,文件 的属性可以包括: (1)文件类型。如源文件、目标文件 等 (2)文件长度。单位可以是块,字或字节。 (3)文件的物理位置。 指示文件在哪一个设备上以及在该设备的哪个位置的指针。 (4)文件的建立时间。这是指文件最后一次的修改时

3、间等。,3文件,7 - 1,7.1.2文件类型,为了便于管理和控制文件而将文件分成若干种类型。常用的几种文件分类方法: 1)按用途分三类:系统,用户,库文件。 2)按文件中数据的形式:源,目标以及可执行文件。 3)按存取控制属性:只执行,只读,读写。,文件系统分为三个层次:,7.1.3 文件系统的层次模型,7 - 2,1)对象及其属性 对象有:文件,目录,磁盘存储空间。 2)对对象操纵和管理的软件集合 核心部分,包括:文件存储空间的管理,文件目录的管理,逻辑地址与物理地址转换机制,文件读写管理,文件共享与保护等。 3)文件系统的接口 向用户提供两种接口:命令(终端键入命令)和程序(系统调用)。

4、,7.1.3 文件系统的层次模型,7.1.4 文件操作,用户通过文件系统提供的系统调用实施对文件的操作。 1.最基本的文件操作有:创建文件(分配外存,建立目录项)、删除文件(置空目录项)、读文件、写文件、截断文件(原有文件长度置0)和设置文件的读写位置(改变始终从始端开始读/写操作)。,2.文件的“打开”和“关闭”操作: “打开”(open),是指系统将指名文件的属性(包括该文件在外存上的物理位置)从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(或称为索引)返回给用户。 “关闭”(close)系统调用来关闭此文件,OS将会把该文件从打开文件表中的表目上删除掉。 3其它文件操作: 对文

5、件属性的操作,改变文件名、改变文件的拥有者,查询文件的状态等,7.1.4 文件操作,本章内容,7.1 文件和文件系统 7.2 文件的逻辑结构 7.3 文件目录 7.4 文件共享 7.5 文件保护,7.2 文件的逻辑结构,文件是由一系列的记录组成的。 对于任何一个文件,都存在着以下两种形式的结构: (1)文件的逻辑结构 从用户观点出发所观察到的文件组织形式 。 (2)文件的物理结构 指文件在外存上的存储组织形式 。,7.2.1文件逻辑结构的类型,文件的逻辑结构可分为两大类: (1)有结构文件:是指由一个以上的记录构成的文件,故又把它称为记录式文件; 记录的长度可分为定长和不定长两类 。 可采用多

6、种方式组织记录,形成不同的文件: 顺序文件:是由一系列记录按某种顺序排列所形成的文件。 索引文件:当记录为可变长度时,通常为之建立一张索引表。 索引顺序文件:它为文件建立一张索引表,为每一组记录中的第一个记录设置一个表项。,文件的逻辑结构可分为两大类: (2)无结构文件:是指由字符流构成的文件,故又称为流式文件。 无结构的文件形式,即流式文件,其长度以字节为单位 在UNIX系统中,所有的文件都被看作是流式文件,7.2.1文件逻辑结构的类型,7.2.2 顺序文件,1逻辑记录的排序 文件中的记录排列可归纳为以下两种情况: 串结构,各记录之间的顺序与关键字无关。通常的办法是由时间来决定,即按存入时间

7、的先后排列 顺序结构,指文件中的所有记录按关键字排列。,2顺序文件的优缺点 : 优点: (1)对顺序文件的存取效率是所有逻辑文件中最高的. (2)只有顺序文件才能存储在磁带上,并能有效地工作。 缺点 : (1)在交互应用的场合,如果用户(程序)要求查找或修改单个记录,为此系统便要去逐个地查找诸记录。 (2)如果想增加或删除一个记录,都比较困难。,7.2.2 顺序文件,1) 定长记录的顺序文件 如果已知当前记录的逻辑地址,便很容易确定下一个记录的逻辑地址。 在读一个文件时,可设置一个读指针Rptr。令它指向下一个记录的首地址,每当读完一个记录时,便执行: Rptr:=Rptr十L (L为记录长度

8、),7.2.3 记录寻址,2)变长记录的顺序文件 在每次读或写完一个记录后,须将读或写指针加上Li Wptr:=Wptr十Li (Li 是刚读或刚写完的记录的长度),7.2.4 索引文件,对于定长记录,可方便地实现直接存取。对于变长记录就较难实现直接存取,为了解决这一问题,为变长记录文件建立一张索引表,索引表是按键排序的,可以方便地实现直接存取。,7.2.5 索引顺序文件,索引顺序文件 : 将顺序文件中的所有记录分为若干个组, 为顺序文件建立一张索引表,在索引表中为每组中的第一个记录建立一个索引项,其中含有该记录的键值和指向该记录的指针。,7.2.6 直接文件和哈希文件,1直接文件 对于直接文

9、件,可根据给定的记录键值,直接获得指定记录的物理地址。换言之,记录键值本身就决定了记录的物理地址。 这种由记录 键值到记录物理地址的转换被称为键值转换 。,7.2.6 直接文件和哈希文件,2哈希(Hash)文件: 利用Hash函数,可将记录键值转换为相应记录的地址。 为了能实现文件存储空间的动态分配,通常由Hash函数所求得的并非是相应记录的地址,而是指向一目录表相应表目的指针,该表目的内容指向相应记录所在的物理块。,本章内容,7.1 文件和文件系统 7.2 文件的逻辑结构 7.3 文件目录 7.4 文件共享 7.5 文件保护,7.3 文件目录,对目录管理的要求如下 : (1)实现“按名存取”

10、。 (2)提高对目录的检索速度。 (3)文件共享。 (4)允许文件重名。,7.3.1 文件控制块和索引结点,1、文件控制块 为了能对一个文件进行正确的存取,必须为文件设置用于描述和控制文件的数据结构,称之为“文件控制块(FCB)” 把文件控制块的有序集合称为文件目录。 一个文件目录也被看作是一个文件,称为目录文件。,1、文件控制块,(1)文件控制块的基本信息 文件名;文件物理位置;文件逻辑结构(表明文件是流式还是记录式,定长还是变长等);文件物理结构(顺序文件,链式还是索引文件)。 (2)存取控制信息类 存取权限 (3)使用信息类 文件的建立日期和时间等。,(1)索引结点的引入 文件描述信息单

11、独形成一个称为索引结点的数据结构,简称为i结点。 在文件目录中的每个目录项,仅由文件名和指向该文件所对应的i结点的指针所构成。,2索引结点,(2)磁盘索引结点包括以下内容: 文件主标识符,文件类型,存取权限,文件物理地址,文件长度,文件连接计数(系统中所有指向该文件名的指针计数),文件存取时间。 (3)内存索引结点包括以下内容: 索引结点编号,状态,访问计数,文件所属文件系统的逻辑设备号,链接指针。,2索引结点,7.3.2 目录结构,目录结构的组织,关系到文件系统的存取速度,也关系到文件的共享性和安全性。因此,组织好文件的目录,是设计好文件系统的重要环节。 目前常用的目录结构形式有单级目录、两

12、级目录和多级目录。 1单级目录结构,单级目录的优点:是简单且能实现目录管理的基本功能按名存取。 单级目录缺点: (1)查找速度慢。 (2)不允许重名。 (3)不便于实现文件共享。 适合单用户环境。,1单级目录结构,2. 两级目录,为每一个用户建立一个单独的用户文件目录UFD,再建立一个主文件目录MFD。在主文件目录中,每个用户目录文件都占有一个目录项,其目录项中包括用户名和指向该用户目录文件的指针,两级目录结构优点: (1)提高了检索目录的速度。 (2)在不同的用户目录中,可以使用相同的文件名。 (3)不同用户还可使用不同的文件名来访问系统中的同一个共享文件。,2. 两级目录,7.3.3 树形

13、结构目录(多级目录结构),(1)目录结构:主目录在这里被称为根目录,把数据文件称为树叶,其它的目录均作为树的结点。,(2)路径名 从树的根(即主目录)开始,把全部目录文件名与数据文件名,依次地用“/”连接起来,即构成该数据文件的路径名(path name)。 系统中的每一个文件都有惟一的路径名。 (3)当前目录 为每个进程设置一个“当前目录”,又称为“工作目录”进程对各文件的访问都相对于“当前目录”而进行。,7.3.3 树形结构目录(多级目录结构),增加目录 在用户要创建一个新文件时,只需查看在自己的UFD及其子目录中,有无与新建文件相同的文件名。若无,便可在UFD或其某个子目录中增加一个新目

14、录项。 目录删除采用下述两种方法处理: (1)不删除非空目录。 (2)可删除非空目录。,(4)增加和删除目录,7.3.4 目录查询技术,对目录进行查询的方式有两种:线性检索法和Hash方法。 1线性检索法 线性检索法又称为顺序检索法。 在单级目录中,利用用户提供的文件名,用顺序查找法直接从文件目录中找到指名文件的目录项。 在树型目录中,用户提供的文件名是由多个文件分量名组成的路径名,此时须对多级目录进行查找。,1线性检索法,假定用户给定的文件路径名是/usr/ast/mbox,则查找/usr/ast/mbox文件的过程如图6-20 所示,Hash方法: 建立了一张Hash索引文件目录,系统利用

15、用户提供的文件名并将它变换为文件目录的索引值,再利用该索引值到目录中去查找。 Hash方法将显著地提高检索速度。 在文件名中使用了通配符“* ”、“?”等,系统便无法利用Hash法检索目录,因此,需要利用线性查找法查找目录。,2 Hash方法,在进行文件名的转换时,有可能把”n个不同的文件名转换为相同的Hash值,称谓的“Hash冲突”。 Hash查找过程: 在利用Hash值查找目录时,如果目录表中相应的目录项是空的,则表示系统中并无指定文件。 如果目录项中的文件名与指定文件名相匹配,则表示该目录项正是所要寻找的文件所对应的目录项,故而可从中找到该文件所在的物理地址。 如果在目录表的相应目录项

16、中的文件名与指定文件名并不匹配,则表示发生了“Hash冲突”。,2 Hash方法,解决Hash冲突的方法 :将其Hash值再加上一个常数(该常数应与目录的长度值互质),形成新的索引值,再返回到第一步重新开始查找。,2Hash方法,本章内容,7.1 文件和文件系统 7.2 文件的逻辑结构 7.3 文件目录 7.4 文件共享 7.5 文件保护,7.4 文件共享,文件共享即指系统应允许多个用户(进程)共享同一份文件。在系统中只需保留该共享文件的一份副本。 当前常用的两种文件共享方法 : (1)基于索引结点的共享方式 (2)利用符号链实现文件共享,7.4.1 基于索引结点的共享方式,7.4.1 基于索引结点的共享方式,7.4.1 基于索引结点的共享方式,7.4.2 利用符号链实现文件共享,为使B能共享C的一个文件F,可以由系统创建一个LINK类型的新文件,也取名为F并将F写入B的目录中,以实现B的目录与文件F的链接;在新文件中只包含被创文件F的路径名。这样的链接方法被称为符号链接. 新文件中的路径名,则只被看作是符号链。当B要访问被链接的文件F且正要读LINK类新文件时,将被OS截获,OS根据新文件中的路径名去读该文件,于是就实现了用户B对文件F的共享。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号