《操作系统——文件管理.ppt》由会员分享,可在线阅读,更多相关《操作系统——文件管理.ppt(47页珍藏版)》请在优知文库上搜索。
1、第六章 文件管理 第七章第七章 文文 件件 管管 理理 7.1 7.1 文件和文件系统文件和文件系统7.2 7.2 文件的逻辑结构文件的逻辑结构 7.3 7.3 文件目录文件目录7.4 7.4 文件共享文件共享7.5 7.5 文件保护文件保护 第六章 文件管理 7.1 文件和文件系统文件和文件系统 7.1.1 文件、记录和数据项文件、记录和数据项 1. 数据项数据项 (1) 基本数据项基本数据项。这是用于描述一个对象的某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位最小逻辑数据单位, 即原子数据,又称为数据元素或字段数据元素或字段。它的命名往往与其属性一致。例如,用于描述一个学生的基本
2、数据项有: 学号、 姓名、 年龄、 所在班级等。第六章 文件管理 (2) 组合数据项组合数据项。它是由若干个基本数据项组成的,简称组项。例如,经理便是个组项,它由正经理和副经理两个基本项组成。又如,工资也是个组项,它可由基本工资、工龄工资和奖励工资等基本项所组成。 基本数据项除了数据名数据名外,还应有数据类型数据类型。因为基本项仅是描述某个对象的属性,根据属性的不同,需要用不同的数据类型来描述。例如,在描述学生的学号时,应使用整数; 描述学生的姓名则应使用字符串(含汉字);描述性别时,可用逻辑变量或汉字。可见,由数据项的名字和类型两者共同定义了一个数据项的“型”。 而表征一个实体在数据项上的数
3、据则称为“值”。例如,学号/30211、姓名/王有年、性别/男等。 第六章 文件管理 2. 记录记录 记录是一组相关数据项的集合,用于描述一个对象在某记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。方面的属性。一个记录应包含哪些数据项,取决于需要描述对象的哪个方面。而一个对象,由于他所处的环境不同可把他作为不同的对象。 例如,一个学生,当把他作为班上的一名学生时, 对他的描述应使用学号、姓名、年龄及所在系班,也可能还包括他所学过的课程的名称、 成绩等数据项。 但若把学生作为一个医疗对象时,对他描述的数据项则应使用诸如病历号、 姓名、 性别、 出生年月、 身高、 体重、 血压及病史等
4、项。第六章 文件管理 3. 文件文件 文件是指由创建者所定义的、 具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件有结构文件和无结构文件两种。 在有有结构结构的文件中,文件由若干个相关记录若干个相关记录组成;而无结构无结构文件则被看成是一个字符流一个字符流。文件在文件系统中是一个最大最大的数据单位的数据单位,它描述了一个对象集。例如,可以将一个班的学生记录作为一个文件。一个文件必须要有一个文件名, 它通常是由一串ASCII码或(和)汉字构成,名字的长度因系统不同而异。如在有的系统中把名字规定为8个字符,而在有的系统中又规定可用14个字符。 第六章 文件管理 属性可以包括:(1) 文
5、件类型。(2) 文件长度。 (3) 文件的物理位置。 (4) 文件的建立时间。 文件记录1记录2记录n数据项1数据项2数据项n图 7-1 文件、 记录和数据项之间的层次关系 第六章 文件管理 7.1.2 文件名和类型文件名和类型1. 文件名和扩展名文件名和扩展名(1) 文件名命名规则 (2) 扩展名文件的类型 第六章 文件管理 2. 文件类型文件类型 1) 按用途分类(1) 系统文件。 (2) 用户文件。 (3) 库文件。 第六章 文件管理 2) 按文件中数据的形式分类 (1) 源文件。 (2) 目标文件。 (3) 可执行文件。 第六章 文件管理 3) 按存取控制属性分类 (1) 只执行文件。
6、 (2) 只读文件。 (3) 读写文件。 第六章 文件管理 4) 按组织形式和处理方式分类 (1) 普通文件。 (2) 目录文件。 (3) 特殊文件。 第六章 文件管理 7.1.3. 文件系统的层次结构文件系统的层次结构图 7-2 文件系统模型 第六章 文件管理 1. 对象及其属性 文件管理系统管理的对象有: 文件文件。 它作为文件管理的直接对象。 目录目录。为了方便用户对文件的存取和检索,在文件系统中必须配置目录。对目录的组织和管理是方便用户和提高对文件存取速度的关键。 磁盘磁盘(磁带磁带)存储空间存储空间。 文件和目录必定占用存储空间,对这部分空间的有效管理,不仅能提高外存的利用率,而且能
7、提高对文件的存取速度。 第六章 文件管理 2. 对对象操纵和管理的软件集合 这是文件管理系统的核心部分文件管理系统的核心部分。文件系统的功能大多是在这一层实现的,其中包括:对文件存储空间的管理、对文件目录的管理、用于将文件的逻辑地址转换为物理地址的机制、对文件读和写的管理,以及对文件的共享与保护等功能。 第六章 文件管理 3. 文件系统的接口 为方便用户使用文件系统,文件系统通常向用户提供两种类型的接口: (1) 命令接口命令接口。这是指作为用户与文件系统交互的接口。 用户可通过键盘终端键入命令,取得文件系统的服务。 (2) 程序接口程序接口。这是指作为用户程序与文件系统的接口。 用户程序可通
8、过系统调用来取得文件系统的服务。 第六章 文件管理 7.1.4 文件操作文件操作 (1) 创建文件。 (2) 删除文件。 (3) 读文件。 (4) 写文件。 (5) 截断文件。 (6) 设置文件的读/写位置。 第六章 文件管理 2. 文件的文件的“打开打开”和和“关闭关闭”操作操作 所谓“打开”,是指系统将指名文件的属性(包括该文件在外存上的物理位置)从外存拷贝到内存打开文件表的一个表从外存拷贝到内存打开文件表的一个表目目中,并将该表目的编号(或称为索引)返回给用户。以后, 当用户再要求对该文件进行相应的操作时,便可利用系统所返回的索引号索引号向系统提出操作请求。系统这时便可直接利用该索引号到
9、打开文件表中去查找,从而避免了对该文件的再次检索。这样不仅节省了大量的检索开销,也显著地提高了对文件的操作速度。如果用户已不再需要对该文件实施相应的操作时,可利用“关闭关闭”(close)系统调用来关闭此文件,OS将会把该文件从打开文件表中的表目上删除掉。 第六章 文件管理 3. 其它文件操作其它文件操作 为了方便用户使用文件,通常,OS都提供了数条有关文件操作的系统调用,可将这些调用分成若干类:最常用的一类是有关对文件属性进行操作有关对文件属性进行操作的,即允许用户直接设置和获得文件的属性,如改变已存文件的文件名改变已存文件的文件名、改变文件的拥有者(文件主)、改变对文件的访问权,以及查询文
10、件的状态(包括文件类型、大小和拥有者以及对文件的访问权等);另一类是有关目录是有关目录的,如创建一个目录,删除一个目录,改变当前目录和工作目录等;此外,还有用于实现文件共享的系统调用和用于对文件系统进行操作的系统调用等。 第六章 文件管理 7.2 文件的逻辑结构文件的逻辑结构 对于任何一个文件,都存在着以下两种形式的结构: (1)文件的逻辑结构文件的逻辑结构(File Logical Structure)。 (2) 文件的物理结构文件的物理结构, 又称为文件的存储结构, 是指文文件在外存上的存储组织形式件在外存上的存储组织形式。 第六章 文件管理 7.2.1 文件逻辑结构的类型文件逻辑结构的类
11、型 1. 按文件是否有结构分类按文件是否有结构分类1)有结构文件有结构文件记录式文件记录式文件(1) 定长记录。 (2) 变长记录。 第六章 文件管理 2)无结构文件无结构文件 如果说大量的数据结构和数据库,是采用有结构的文件形式的话,则大量的源程序、源程序、 可执行文件、可执行文件、 库函数库函数等, 所采用的就是无结构的文件形式,即流式文件流式文件。 其长度以字节为单位。对流式文件的访问,则是采用读写指针来指出下一个要访问的字符。可以把流式文件看作是记录式文件的一个特例。在UNIX系统中,所有的文件都被看作是流式文件;即使是有结构文件,也被视为流式文件;系统不对文件进行格式处理。 第六章
12、文件管理 2.按文件的组织方式分类(1) 顺序文件。 (2) 索引文件。 (3) 索引顺序文件。 第六章 文件管理 7.2.2 顺序文件顺序文件1. 顺序文件的排列方式顺序文件的排列方式 第一种是串结构串结构, 各记录之间的顺序与关键字无关。 通常的办法是由时间来决定由时间来决定,即按存入时间的先后排列, 最先存入的记录作为第一个记录,其次存入的为第二个记录, 依此类推。 第二种情况是顺序结构顺序结构,指文件中的所有记录按关键按关键字字(词词)排列排列。可以按关键词的长短从小到大排序,也可以从大到小排序;或按其英文字母顺序排序。 第六章 文件管理 2. 顺序文件的优缺点顺序文件的优缺点 顺序文
13、件的最佳应用场合,是在对诸记录进行批量存取批量存取时, 即每次要读或写一大批记录。此时,对顺序文件的存取效率是所有逻辑文件中最高的;此外,也只有顺序文件才能存储在磁带上, 并能有效地工作。 在交互应用的场合,如果用户如果用户(程序程序)要求查找或修改单个记要求查找或修改单个记录,为此系统便要去逐个地查找诸记录录,为此系统便要去逐个地查找诸记录。 这时, 顺序文件所表现出来的性能就可能很差, 尤其是当文件较大时, 情况更为严重。 例如,有一个含有104个记录的顺序文件,如果对它采用顺序查找法去查找一个指定的记录,则平均需要查找5103个记录; 如果是可变长记录的顺序文件,则为查找一个记录所需付出
14、的开销将更大,这就限制了顺序文件的长度。 第六章 文件管理 顺序文件的另一个缺点是, 如果想增加或删除一个如果想增加或删除一个记录,记录, 都比较困难都比较困难。 为了解决这一问题, 可以为顺序文件配置一个运行记录文件(Log File)或称为事务文件(Transaction File), 把试图增加、 删除或修改的信息记录于其中, 规定每隔一定时间, 例如4小时,将运行记录文件与原来的主文件加以合并, 产生一个按关键字排序的新文件。 第六章 文件管理 7.2.3 记录寻址记录寻址 R0R1R2R3RiLLLLLL2L3L4LL(i1)LRptr(a) 定长记录文件L0R0L1R1RiWptr
15、(b) 变 长记录文件Li00L0L01L1L0L12Li(Lk1)i1k0(Lk1)ik0图 7-3 定长和变长记录文件 1. 隐式寻址方式隐式寻址方式第六章 文件管理 对于定长记录文件,如果要查找第i个记录, 可直接根据下式计算来获得第i个记录相对于第一个记录首址的地址: Ai=iL 然而,对于可变长度记录的文件,要查找其第i个记录时,须首先计算出该记录的首地址。为此,须顺序地查找每个记录,从中获得相应记录的长度Li,然后才能按下式计算出第i个记录的首址。假定在每个记录前用一个字节指明该记录的长度,则 10iikkALi2. 显式寻址方式显式寻址方式第六章 文件管理 索引号0长度 m指针
16、ptrm01m1imi索引表R0R1Ri逻辑文件图 7-4 索引文件的组织 7.2.4 索引文件索引文件 第六章 文件管理 7.2.4 索引顺序文件索引顺序文件 键An QiBao RongChen Lin逻辑地址姓 名An QiAn Kang其它属性Bao Rong逻辑文件图 7-5 索引顺序文件 第六章 文件管理 7.2.5 直接文件和哈希文件直接文件和哈希文件 1. 直接文件直接文件 对于直接文件,则可根据给定的记录键值,直接获得指定记录的物理地址。换言之,记录键值本身就决定了记录的物理地址。这种由记录键值到记录物理地址的转换被称为键值转换(Key to address transformation)。组织直接文件的关键, 在于用什么方法进行从记录值到物理地址的转换。 第六章 文件管理 2. 哈希哈希(Hash)文件文件 图 7-6 Hash文件的逻辑结构fHash函数目录表键值第六章 文件管理 7.3 文文 件件 目目 录录 对目录管理的要求如下:(1) 实现“按名存取”。 (2) 提高对目录的检索速度。 (3) 文件共享。 (4) 允许文件重名。 第六章 文件管理 7.3.1