第5章文件管理 本章讲述内容: 5.1文件的结构: 5.2磁盘存储空间的管理 5.3文件管理与目录结构; 5.4文件的使用
文件的 结构; 第5章 文件管理 5.1 5.2 5.3 本章讲述内容: 5.4 磁盘存储空间的管理 ; 文件管理与目录结构; 文件的使用
5.1文件的结构 。5.1.1文件与文件系统 1.文件 所谓“文件”,是指具有完整逻辑意义的一组相关信息的集合。文件与文件之间用 符号名加以标识,这个符号名被称为“文件名”。文件被存放在大容量的辅助存储器中。 当用户需要使用时,就通过文件名把相应的文件读到内存。 2.文件系统 所谓“文件系统”,是指与文件管理有关的那部分软件、被管理的文件以及管理所 需要的数据结构(如目录、索引表等)的总体。 3.文件的分类 。按文件的性质和用途,可把文件分成:系统文件、用户文件、库文件。 ·按文件的保护性质,可把文件分成:只读文件、读写文件、可执行文件、不保护 文件。 。按照文件的保护期限,可以把文件分成:临时文件、档案文件、永久文件。 ·按照文件的存取方式,可以把文件分成:顺序存取文件、随机存取文件。 。} 按照设备的类型,可以把文件分成:磁盘文件、磁带文件、打印文件。 ·按照文件的逻辑结构,可以把文件分成:流式文件、记录式文件: 按照文件的物理结构,可以把文件分成:连续文件、链接文件、索引文件。 按照文件的内容,可以把文件分成:普通文件、目录文件、特殊文件
按文件的保护性质,可把文件分成:只读文件、读写文件、可执行文件、不保护 文件。 5.1 文件的结构 • 5.1.1 文件与文件系统 1. 文件 所谓“文件”,是指具有完整逻辑意义的一组相关信息的集合。文件与文件之间用 符号名加以标识,这个符号名被称为“文件名”。文件被存放在大容量的辅助存储器中。 当用户需要使用时,就通过文件名把相应的文件读到内存。 2. 文件系统 所谓“文件系统”,是指与文件管理有关的那部分软件、被管理的文件以及管理所 需要的数据结构(如目录、索引表等)的总体。 . 3. 文件的分类 . 按文件的性质和用途,可把文件分成: 系统文件、用户文件、库文件。 . 按照文件的保护期限,可以把文件分成:临时文件、档案文件、永久文件。 . 按照文件的存取方式,可以把文件分成:顺序存取文件、随机存取文件。 . 按照设备的类型,可以把文件分成:磁盘文件、磁带文件、打印文件。 . 按照文件的逻辑结构,可以把文件分成:流式文件、记录式文件。 . 按照文件的物理结构,可以把文件分成 :连续文件、链接文件、索引文件。 . 按照文件的内容,可以把文件分成 :普通文件、目录文件、特殊文件
。5.1.2文件的罗辑结构 1.文件的两种组织形式 所谓“文件的结构”,是指以什么样的形式去组织一个文件。用户总是从使用的 角度组织文件,系统总是从存储的角度组织文件。因此,从用户使用角度组织的文件, 称为文件的“逻辑结构”;从系统存储角度组织的文件,称为文件的“物理结构”。 2.文件系统的主要功能 在文件的逻辑结构与相应的物理结构间建立起映射关系,并实现两者间的转换。即 如果用户要使用他文件中的某个信息,那么文件系统就必须根据用户给出的文件名以 及所指的信息,找到这个文件,找到这个文件里的那个信息。 3.文件的两种逻辑结构 ,流式文件:把文件视为有序的字符集合,其内部不再对信息进行组织划分,称这 种文件的逻辑结构为“流式文件”。流式文件以字符为操作对象,适用于进行字符流的 正文处理。 。记录式文件:把文件信息划分成一个个记录,存取以记录为单位进行,称这种文 件的逻辑结构为“记录式文件”。在这种文件中,每个记录顺序编号,称为“记录号” 在记录式文件中,总有一个数据项能够唯一地标识记录,这种数据项称为记录的“主关 键字”。查找文件中的某个记录时,按主关键字去搜索,肯定能够找到。记录中的其他 项被称为“次关键字”。利用次关键字可以对文件中的记录进行分类
记录式文件:把文件信息划分成一个个记录,存取以记录为单位进行,称这种文 件的逻辑结构为“记录式文件”。在这种文件中,每个记录顺序编号,称为“记录号”。 在记录式文件中,总有一个数据项能够唯一地标识记录,这种数据项称为记录的“主关 键字”。查找文件中的某个记录时,按主关键字去搜索,肯定能够找到。记录中的其他 项被称为“次关键字”。利用次关键字可以对文件中的记录进行分类。 流式文件:把文件视为有序的字符集合,其内部不再对信息进行组织划分,称这 种文件的逻辑结构为“流式文件”。流式文件以字符为操作对象,适用于进行字符流的 正文处理。 1. 文件的两种组织形式 . • 5.1.2 文件的逻辑结构 所谓“文件的结构”,是指以什么样的形式去组织一个文件。用户总是从使用的 角度组织文件,系统总是从存储的角度组织文件。因此,从用户使用角度组织的文件, 称为文件的“逻辑结构”;从系统存储角度组织的文件,称为文件的“物理结构”。 2. 文件系统的主要功能 在文件的逻辑结构与相应的物理结构间建立起映射关系,并实现两者间的转换。即 如果用户要使用他文件中的某个信息,那么文件系统就必须根据用户给出的文件名以 及所指的信息,找到这个文件,找到这个文件里的那个信息。 3. 文件的两种逻辑结构
。5.1.3 文件的物理结构 1.文件的物理结构 文件按不同的组织方式存放在辅存上,就得到文件不同的“物理结构”。文件的 物理结构有时也称为文件的“存储结构”。通常是以记录成组的方式把文件存放到辅 存的。即一个辅存块里,可能存放多个逻辑记录,块是辅存与内存之间进行信息传输 的单位。在文件的物理结构里,把块称为一个“物理记录” 2.文件的三种物理结构 扇区号 0 文件:MYFILE 。连续存放:连续文件 用户总是把自己的文件 0 0 信息看作是连续的。若把这 6 种逻辑上连续的文件信息依 2 次存放到辅存连续的物理块 中,那么所涉及的这些物理 3 磁道号 块就构成了该文件的物理结 构。因为这些物理块是连续 4 的,故这种文件的物理结构 14 15 称为“顺序结构”,或“连 续文件
• 5.1.3 文件的物理结构 1. 2. 文件的物理结构 文件的三种物理结构 . 文件按不同的组织方式存放在辅存上,就得到文件不同的“物理结构”。文件的 物理结构有时也称为文件的“存储结构”。通常是以记录成组的方式把文件存放到辅 存的。即一个辅存块里,可能存放多个逻辑记录,块是辅存与内存之间进行信息传输 的单位。在文件的物理结构里,把块称为一个“物理记录”。 连续存放:连续文件 用户总是把自己的文件 信息看作是连续的。若把这 种逻辑上连续的文件信息依 次存放到辅存连续的物理块 中,那么所涉及的这些物理 块就构成了该文件的物理结 构。因为这些物理块是连续 的,故这种文件的物理结构 称为“顺序结构”,或“连 续文件”。 0 0 6 1 2 7 3 4 8 5 6 9 2 3 4 5 0 1 10 11 12 13 14 15 扇区号: 0 1 2 3 0 1 2 3 磁 道 号 1 2 3 4 5 6 文件:MYFILE
。链接块存放:串联文件 若把逻辑上连续的用户文件信息存放到辅存的不连续物理块中,并在每一块里包 含一个指针,指向与它链接的下一块所在的位置,最后一块的指针放上“”,表示文 件的结束。那么这时所涉及的物理块,就是这个用户文件的物理结构。由于这些物理 块是不连续的,逻辑文件信息的连续性通过这些块里的指针表现出来,因此把该文件 的物理结构称为“链接结构”,或“串联文件”。 扇区号 文件:MYFILE 首块指针 (0 0 6 610 ② 0 磁道号 9 14 109 4 4 12 13 14 15 6
. 链接块存放:串联文件 若把逻辑上连续的用户文件信息存放到辅存的不连续物理块中,并在每一块里包 含一个指针,指向与它链接的下一块所在的位置,最后一块的指针放上“-1”,表示文 件的结束。那么这时所涉及的物理块,就是这个用户文件的物理结构。由于这些物理 块是不连续的,逻辑文件信息的连续性通过这些块里的指针表现出来,因此把该文件 的物理结构称为“链接结构”,或“串联文件”。 0 0 6 1 4 5 2 3 6 2 3 4 5 0 1 7 11 12 13 8 15 扇区号: 0 1 2 3 0 1 2 3 磁 道 号 1 2 3 4 5 6 文件:MYFILE 10 9 14 10 9 14 -1 6 首块指针
。索引表存放:索引文件 若把逻辑上连续的用户文件信息存放到辅存的不连续物理块中,系统为每个文件 建立一张索引表,表中按照逻辑记录存放的物理块顺序记录了这些物理块号。那么这 时所涉及的物理块,就是这个用户文件的物理结构。由于这些物理块是不连续的,逻 辑文件信息的连续性通过索引表里记录的物理块的块号反映出来,因此把这个文件的 物理结构称为“索引结构”,或“索引文件” 扇区号: 0 文件:MYFE 0 索引表 0 0 06 1 110 4 29 6 10 ② 314 3 道号 914 10 4 12 13 14 6 6
. 索引表存放:索引文件 若把逻辑上连续的用户文件信息存放到辅存的不连续物理块中,系统为每个文件 建立一张索引表,表中按照逻辑记录存放的物理块顺序记录了这些物理块号。那么这 时所涉及的物理块,就是这个用户文件的物理结构。由于这些物理块是不连续的,逻 辑文件信息的连续性通过索引表里记录的物理块的块号反映出来,因此把这个文件的 物理结构称为“索引结构”,或“索引文件”。 0 0 6 1 4 5 2 3 6 2 3 4 5 0 7 11 12 13 8 15 扇区号: 0 1 2 3 0 1 2 3 磁 道 号 1 2 3 4 5 6 文件:MYFILE 10 9 14 10 9 14 -1 0 6 1 10 2 9 3 14 索引表
。5.1.4文件的存取 。用户访问文件时,可采用顺序存取和随机存取两种方式。 1.顺序存取 。所谓“顺序存取”,即是按照文件记录的排列次序一个接一个地存取。为了存取 第:个记录,必须先通过记录1到记录1。 。由磁带机的物理特性,文件在其上只能采用顺序结构存放,也只能采用顺序存 取的方式对文件进行访问。对于磁盘,文件可以采用顺序结构、链接结构、索引表结 构在其上存放。顺序存取方式对它们都是适用的。 2.随机存取 。所谓“随机存取”,即是可以以任何次序存取文件中的记录,无须先涉及它前面 的记录,只要给出记录号即可。 。对磁带机上的文件,不适宜采用随机存取的方式进行访问;对磁盘上的文件, 如果该文件使用的是链接结构,那么也不适宜采用随机存取的方式进行访问。 3.存储设备、存储结构、存取方式间的关系 存储设备 磁 盘 磁带 存储结构 连续文件 串联文件 索引文件 连续文件 存取方式 顺序、随机 顺序 顺序、随机 顺序
• 5.1.4 文件的存取 1. 顺序存取 由磁带机的物理特性,文件在其上只能采用顺序结构存放,也只能采用顺序存 取的方式对文件进行访问。对于磁盘,文件可以采用顺序结构、链接结构、索引表结 构在其上存放。顺序存取方式对它们都是适用的。 2. 随机存取 用户访问文件时,可采用顺序存取和随机存取两种方式。 对磁带机上的文件,不适宜采用随机存取的方式进行访问;对磁盘上的文件, 如果该文件使用的是链接结构,那么也不适宜采用随机存取的方式进行访问。 存储设备 存储结构 存取方式 磁 盘 磁 带 连续文件 顺序、随机 串联文件 顺序 索引文件 顺序、随机 连续文件 顺序 3. 存储设备、存储结构、存取方式间的关系 . . 所谓“顺序存取”,即是按照文件记录的排列次序一个接一个地存取。为了存取 第i个记录,必须先通过记录1到记录i-1。 . . 所谓“随机存取”,即是可以以任何次序存取文件中的记录,无须先涉及它前面 的记录,只要给出记录号即可。
5.2 磁盘存储空间的管理 5.2.1位示图 1.位示图 具体做法是:为所要管理的磁盘设置一张位示图,其大小由磁盘的总块数决定。位 示图中的每个二进制位与一个磁盘块(假定一个扇区就是一个磁盘块)对应,该位为 “1”,表示对应的块已分配;为“0”,表示对应的块空闲,可以参加分配。 2.相对块号 0位1位2位3位 30位31位 所谓“相对块号”,即是指从0第字[1011 0/1 0/1 0/10/10/1-1个柱面 开始,按柱面和盘面(即磁头)的 第1字 0/10/10/1 0/1 0/1 0/10/1 0/1 顺序对磁盘块进行统一编号。 3.计算公式 0/10/10/1 0/1 0/1 0/10/1 0/1 。字长为m,那么第字第位 第99字 0/10/10/10/m 0/1 0/0/10/1 对应的相对块号k是:k=i×m+j。 .若每个盘面有个扇区,相对块号k。那么求柱面号、磁头号、扇区号的公式为: 柱面号-k/m,磁头号-(%m)/n,扇区号-(k%m)%n 已知柱面号、磁头号、扇区号。求其对应相对块号、字号、 位号的公式为: 相对块号k-柱面号×m+磁头号×nt扇区号,字号-k/m,位号k%m
已知柱面号、磁头号、扇区号。求其对应相对块号、字号、位号的公式为: 相对块号k=柱面号×m+磁头号×n+扇区号,字号=k / m ,位号=k % m 若每个盘面有n个扇区,相对块号k。那么求柱面号、磁头号、扇区号的公式为: 柱面号=k / m,磁头号=(k % m ) / n,扇区号=(k % m) % n 字长为m,那么第i字第j位 对应的相对块号k是:k = i×m + j。 • 5.2.1 位示图 1. 位示图 具体做法是:为所要管理的磁盘设置一张位示图,其大小由磁盘的总块数决定。位 示图中的每个二进制位与一个磁盘块(假定一个扇区就是一个磁盘块)对应,该位为 “1”,表示对应的块已分配;为“0”,表示对应的块空闲,可以参加分配。 2. 相对块号 所谓“相对块号”,即是指从0 开始,按柱面和盘面(即磁头)的 顺序对磁盘块进行统一编号。 5.2 磁盘存储空间的管理 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0位 1位 2位 3位 30位 31位 第0字 第1字 第99字 1个柱面 3. 计算公式 . .
。5.2.2 空闲区表 1.空闲区表 系统设置一张表格,表中每个表目记录磁盘空间中的一个连续空闲盘区的信息,比 如该空闲盘区的起始空闲块号、连续的空闲块个数、以及表目的状态,称此表为“空闲 区表” 2.存储空间的分配与释放 创建新文件时,根据文件的长度查找空闲区表,从状态为“有效”的表目里找到合 适的表项进行分配;删除一个文件时,在空闲区表里找一个“空白”表项,将该文件原 先占用的连续存储空间信息填写进去,并把表项的状态改为“有效”。 ·5.2.3空闲块链 1.空闲块链 所谓“空闲块链”,即在磁盘的每个空闲块里设一个指针,指向另一个磁盘空闲块, 所有的空闲块形成一个链表,即空闲块链。这时,系统要设一个空闲块链首指针,链 表最后一个空闲块中的指针应该表明为结束,比如记为“1”。 2.存储空间的分配与释放 申请存储块时,根据链首指针从链首开始一块块地摘下分配:若释放存储块,就把 释放的块从链首插入。当然,无论是申请还是释放,都必须随时修改链首指针,并调整 空闲块里的指针
创建新文件时,根据文件的长度查找空闲区表,从状态为“有效”的表目里找到合 适的表项进行分配;删除一个文件时,在空闲区表里找一个“空白”表项,将该文件原 先占用的连续存储空间信息填写进去,并把表项的状态改为“有效”。 • 5.2.2 空闲区表 1. 空闲区表 2. 存储空间的分配与释放 系统设置一张表格,表中每个表目记录磁盘空间中的一个连续空闲盘区的信息,比 如该空闲盘区的起始空闲块号、连续的空闲块个数、以及表目的状态,称此表为“空闲 区表”。 • 5.2.3 空闲块链 1. 空闲块链 所谓“空闲块链”,即在磁盘的每个空闲块里设一个指针,指向另一个磁盘空闲块, 所有的空闲块形成一个链表,即空闲块链。这时,系统要设一个空闲块链首指针,链 表最后一个空闲块中的指针应该表明为结束,比如记为“-1”。 2. 存储空间的分配与释放 申请存储块时,根据链首指针从链首开始一块块地摘下分配;若释放存储块,就把 释放的块从链首插入。当然,无论是申请还是释放,都必须随时修改链首指针,并调整 空闲块里的指针
5.3文件管理与目录结构 5.3.1文件控制块与目录 1.文件控制 操作系统为每个文件开辟一个存储区,在它里面记录该文件的有关信息,该存储区 称为“文件控制块(FCB)”。于是,找到一个文件的FCB,也就得到了这个文件的有 关信息,就能够对它进行所需要的操作了。 2.文件控制块的内容 。文件名称:用户为自己的文件起的符号名,它是在外部区分文件的主要标识。 。文件的物理位置:因文件在磁盘上的存储结构可以不同,因此指明其在辅存上位 置的信息也不一样,目的都是要通过这些信息得到该文件存放在哪些盘块上。这些信息 对完成文件逻辑结构与物理结构之间的映射是有用处的。 ,文件的逻辑结构:该信息确定文件是流式的,还是记录式的,记录是固定长度的 还是变长的,以及每个记录的长度。 。文件的物理结构:物理结构反映文件在辅存是如何存放的,它确定了对文件可以 采用的存取方式,对完成逻辑结构与物理结构之间的映射是有用处的。 ·文件存取控制信息:这些信息将规定系统中各类用户对该文件的访问权限,起到 保证文件共享、保密的作用。 。文件管理信息:如文件的创建日期和时间、文件最近一次访问的日期和时间等
文件存取控制信息:这些信息将规定系统中各类用户对该文件的访问权限,起到 保证文件共享、保密的作用。 文件的物理结构:物理结构反映文件在辅存是如何存放的,它确定了对文件可以 采用的存取方式,对完成逻辑结构与物理结构之间的映射是有用处的。 文件的物理位置:因文件在磁盘上的存储结构可以不同,因此指明其在辅存上位 置的信息也不一样,目的都是要通过这些信息得到该文件存放在哪些盘块上。这些信息 对完成文件逻辑结构与物理结构之间的映射是有用处的。 5.3 文件管理与目录结构 • 5.3.1 文件控制块与目录 1. 文件控制块 操作系统为每个文件开辟一个存储区,在它里面记录该文件的有关信息,该存储区 称为“文件控制块(FCB)”。于是,找到一个文件的FCB,也就得到了这个文件的有 关信息,就能够对它进行所需要的操作了。 2. 文件控制块的内容 . 文件名称:用户为自己的文件起的符号名,它是在外部区分文件的主要标识。 . . 文件的逻辑结构:该信息确定文件是流式的,还是记录式的,记录是固定长度的 还是变长的,以及每个记录的长度。 . . . 文件管理信息:如文件的创建日期和时间、文件最近一次访问的日期和时间等