【软考】文件的组织结构

目录

      • 一、说明
      • 二、逻辑结构
        • 2.1 说明
        • 2.2 记录式文件
          • 2.2.1 说明
          • 2.2.2 顺序文件
          • 2.2.3 索引文件
          • 2.2.4 索引文件
        • 2.3 流式文件
      • 三、物理结构
        • 3.1 说明
        • 3.2 链接方式之隐式链接
        • 3.3 链接方式之显式链接
      • 四、题解
        • 4.1 示例一
          • 4.1.1 题目
          • 4.1.2 解析

一、说明

  • 1.组织结构是文件的组织形式。
  • 2.逻辑结构为用户可见的的文件结构。
  • 3.物理结构为存储器中存放的方式

二、逻辑结构

2.1 说明
  • 1.记录式文件和流式文件
2.2 记录式文件
2.2.1 说明
  • 1.有结构,文件由一个个的记录构成
  • 2.记录式文件是一种有结构的文件,它是若干逻辑记录信息所组成的记录流文件
  • 3.举个例子:每个职工的工资信息是一个逻辑记录;整个单位职工的工资信息便组成了该单位工资信息的记录式文件
  • 4.根据记录长度分为定长记录和不定长记录
  • 5.定长记录:指文件中所有记录的长度相同
  • 6.变长记录:指文件中各记录的长度不同
2.2.2 顺序文件
  • 1.定长记录:如果已知当前记录的逻辑地址,便很容易确定下一个记录的逻辑地址
  • 2.变长记录:在顺序读或写时的情况相似,但应分别为它们设置读或写指针,在每次读或写完一个记录后,须将读或写指针加上Li。Li是刚读或刚写完的记录的长度
  • 3.顺序文件另一个缺点是对变长记录很难实现随机存取,增加和删除一个记录都比较困难
2.2.3 索引文件
  • 1.为变长记录文件建立一张索引表,对主文件中的每个记录,在索引表中设有一个相应的表项,用于记录该记录的长度L及指向该记录的指针(指向该记录在逻辑地址空间的首址)。
  • 2.由于索引表是按记录键排序的,因此索引表本身是一个定长记录的顺序文件,从而也可以方便地实现直接存取
  • 3.在对索引文件进行检索时,首先是根据用户(程序)提供的关键字,并利用折半查找法去检索索引表
  • 4.缺点:索引表可能占用很大的空间
2.2.4 索引文件
  • 1.它是顺序文件和索引文件相结合的产物。它将顺序文件中的所有记录分为若干个组;为顺序文件建立一张索引表,在索引表中为每组中的第一个记录建立一个索引项,其中含有该记录的键值和指向该记录的指针
    【软考】文件的组织结构_第1张图片
2.3 流式文件
  • 1.字节流形式,文件是由字节或字符流构成的。文件没有划分记录,文件顺序访问
  • 2.流式文件指文件内的数据不再组成记录,只是由一串依次的字节组成的信息流序列
  • 3.流式文件不具有多维信息结构,只是单纯的连续字符串存取

三、物理结构

3.1 说明
  • 1.将逻辑文件中的信息顺序存储在连续的物理盘块中
  • 2.优点:顺序访问速度快。只要找到一个盘块的位置,就可以依次很容易找到其它的盘块
  • 3.缺点:磁盘空间会产生碎片。比较难以实现文件的增删改操作
3.2 链接方式之隐式链接
  • 1.文件容易丢失。一旦某个盘块的后续位置信息丢失就会遗失之后的所有节点
  • 2.文件只能顺序存取。只能从第一个节点开始依次读取磁盘块
    【软考】文件的组织结构_第2张图片
3.3 链接方式之显式链接
  • 1.所有链接指针统一存放在一张显示的链接表(FAT表:文件分配表)中。一个逻辑磁盘设置一张表,以物理盘块号为序,表项内容为指向某文件的下一盘块的指针
  • 2.FAT表在系统启动时就会被加载到内存中
    【软考】文件的组织结构_第3张图片
  • 3.索引方式:
    索引表:系统为每个文件建立的逻辑块号与物理块号的对照表
    【软考】文件的组织结构_第4张图片
    索引块:存放文件的索引表的物理块,其块号保存在文件目录项的物理地址
    【软考】文件的组织结构_第5张图片

四、题解

4.1 示例一
4.1.1 题目
某文件系统采用索引节点管理,其磁盘索引块和磁盘数据块大小均为1KB字节且每个文件索引节
点有8个地址项iaddr[0]~iaddr[7],每个地址项大小为4字节,其中iaddr[0]~iaddr[4]采用直接地
址索引,iaddr[5]和iaddr[6]采用一级间接地址索引,iaddr[7] 采用二级间接地址索引。若用户要访
问文件userA中逻辑块号为4和5的信息,则系统应分别采用(  ), 该文件系统可表示的单个
文件最大长度是(  )KB。

问题1选项
A.直接地址访问和直接地址访问
B.直接地址访问和一级间接地址访问
C.一级间接地址访问和一级间接地址访问
D.一级间接地址访问和二级间接地址访问

问题2选项
A.517
B.1029
C.65797
D.66053
4.1.2 解析
  • 1.磁盘索引块大小为1KB,每个地址项大小为4字节(B),则每个磁盘索引块能放1KB/4B=256个地址项
  • 2.一个索引节点有8个地址项,其中0~4有5个是直接地址索引,每个地址索引指向1个磁盘数据块,每个磁盘数据块大小为1KB,即5*1KB=5KB
  • 3.其中5~6是一级间接地址索引,每个地址索引指向1个磁盘索引块,1个磁盘索引块能放256个地址项,每个地址项指向1个磁盘数据块,即22561KB=512KB
  • 4.其中7是二级间接地址索引,每个地址索引指向1个磁盘索引块,1个磁盘索引块能放256个地址项(该地址项存放的还是地址索引),每个地址项指向1个磁盘索引块,1个磁盘索引块能放256个地址项,每个地址项指向1个磁盘数据块,即1256256*1KB=65536KB
  • 5.每个文件索引节点表示的单个文件最大长度为5KB+512KB+65536KB=66053KB
  • 6.直接地址索引的逻辑块号的范围为0 ~ (5 + 0 - 1)4,一级间接地址索引为5 ~ (512 + 5 - 1)即5 ~ 516,二级间接地址索引为517 ~ (65536 + 517 -1)即518 ~ 66052
  • 7.则4号逻辑块在直接地址索引的范围中,5号逻辑块在一级间接地址索引的范围中

你可能感兴趣的:(软考,软考)