『操作系统』文件管理之索引
『操作系统』文件管理之索引
一级索引
索引存储的结构
不会出题。。。。
多级索引
多级索引求占用物理块数
设有一个包含 1000 个记录的索引文件,每个记录正好占用一个物理块。一个物理块可以存放 10 个索引表目。建立索引时,一个物理块应有一个索引表目,试问索引应占几个物理块?
- 首先求出建立了几级的索引
- 物理块的 n 次方恰好大于等于总记录,则 N 为索引级别。如此题 10^3 为 1000,所以应建立三级索引。
- 则有如下示意图
- 一级一个,二级 10 个,三级 100 个,每个索引占 1 块,所以共计 111 个。
增量索引
A1 个 1 级索引,A2 个 2 级索引,A3 个 3 级索引……,磁盘每块大小为 XB,每块地址为 YB 求管理最大文件
- 每个磁盘块能装多少个索引项 X/Y 项
- 求有多少个块$\sum_{1}^{n} Ai\times \left ( \frac{X}{Y}\right )^{i-1}$
- 再乘以每块的大小$XB*\sum_{1}^{n} Ai\times \left ( \frac{X}{Y}\right )^{i-1}$
一个文件系统,磁盘每块大小为 2KB,每块地址用 4B 表示。采用 UNIX System V 文件系统管理的最大的文件是多少?
- 2KB/4B=512 条
- $直接索引有10个,一级索引有1个所以1512块,\二级索引有一个所以1512512块,\3级索引一个所以1512512512。$
- 所以最大文件为:
$2KB*(10+512+512512+512512*512)\=20KB+1MB+0.5GB+0.25TB$
多级索引和增量索引给出两个例题,但实际做题中,都会相互考到,请理解计算过程和原理。
『操作系统』文件管理之索引
https://chiamzhang.github.io/2024/06/29/『操作系统』文件管理之索引/