【软考学习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 个逻辑块号的物理块号位置如下所示。


四、总结

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


相关文章
|
运维 Kubernetes 监控
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
4016 0
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
255499 0
|
算法 Java
数据结构-构造哈夫曼树【详解+代码+图示】一文解惑!
数据结构-构造哈夫曼树【详解+代码+图示】一文解惑!
5787 1
|
12月前
|
Java
Java“NullPointerException”解决
Java中的“NullPointerException”是常见的运行时异常,发生在尝试使用null对象实例的方法或字段时。解决方法包括:1. 检查变量是否被正确初始化;2. 使用Optional类避免null值;3. 增加空指针检查逻辑。
1870 1
|
存储 索引
软考--操作系统之文件系统多级索引
软考--操作系统之文件系统多级索引
|
JSON 负载均衡 Java
SpringCloud Feign 远程调用(史上最详细讲解)
SpringCloud Feign 远程调用(史上最详细讲解)
13967 0
SpringCloud Feign 远程调用(史上最详细讲解)
|
移动开发 开发框架 小程序
UniApp与微信小程序介绍及区别
UniApp与微信小程序介绍及区别
1133 0
|
芯片 数据格式
【51单片机】实现一个动静态数码管显示项目(超全详解&代码&图示)(5)
【51单片机】实现一个动静态数码管显示项目(超全详解&代码&图示)(5)