首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

索引文件结构

  • 25-04-16 12:20
  • 2740
  • 7226
juejin.cn

索引结构是讲逻辑上连续的文件信息存放在不连续的物理块中,系统为每个文件建立一张索引表。索引表记录了文件信息所在的逻辑块号对应的物理块号。

题目通常要求:

  1. 可根据逻辑块号找到对应的物理块号
  2. 可分清:直接地址索引、一级间接地址索引、二级间接地址索引...

概念

主要阐述什么是直接地址索引、一级间接地址索引(以此类推)

image.png

  • 直接地址索引,是指它直接存放的是内容(实际内容地址),例如10,20物理块号是直接地址索引节点,存放的是直接地址索引。
  • 一级间接索引节点,是指它存放的一级地址索引表,该索引表的每一项直接存放内容(存放直接地址索引)。
  • 二级间接索引节点,是指它存放的是二级地址索引表,该索引表的每一项直接存放一级地址索引表,该索引表的每一项直接存放内容(存放直接地址索引)。

...

逻辑块号和物理块号

逻辑块号是连续的概念是对程序来言,就像 arr[0],arr[1]...,而实际arr[0] 和 arr[1]可能是不连续的,所以将 arr[0],arr[1]其中的 0,1...称为逻辑块号,对应的内容是物理块号。

image.png

但注意,上图仅针对于 arr[x] 对应的就是直接索引,当对应到一级间接索引时会发生改变,要到内层去找到第一个直接物理盘块,继续编号,如下图所示:

image.png

题目

摘自 “软考达人”

假设文件系统采用索引节点管理,且索引节点有8个地址项iaddr[0]~iaddr[7],每个地址项大小为4B, iaddr[0]~iaddr[4]采用直接地址索引,iaddr[5]和iaddr[6]采用一级间接地址索引,iaddr[7]采用二级间接地址索引。假设磁盘索引块和磁盘数据块大小均为1KB字节,文件Filel的索引节点如下图所示。若用户访问文件Filel中逻辑块号为5和261的信息,则对应的物理块号分别为( );101号物理块存放的是( )。

image.png

解题思路

通过概念可知,arr[5]对应的是一个一级索引节点,非物理块号,所以往内一层找到第一个:58号,得逻辑块号5,对应的物理块号为58;

逻辑块号261,需要计算,由题目知:磁盘索引块为1KB,地址项大小为4B。所以可得 物理盘号 90 作为一个一级间接索引(磁盘索引块),它一共可存放 1KB * 1024 / 4 = 256 个地址。所以物理盘号 90一共可以存放256个地址,即它存放的最后一个逻辑值是 5 + 255 = 260(arr[260]),所以261顺到下一个一级间接索引91,对应的是187物理盘号。

101号物理块存放的是二级间接索引的地址。

注:本文转载自juejin.cn的Chengyunlai的文章"https://juejin.cn/post/7491949045130281014"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

143
阅读
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top