当前位置: 首页 > news >正文

408考研逐题详解:2009年第28题

2009年第28题

下列文件物理结构中, 适合随机访问且易于文件扩展的是( )

A. 连续结构 \qquad B. 索引结构 \qquad C. 链式结构且磁盘块定长 \qquad D. 链式结构且磁盘块变长

解析

本题考查文件的物理结构有关知识,在一般的复习资料或者教材中,都会介绍连续结构、链式结构和索引结构(包括混合索引结构)这三种文件的物理结构,而本题对链式结构又做了区分,即磁盘块定长和磁盘块变长。为了解答本题,必须对这些概念有所了解。

1. 连续结构

其访问特点是:

  • 顺序访问高效:数据连续存储,磁头移动距离短,顺序读写速度最快(如从起始块依次读取相邻块)。
  • 随机访问便捷:通过起始块号和文件长度可直接计算目标块地址(如第 i 块地址 = 起始块号 + i),时间复杂度为 O ( 1 ) O(1) O(1)
  • 依赖连续空间:必须一次性分配连续磁盘块,若空间碎片化则分配失败。

适合存储的文件特点:

  • 固定大小且顺序访问为主的文件:如归档数据(备份文件)、只读媒体文件(视频、音频)、系统引导文件等。这类文件创建后大小基本不变,且常按顺序读取。
  • 不适合场景:频繁修改、动态增长的文件(如日志、临时文件),因扩展时需重新分配连续空间并迁移数据,成本极高。
  • 极难扩展:文件增长时需找到更大的连续空闲块,若无法找到则需整体迁移数据到新位置,操作繁琐且耗时,易引发性能瓶颈。

2. 索引结构(单级 / 多级索引)

访问特点:

  • 随机访问高效:通过索引表直接定位数据块,时间复杂度为 O ( 1 ) O(1) O(1)(单级索引)或 O ( n ) O(n) O(n)(多级索引, n n n 为索引层级),无需遍历中间块。
  • 空间离散分配:数据块可分散存储,仅索引块需连续,消除外部碎片。
  • 索引块开销:小文件需为索引块分配空间(如 4KB 索引块仅存 1 个数据块号),存在空间浪费。

适合存储的文件特点:

  • 中小型随机访问文件:如配置文件、程序库、数据库索引文件等,需频繁随机读写且大小适中。
  • 超大文件(多级索引场景):如视频编辑工程文件、科学计算数据,通过多级索引(如三级索引)支持 TB 级容量。
  • 不适合场景:极小文件(如几 KB 的文本),索引块浪费比例过高。
  • 文件能够灵活扩展:
    • 单级索引:索引块未满时直接添加块号;满时分配新索引块并修改上级索引(如混合索引中的一级间接索引)。
    • 多级索引:通过增加索引层级(如从二级扩展到三级)动态扩展容量,无需预先分配连续空间。

3. 链式结构

访问特点是:

  • 仅支持顺序访问:隐式链接需按指针遍历链表(如块 1→块 3→块 5),随机访问需从头开始,时间复杂度为 O ( n ) O(n) O(n);显式链接(FAT)通过内存表快速跳转,但仍需逐块查找。
  • 可靠性风险:隐式链接中单个指针损坏会导致链断裂,需通过校验或冗余机制修复。
  • 盘块定长与变长:
    • 定长块管理简单:每个块大小固定(如 4KB),指针位置固定(如块末尾 4 字节),系统无需处理块大小差异。
    • 变长块空间利用灵活,根据数据量分配合适大小的块(如 1KB 数据分配 1KB 块),减少内部碎片(定长块中若数据不足一块则浪费空间);但管理复杂度高:需维护块大小信息,分配时需搜索合适大小的空闲块(类似动态内存分配中的首次适应、最佳适应算法),可能产生外部碎片。

适合存储的文件特点

  • 链式结构:
    • 磁盘块定长的文件结构适用于频繁修改的小文件:如日志文件(逐条追加记录)、临时文件(动态增减内容),支持边写边扩展,无需预分配空间。
    • 磁盘块变长的文件结构是用于数量波动大的文件:如邮件附件(包含几 KB 的文本和几百 MB 的视频)、多媒体片段(不同帧数据量差异大),按需分配合适大小的块,避免定长块的空间浪费。
  • 嵌入式系统或简单文件系统:隐式链接实现简单,资源占用低(如 FAT 文件系统在早期 U 盘中的应用)。
  • 不适合场景:大文件或随机访问需求高的场景(如数据库数据文件),遍历开销显著。
  • 易于扩展:新增数据块时只需将其指针链入末尾,无需连续空间,适合动态增长(如日志文件不断追加新块)。
结构访问特点适合文件类型扩展性
连续结构顺序 / 随机访问高效,依赖连续空间固定大小、顺序访问文件(如归档)极难扩展(需连续空间)
索引结构随机访问高效 O ( 1 ) O (1) O(1),索引块开销中小型随机访问文件、超大文件灵活(动态增删索引项)
链式(定长块)仅顺序访问,管理简单频繁修改的小文件(如日志)容易(追加定长块)
链式(变长块)顺序访问,空间利用灵活但管理复杂数据量波动大的文件(如邮件附件)灵活但可能产生碎片

连续结构、索引结构和链式结构的关键差异是:

  • 连续结构的性能优势依赖连续空间,扩展性受限于碎片;

  • 索引结构通过空间换时间,平衡了访问效率与扩展性;

  • 链式结构以顺序访问为代价换取高空间利用率,定长块适合简单场景,变长块适合精细控制空间的特殊需求。

掌握了以上知识之后,再阅读本题,不难选出正确答案。

本题答案:B

相关文章:

  • P12592题解
  • 京东轨迹验证码识别代码
  • 在 Linux 服务器上无需 sudo 权限解压/打包 .7z 的方法(实用命令)
  • 《高等数学》(同济大学·第7版)第一章第四节《无穷小与无穷大》的超级详细
  • 工作日记之权限校验-token的实战案例
  • 哈喽,我是钓鱼的肝
  • 计算机科技笔记: 容错计算机设计05 n模冗余系统 其他复杂结构
  • 深度理解与剖析:Odoo系统邮箱配置指南
  • MybatisPlus(含自定义SQL、@RequiredArgsConstructor、静态工具类Db)
  • BUUCTF之[ACTF2020 新生赛]BackupFile
  • cJSON简单使用
  • 前端面试高频问题通关指南--通用性问题
  • 洛谷-P3912素数个数题解
  • window/linux ollama部署模型
  • IPtables部署和使用
  • 基于LangChain的AI助手开发:从零到上线
  • Alist Win 基本用法
  • 强化学习-深度学习和强化学习领域
  • 第十二节:第四部分:集合框架:List系列集合:LinkedList集合的底层原理、特有方法、栈、队列
  • 【C语言】C语言经典小游戏:贪吃蛇(上)
  • 烟台做网站公司哪家好/商城小程序
  • 中国电信备案网站/网站seo优化是什么
  • 哈尔滨手机网站建设/推广方案怎么做
  • 建设b2b网站需要多少钱/个人网页在线制作
  • 武汉公司注册网站/搜索引擎收录提交入口
  • 五金加工东莞网站建设/公司网站建设哪个好