【软考学习15】索引文件结构、直接索引和间接索引

简介: 【软考学习15】索引文件结构、直接索引和间接索引


本文将学习操作系统中的索引文件结构,我们将对直接索引一级间接索引二级间接索引有个基本的理解。


一、索引文件结构概论

索引文件结构的扩展机制能够极大扩充现有容量,是操作系统中比较特殊的文件结构。

一般的索引文件结构由 13 个结点组成,其中 0 - 9 个结点为直接的物理盘块(直接索引),第 10 个结点是一级间接索引,第 11 个结点是二级间接索引,第 12 个结点是三级间接索引,如下图所示。

13 个索引结点编号从 0 开始,一直编号到 12,如上图所示,这个需要注意。


二、索引的扩展原理

如果一个存储结构不使用索引,那么他的存量就是 物理块数 * 单位大小

如果每个物理块的单位大小为 4K,则总空间为 52K,如下图所示。

如果引入了一级间接索引,索引指向了具体的物理块号,如下图所示。

如果一个地址占用 4 个字节一个物理盘块有 4KB 容量,那么在第 10 个物理块中就可以存放 1024 份地址,那么 10 号物理块就可以存储 1024 份容量,就是 1024 X 4KB = 4MB 的容量。


如果引入了二级间接索引,索引指向了中间索引,中间索引在指向具体的物理块号,如下图所示。

如果一个地址占用 4 个字节一个物理盘块有 4KB 容量,那么在第 11 个物理块中就可以存放 1024 份地址,每份子地址可以再存储 1024 份二级地址,那么 11 号物理块就可以存储 1024 * 1024 份容量,就是 1024 X 1024 X 4KB = 4GB 的容量。


三、索引例题

索引的例题如下:

现有一个文件系统采用索引结点管理模式,物理块大小为 1KB。

每个索引结点有 32KB 的存储空间,每个地址项占 4 字节,磁盘索引块和磁盘数据块大小均为 1KB。

其中 0 - 4 用直接地址索引,5 - 6 用一级间接地址索引,7 用二级间接地址索引,逻辑块号为 5 和 261 的物理块号在哪里

逻辑块号从 0 开始编码,物理块号从 1 开始编码,所以逻辑块号 5 就代表第六块

每个地址项占 4 字节,磁盘索引块大小均为 1KB,所以一个物理块可以存放 256 份地址。

第 5 个逻辑块号的物理块号位置如下所示。

第 261 个逻辑块号的物理块号位置如下所示。


四、总结

本文学习了操作系统中的索引文件结构,我们需要对直接索引一级间接索引二级间接索引有个基本的理解。


相关文章
|
移动开发 Android开发 HTML5
uniapp视频播放功能
uniapp视频播放功能
2080 0
|
数据库 数据库管理
【软件设计师-从小白到大牛】下午题基础篇:第二章 数据库设计
ER模型:是实体联系模型,跟DBMS无关,也就是跟具体的数据库管理系统没有关系。 概念结构设计:完成ER模型的建模工作。
382 1
|
定位技术
Threejs实现绘制地球,地理位置标注、经纬度转换世界坐标threejs坐标
Threejs实现绘制地球,地理位置标注、经纬度转换世界坐标threejs坐标
2594 0
Threejs实现绘制地球,地理位置标注、经纬度转换世界坐标threejs坐标
|
1月前
|
分布式计算 小程序 Java
Java入门学习指南:从零基础到上手写代码(超详细,新手必看)
很多新手入门就急于下载软件、写代码,结果越学越乱。先花5分钟搞懂这3个问题,能帮你节省大量时间。
554 0
|
9月前
|
人工智能 Java 数据库连接
Mybatis执行流程
本文详细分析了 MyBatis 的执行流程,介绍了其核心组件如 SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession 的作用与实现原理,并通过源码解析了 SQL 语句的执行过程,包括动态代理、缓存机制及数据库查询的实现,帮助读者深入理解 MyBatis 的内部工作机制。
291 0
Mybatis执行流程
|
存储 索引
软考--操作系统之文件系统多级索引
软考--操作系统之文件系统多级索引
|
存储 监控 算法
《Ceph源码分析》——导读
本节书摘来自华章出版社《Ceph源码分析》一书中的导读,作者常涛,更多章节内容可以访问云栖社区“华章计算机”公众号查看 目  录序言第1章 Ceph整体架构 **1.1 Ceph的发展历程1.2 Ceph的设计目标1.
7545 1
|
人工智能 自然语言处理 大数据
大模型+知识图谱双驱架构:新一代《知识语义框架SPG》白皮书
白皮书展望了SPG与LLM双向驱动的技术架构。通过基于SPG构建统一的图谱技术框架,可以屏蔽复杂的技术细节以支持新业务的快速部署,真正实现知识图谱技术的框架化、平民化、普惠化。
|
存储 Unix 程序员
非常详细!操作系统基础【文件系统实现】
非常详细!操作系统基础【文件系统实现】