操作系统笔记11-文件系统结构
操作系统笔记11-文件系统结构
文件系统结构
分配方法
连续分配
每个文件在磁盘上占有一组连续的块。
**优点:**实现简单,可以随机访问
**缺点:**浪费空间(参考内存分配中的连续分配)
链接分配
每个物理块有一个指针项,指向下一个记录的物理块。
目录文件包含文件第一块的指针和最后一块的指针
**优点:**长度可变,没有浪费
**缺点:**不支持随机访问,每个块存在指针项的浪费
索引分配
每个文件都有至少一个索引块(索引块也是一个物理块)
在该块中,存有该文件的各个记录所在的块,可以用多级索引来保存较大的文件
**优点:**支持随机访问
**缺点:**至少浪费了一个物理块
空闲空间的管理
位向量(位示图)
每一块用一位表示:空闲为1,已分配为0
如何找到一个空闲块的块号?(值为0的字数)X (一个字的位数,即16位)+第一个值为1的位的偏移
优点:占用空间小,可以常驻内存,支持连续空间分配
链表(空闲块链)
将所有空闲的磁盘块用链表连接起来,并将指向第一空闲块的指针保存在磁盘的特殊位置,同时缓存在内存中。
文件空白目录(计数)
利用一个表记录空闲块的起始块和块数,类似于内存分配中的未分分区表
效率与性能
效率与性能取决于:磁盘分配算法、目录管理算法等
提高访问性能的方法:1.提前读、2.即刻释放
恢复
由于文件和目录可保存在内存和磁盘上,因此必须确保不会引起数据丢失和数据不一致
一致性检查
一致性检查程序将目录结构数据与磁盘数据块相比较,试图纠正所发现的不一致。
在虚拟内存一节中,内存中的页撤销时,就要检查是否有更改,有的话就要写回。
备份和恢复
可以利用系统程序将磁盘数据备份到另一存储设备上。恢复时从备份中恢复
为了降低复制量,可以如下进行:
- 第一天备份所有数据,称完全备份
- 第二天,将自第一天以来改变过的数据备份,称增量备份
- 进行增量备份
上述方案类似git的版本控制
用户可能在文件损坏很久才发现数据不见或损坏,因此需要不时进行完全备份
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星辰微光的博客!





