1、文件管理,文件管理概述,文件的概念 文件是具有符号名而且在逻辑上具有完整意义的信息项的有序序列。数据项:是数据组织中可以命名的最小逻辑数据单位,即原子数据,又称为数据元素或字段。 记录:记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。 文件是相关记录的集合:它通常存放在外存上,可以作为一个独立的单位被存放和实施相应的操作。,文件具有文件类型、文件长度、文件的物理位置、文件的存取权限、文件的建立及修改日期等属性。文件类型 按文件的数据形式分类 源文件目标文件可执行文件按用途分类系统文件库文件用户文件,按存取权限分类只读文件读写文件可执行文件按保存时间分类临时文件档案文件永久文件,在L
2、inux操作系统中,文件按内部结构和处理方式分为: 普通文件 目录文件 特别文件-设备文件、管道、链接文件等,文件系统,所谓文件系统,是指操作系统中实现对文件的组织、管理和存取的一组系统程序,它实现对文件的共享和保护,方便用户“按名存取”。 1文件系统的结构对象及其属性 对对象操纵和管理的软件集合 文件系统的接口,2 文件系统的功能 文件及目录的管理。如打开、关闭、读、写等。(提供有关文件自身的服务。如文件共享机制、文件的安全性等。文件存储空间的管理。如分配和释放。主要针对可改写的外存如磁盘。提供用户接口。为方便用户使用文件系统所提供的服务,称为接口。文件系统通常向用户提供两种类型的接口:命令
3、接口和程序接口。不同的操作系统提供不同类型的接口,不同的应用程序往往使用不同的接口。,文件结构,文件的结构是指文件的组织形式。对任何一个文件,都存在着两种形式的结构:文件的逻辑结构:从用户观察和使用文件的角度出发所定义的文件组织形式。文件的物理结构:从系统的角度考察文件在实际存储设备上的存放形式,又称为文件的存储结构。文件的逻辑结构 1有结构文件 又称为记录式文件,它把文件内的信息划分为多个记录,用户以记录为单位来组织信息,即在逻辑上可被看成是一组连续顺序的记录的集合。,定长记录文件:是指文件中所有记录的长度都相同。文件的长度可用记录的数目来表示。不定长记录文件:是指文件中个记录的长度不相同。
4、如姓名、家庭住址、性别等,有长有短。在处理之前每个记录的长度是已知的。,2 无结构文件 又称为字符流式文件,是由字符序列组成的文件,其文件内部不再划分记录,文件长度直接按字节来计算。如大量的源程序、 可执行文件、 库函数等都是无结构文件形式。在Linux系统中,所有的文件都被看作是流式文件,系统不对文件进行格式处理。,3 文件存取方式 : 文件存取方式是指用户对文件的逻辑存取方式,是由文件的性质和用户使用文件的情况决定的。 顺序存取方式:按照文件的逻辑地址依次存取。 随机存取方式:它允许用户随意存取文件中的任何一个物理记录,而不管上次存取了哪一个记录。,文件的物理结构 在外存上如何存放文件,主
5、要与下述两个因素有关:检索速度 不同的文件物理结构将导致产生不同的检索速度。存储介质 选哪种存储介质与用户对文件存取方式的要求有关。文件在磁盘上的存储,有如下三种方式:连续分配链接分配索引分配,连续分配,连续结构(顺序) 文件的信息存放在若干连续的物理块中。 优点: 简单 顺序存取速度快 所需的磁盘寻道次数和寻道时间最少缺点: 文件不能动态增长 不利于文件插入和删除,链接分配,一个文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理块 优点:提高了磁盘空间利用率,不存在外部碎片问题 有利于文件插入和删除 有利于文件动态扩充缺点:存取速度慢,不适于随机存取 可靠
6、性问题,如指针出错 更多的寻道次数和寻道时间 链接指针占用一定的空间,00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,索引分配,一个文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构-索引表,并将这些块的块号存放在一个索引表中 一个索引表就是磁盘块地址数组,其中第i个
7、条目指向文件的第i块,文件名 索引表地址,Jeep 19,916 11025 -1 -1 -1,19,优点: 保持了链接结构的优点,又解决了其缺点:即能顺序存取,又能随机存取满足了文件动态增长、插入删除的要求能充分利用外存空间缺点:较多的寻道次数和寻道时间 索引表本身带来了系统开销 如:内外存空间,存取时间,目录管理,文件目录是查看、读取外存中所存放文件而采用的数据结构,用于文件描述和文件控制,实现按名存取和文件共享与保护,随文件的建立而创建,随文件的删除而消亡。在很多操作系统中,对目录采用文件的方式进行管理。,1 文件控制块 为了便于对文件进行控制和管理,必须为文件设置用于描述和控制文件的数
8、据结构,这种数据结构称为文件控制块(FCB),文件与文件控制块一一对应。文件控制块的有序集合称为文件目录,即一个文件控制块就是一个文件目录项。完全由目录项构成的文件称为目录文件。文件控制块通常由文件的基本信息、存取控制信息、文件使用信息组成。,2索引结点 (1)索引结点的引入 当文件很多时,文件目录可能需要占用大量的盘块。在查找目录的过程中,先将目录文件中的第一个盘块中的FCB调入内存,然后把用户给定的文件名与FCB中的文件名进行比较,若未找到,则将下一个盘块调入内存,直到找到或者没有与之匹配的文件名为止。我们可以发现,在检索文件目录的过程中,只用到了文件名,只有目录项中的文件名与指定的文件名
9、相匹配时,才需从FCB中读出该文件的物理地址,而其他一些描述信息在检索目录时一概不用,显然,这些信息在检索目录时不需要调入内存。 为此在有些系统中,便采用了文件名与文件描述信息分开的办法,即把文件描述信息单独形成一个称为索引结点的数据结构,简称为i结点。,文件目录结构,1一级目录结构 整个文件系统只建立一张目录表,每个文件占一个目录项。新建文件时,必须先检索保证新文件名是唯一的。优点:(1)结构简单,通过管理其目录文件,便可实现文件信息的管理。(2)实现按名存取。同时一级目录结构具有以下缺点:(1)文件多时,目录检索时间长;(2)有命名冲突。简单的文件目录结构中,文件名和文件实体之间存在着一一
10、对应关系,即它不允许两个文件具有相同的名字。在多道程序系统中,尤其是多用户的分时系统中,重名是很难避免的,这就很难准确地找到用户所需要的文件(3)不便于实现文件共享。,2 二级目录结构 为每一个用户建立一个单独的用户文件目录。,优点:(1) 提高了检索目录的速度。(2) 在不同的用户目录中, 可以使用相同的文件名。(3) 不同用户还可使用不同的文件名来访问系统中的同一个共享文件。,多级目录结构,多级目录结构具有以下几个优点:(1)能有效的提高对目录的检索速度。(2)允许文件重名。允许用户在自己的分目录中,使用与其他用户相同的文件名。(3)便于实现文件共享。,文件存储空间的管理,空闲表法(连续分配方式),空闲链表法,位示图法 为所要管理的磁盘设置一张位示图。位示图的大小有磁盘的总块数决定,每一个盘块与位示图的一个二进制位对应。如果盘块是空闲的,对应位为“0”;如果盘块已分配出去,对应位为“1”。根据位示图为某文件分配盘块的具体过程如下:(1)顺序扫描位示图,找出其值为空闲即0的二进制位;(2)将二进制位的行/列号转换为与之对应的盘块号,假设找到的其值为0的二进制位,位于位示图的第i行、第j列则相应的盘块号为:b=n*(i-1)+j,其中n代表每行的位数;(3)把盘块号给该文件,同时修改位示图中的二进制位Mapi,j=1。,文件共享,链接法,