【操作系统】文件组织和访问

本文详细介绍了文件组织的几种常见形式,包括堆文件、顺序文件、索引顺序文件、索引文件以及直接/散列文件,阐述了它们的特点、优缺点和适用场景,强调了快速访问、修改效率和存储空间管理的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件组织和访问

  • 文件组织

    • 指文件中记录的逻辑结构,由用户访问记录的方式确定

      所谓的逻辑结构,是指在用户看来,文件内部的数据应该是如何组织起来的

      而物理结构是指在操作系统看来,文件的数据是如何存放在外存的

  • 选择文件组织的5个重要原则

    • 快速访问
    • 易于修改
    • 节约存储空间
    • 维护简单
    • 可靠性

原则的优先级取决于使用文件的应用程序

在这里插入图片描述

一、堆文件

  1. 最简单的文件组织形式
  2. 按照到达的顺序收集数据
  3. 每条记录由一串数据组成
  4. 目的是积累大量数据并保存
  5. 通过穷举查找方法检索记录

在这里插入图片描述

二、顺序文件

  1. 最常见的文件组织形式
  2. 记录有固定的格式
  3. 所有记录的长度都相同:每个域的位置、长度等相同;
  4. 每个记录中有一个关键域,唯一标识这个记录
  • 记录按照关键域存储和排序
  1. 通常用于批处理应用
  2. 可以很容易地存储在磁盘和磁带

在这里插入图片描述

  • 因为是定长,就和数组很像,可以顺序存取,但对于涉及更新、删除记录时,开销大

三、索引顺序文件

  • 保留顺序文件的关键特征:记录按照关键域组织

  • 增加了支持随机访问的索引和溢出文件

    • 索引提供快速接近目标的查找能力

    • 溢出文件类似日志文件,要往文件中插入记录时,可以将其放在溢出文件中,并由主文件中它(即所插入记录)的前一个记录通过指针指向;

      理解溢出文件:

      可以把它理解为一个附加的文件,在溢出文件中放入即将插入的记录,可以成批地对溢出文件里的记录进行更新到主文件中,提高了更新的效率

  • 可按批处理方式合并溢出文件

  • 索引可以有多级

在这里插入图片描述

四、索引文件

和索引顺序文件相比:

  • 索引顺序文件:一组记录对应一个索引表项
  • 索引文件:每个记录对应一个索引表项
  • 只能通过索引访问记录

    每个记录对应一个索引表项,可以提高查找速度。但因此索引表可能会很大,时间上去了但空间下来了

  • 可以使用变长度记录

  • 完全索引包含主文件中每条记录的索引项

  • 部分索引只包含有感兴趣域的记录的索引项

  • 主要用于信息及时性要求比较严格很少对所有数据进行处理的应用程序

    索引文件通常设计用于快速定位和访问特定数据

  • 例子是航空公司订票系统和商品库存控制系统

在这里插入图片描述

五、直接或散列文件

速度最快的方式,通过哈希计算可以直接访问到

  • 直接访问磁盘中任意一个地址已知的数据块

  • 使用基于关键字的散列

  • 典型应用场景:

    • 快速访问
    • 固定长度的记录
    • 一次只访问一条记录

    例子:

    目录
    价格表
    调度
    名字列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值