辅存的存储空间分配
最后更新于:2022-04-02 04:05:52
[TOC]
## 辅存的分配方式
### 连续分配
把需要用到几个扇区直接进行连续的分配
**优点**
顺序读取文件内容非常容易,速度很快
**缺点**
对存储要求高,要求满足容量的连续存储空间
### 链接分配
- 链接分配可以将文件存储在离散的盘块中
- 需要额外的存储空间存储文件的盘块链接顺序
#### 隐式链接
- 每个盘块记录都记录下一个链接的存储位置
- 隐式分配适合顺序访问,随机访问效率很低
- 可靠性差,任何一个链接出问题都影响整个文件
#### 显式链接
提供一个表来记录每个盘块的位置,这个表被称为 FAT (File Allocation Table)
**缺点**
- 不支持高效的直接存储,盘越大(FAT记录项多)
- 检索时FAT表占用较大的存储空间(需要将整个FAT加载到内存)
### 索引分配(主流)
提供一个索引块,用来记录此份数据记录在哪些盘快
- 把文件的所有盘块集中存储(索引)
- 读取某个文件时,将文件索引读取进内存即可
**优点**
- 每个文件拥有一个索引块,记录所有盘块信息
- 索引分配方式支持直接访问盘块
- 文件较大时,索引分配方式具有明显优势
## 存储空间管理
### 空闲表
| 序号 | 第一空闲盘块号 | 空闲盘块数 |
| --- | --- | --- |
| 1 | 2 | 4 |
| 2 | 9 | 1 |
| 3 | 11 | 32 |
| 4 | 56 | 20|
- 空闲盘区的分配与内存分配类似
- 首次适应算法、循环适应算法等
### 空闲链表
- 空闲链表法把所有空闲盘区组成一个空闲链表
- 每个链表节点存储空闲盘块和空闲的数目
### 位示图(主流)
![](https://cdn.jsdelivr.net/gh/idcpj/imgs/1599992994905-F0B8846E-FB3C-4556-9580-CD420F6FEA6D.png)
- 位示图维护成本很低
- 位示图可以非常容易找到空闲盘块
- 位示图使用0/1比特位,占用空间很小
';