第七章文件管理.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第六章文件管理第七章文件管理7.1文件和文件系统7.2文件的逻辑结构7.3文件目录7.4文件共享7.5文件保护第六章文件管理7.1文件和文件系统7.1.1数据项、记录和文件1.数据项——最低级的数据组织形式(1)基本数据项:用于描述一个对象的某种属性最小逻辑数据单位,即原子数据又称为数据元素或字段例如,用于描述一个学生的基本数据项有学号、姓名、年龄、所在班级等。具有数据名,数据类型数据项的“型”:数据项的名字和类型“值”:个实体在数据项上的数据第六章文件管理(2)组合数据项:由若干个基本数据项组成简称组项。例如,工资可由基本工资、工龄工资和奖励工资等基本项所组成2.记录记录:一组相关数据项的集合,用于描述一个对象在某方面的属性。关键字:惟一能标识一个记录的数据项。一般一个数据项作为KEY,有时需多个数据项合起来作为关键字。第六章文件管理3.文件:是文件系统中一个最大的数据单位文件:由创建者定义的、具有文件名的一组相关元素的集合。描述了一个对象集。有结构文件和无结构文件。有结构的文件:文件由若干个相关记录组成;无结构文件:字符流。文件必须要有一个文件名,通常是由一串ASCII码或(和)汉字构成的,名字的长度因系统不同而异。用户利用文件名来访问文件。第六章文件管理文件属性:(1)文件类型:如源文件、目标文件及可执行文件。(2)文件长度:若干字节、字或块。(3)文件的物理位置。(4)文件的时间:建立时间或最后一次修改时间。(5)文件的拥有者。文件记录1记录2…记录n数据项1数据项2…数据项n文件、记录和数据项之间的层次关系第六章文件管理7.1.2文件类型和文件系统模型1.文件名和扩展名:文件名和扩展名之间用“.”号隔开。2.文件类型1)按用途分类(1)系统文件:由系统软件构成的文件。只允许用户调用,但不允许用户去读,更不允许修改;有的系统文件不直接对用户开放。(2)用户文件:由用户的源代码、目标文件、可执行文件或数据等所构成的文件。(3)库文件:由标准函数或过程等所构成的文件。允许用户调用,但不允许修改。第六章文件管理2)按文件中数据的形式分类(1)源文件:由源程序和数据构成的文件。通常是由ASCII码或汉字所组成的。(2)目标文件:把源程序经过相应语言的编译程序编译过,但尚未链接的目标代码所构成的文件。它属于二进制文件。通常,目标文件所使用的后缀名是“.obj”。(3)可执行文件:把编译后所产生的目标代码再经过链接后所形成的文件。第六章文件管理3)按存取控制属性分类(1)只执行文件。该类文件只允许被核准的用户调用执行,既不允许读,更不允许写。(2)只读文件。该类文件只允许文件主及被核准的用户去读,但不允许写。(3)读写文件。这是指允许文件主和被核准的用户去读或写的文件。第六章文件管理4)按组织形式和处理方式分类(1)普通文件:由ASCII码或二进制码组成的字符文件。如:源程序文件、数据文件、目标代码文件及操作系统自身代码文件、库文件、实用程序文件等都是普通文件,它们通常存储在外存储设备上。(2)目录文件:由文件目录组成用于对其它文件进行检索。(3)特殊文件:特指系统中的各类I/O设备。系统将所有的输入/输出设备都视为文件,按文件方式提供给用户使用。特殊文件又可分为块设备文件和字符设备文件。第六章文件管理7.1.3文件系统的层次结构文件系统模型三个层次:最底层:文件系统对象及其属性;中间层:对对象进行操纵和管理的软件集合;最高层:文件系统提供给用户的接口。文件系统模型第六章文件管理1.对象及其属性:对象:①文件。②目录:方便用户对文件的存取和检索,目录项中文件名及该文件所在的物理地址(或指针)。③磁盘(磁带)存储空间。2.对对象操纵和管理的软件集合文件管理系统的核心文件系统的功能(1)对文件存储空间的管理;(2)对文件目录的管理;(3)将文件的逻辑地址转换为物理地址的机制;(4)对文件读和写的管理;(5)对文件的共享与保护等功能。第六章文件管理与文件系统有关的软件分为四个层次(了)1)I/O控制层2)基本文件系统层3)基本I/O管理程序4)逻辑文件系统3)文件系统的接口(1)命令接口。用户与文件系统交互的接口。用户可通过键盘终端键入命令,取得文件系统的服务。(2)程序接口。用户程序与文件系统的接口。用户程序可通过系统调用来取得文件系统的服务。第六章文件管理7.1.4文件操作1.最基本的文件操作(1)创建文件:为新文件分配必要的外存空间,为之建立一个目录项(记录文件名外存地址)(2)删除文件:从目录中找到要删除文件的目录项,使之成为空项回收该文件所占用的存储空间(3)读文件:查找目录得到被读文件在外存中的位置利用目录中的读指针将文件读入内存指定存储单元第六章文件管理(4)写文件:查找目录,找到指定文件的目录项,再利用目录中的写指针将内存指定空间的数据写入磁盘。(5)设置文件的读/写位置:即设置文件读/写指针的位置,每次读/写文件时从所设置的位置开始操作。从而改顺序存取为随机存取。第六章文件管理2.文件的“打开”和“关闭”操作没有打开调用之前:1)检索文件目录来找到指定文件的属性及其在外存上的位置;2)对文件实施相应的操作。当对一个文件实施多次读/写操作时,为了避免多次重复地检索目录,引入了“打开”(open)这一文件系统调用。第六章文件管理“打开”:指系统将指名文件的属性(包括该文件在外存上的物理位置)从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(或称为索引)返回给用户。用户再要求对该文件进行相应的操作时,便利用索引号向系统提出操作请求。系统利用索引号到打开文件表中去查找,从而避免了对该文件的再次检索。“关闭”:当用户不再需要对该文件实施相应的操作时关闭此文件,OS调用“关闭系统调用”把该文件从打开文件表中的表目上删除掉,从而关闭文件。第六章文件管理3.其它文件操作OS都提供若干有关文件操作的系统调用:最常用的一类:有关对文件属性进行操作的如改变文件名、改变文件主、改变对文件的访问权等;有关目录类:如创建一个目录,删除一个目录,改变当前目录和工作目录等。第六章文件管理7.2文件的逻辑结构7.2.1文件逻辑结构的类型1.有结构文件(1)定长记录:文件中所有记录的长度都是相同的。优点:处理方便、开销小,是较常用的一种记录格式。(2)变长记录:指文件中各记录的长度不相同。产生原因:记录中数据项包含可变内容,如书的著作者、论文中的关键词等;根据组织记录方式的不同,有结构文件分成:(1)顺序文件:由若干记录按某种顺序排列形成的文件。通常是定长记录。第六章文件管理(2)索引文件:当记录为可变长度时,通常建立一张索引表为每个记录设置一个表项,以加快对记录检索的速度。(3)索引顺序文件:上述两种文件构成方式的结合。先为文件排序,关键字相同排一组,再为文件建立索引表,每一组记录中的第一个记录设置一个索引表项。2.无结构文件——流式文件如大量的源程序、可执行文件、库函数等长度以字节为单位。访问方式:采用读/写指针指出下一个要访问的字符。第六章文件管理7.2.2顺序文件1.顺序文件的排列方式1)串结构:文件中的记录按其录入时间先后排序。查找速度慢,检索串结构文件时,每次都必须从头开始,逐个记录地查找。2)顺序结构:文件中的记录按关键字(词)排序。检索可利用某种有效的查找算法,如折半查找法、插值查找法、跳步查找法等。查找速度快。第六章文件管理顺序文件的优缺点优点:对记录进行批量存取时,存取效率最高。缺点:1)如果要查找或修改单个记录,顺序文件的性能就可能很差:需要逐个查找记录。尤其是当文件较大时,情况更为严重。2)增加或删除一个记录都比较困难。解决方法:配置一个运行记录文件(事务文件)把需要改变的记录信息记下,每隔一段时间吧运行记录文件和原文件合并生成一个按关键字排序的新文件。第六章文件管理7.2.3记录寻址1.隐式寻址:定、变成均设置读写指针顺序文件中的记录可以是定长的,也可以是变长的。定长记录:若记录长L下一个记录的逻辑地址很容易确定。读指针Rptr,每读完一个记录执行Rptr:=Rptr+L写指针Wptr,每写完一个记录执行Wptr:=Wptr+L变长记录:定位下一条记录时较麻烦。第六章文件管理定长和变长记录文件R0R1R2R3…Ri…LLLLLL2L3L4LiL(i+1)LRptr(a)定长记录文件L0R0L1R1…Ri…Wptr(b)变长记录文件Li00L0L0+1L1L0+L1+2Li∑(Lk+1)i-1k=0∑(Lk+1)ik=0第六章文件管理2.显式寻址1)通过文件中记录的位置定长记录文件,如果要查找第i个记录,可直接根据下式计算来获得第i个记录相对于第一个记录首址的地址:变长度记录的文件,要查找其第i个记录时2)利用关键字定长记录:方便实现顺序存取,方便实现直接存取。变长记录:用直接存取方法来访问变长记录文件中的一个记录是十分低效的。解决方法:为变长记录文件建立一张索引表Ai=i×L10iiiiiLA第六章文件管理7.2.4索引文件索引表按记录键排序,因此索引表本身是一个定长记录的顺序文件,可以方便地实现直接存取。1.按关键字建立索引索引号0长度m指针ptrm01m1…imi…索引表R0R1…Ri…逻辑文件第六章文件管理2.具有多个索引表的索引文件按不同关键字排序,从而为顺序文件建立多个索引表。索引文件优点:可以实现随机查找,提高查找速度缺点:除了主文件外,还需存储索引表。第六章文件管理7.2.5索引顺序文件1.索引顺序文件的特征是顺序文件和索引文件相结合的产物。增加索引文件中的索引表增加顺序文件中的溢出文件(运行记录文件)2.一级索引顺序文件将顺序文件中的所有记录分为若干个组;为顺序文件建立一张索引表,为每组中的第一个记录建立一个索引项,含有该记录的键值和指向该记录的指针。第六章文件管理键AnQiBaoRongChenLin逻辑地址姓名AnQiAnKang其它属性BaoRong…逻辑文件3.两级索引顺序文件当索引文件较大时为索引文件再建立一张索引文件。一级索引顺序文件第六章文件管理7.2.6直接文件和哈希文件1.直接文件前述几种文件结构对记录进行存取时,都须利用给定的记录键值,先对线性表或链表进行检索,以找到指定记录的物理地址。直接文件:根据给定的记录键值,直接获得指定记录的物理地址。记录键值本身就决定了记录的物理地址。由记录键值到记录物理地址的转换被称为键值转换。第六章文件管理2.哈希(Hash)文件目前应用最为广泛的一种直接文件。利用Hash函数(或称散列函数),将记录键值转换为相应记录的地址。为了能实现文件存储空间的动态分配,通常由Hash函数所求得的并非是相应记录的地址,而是指向一目录表相应表目的指针,该表目的内容指向相应记录所在的物理块。第六章文件管理Hash文件的逻辑结构fHash函数目录表键值第六章文件管理7.3目录管理文件目录主要目标:对大量的文件实施有效的管理。文件目录用于标识系统中的文件及其物理地址,供检索时使用。对目录管理的要求如下:(1)实现“按名存取”:用户只须向系统提供所需访问文件的名字,便能快速准确地找到指定文件在外存上的存储位置。是目录管理中最基本的功能,也是文件系统向用户提供的最基本的服务。第六章文件管理(2)提高对目录的检索速度。合理地组织目录结构,可加快对目录的检索速度,从而提高对文件的存取速度。(3)文件共享。(4)允许文件重名。系统应允许不同用户对不同文件采用相同的名字,以便于用户按照自己的习惯给文件命名和使用文件。第六章文件管理7.3.1文件控制块和索引结点1.文件控制块FCBFCB三类信息:基本信息、存取控制信息、使用信息。1)基本信息①文件名:每一个文件都必须有惟一的名字,用户利用该名字进行存取。②文件物理位置:文件在外存上的存储位置。③文件逻辑结构:流式文件\记录式文件、记录数;定长记录还是变长记录等。④文件的物理结构:顺序文件、链接文件、索引文件。第六章文件管理2)存取控制信息文件主的存取权限、核准用户的存取权限以及一般用户的存取权限。3)使用信息

1 / 68
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功