文件系统管理和优化
前几章讲了文件系统的相关内容,在真实的世界中,文件是存放在磁盘等大容量存储设备上的。本章来讨论磁盘管理的一些问题。
目录
1 磁盘空间管理
2 文件系统备份
3 文件系统一致性
4 文件系统性能
5 磁盘碎片整理
1 磁盘空间管理
把文件放在磁盘中,有两种策略:
1. 为一个文件分配连续的磁盘空间。
2. 把文件分成很多个块,磁盘空间也分成很多个块,来存储文件。
几乎所有的文件系统都把文件分割成固定大小的块来存储。
这就出现几个问题:
(1)块大小
跟内存管理中的页面大小的分配一样,到底多大合适?
块太大,浪费空间。块太小,浪费时间。
从历史观点来说,文件系统将大小设在1~4KB之间,但是随着磁盘超过了1TB,还是将块的大小提升到了64KB并且接受浪费空间。
(2)空闲块的管理
空闲块是未分配给文件和目录的空间。
选定了块大小,下一个问题就是怎样跟踪空闲块。有两种方法:
1)位图
n块磁盘需要n位位图。
占用空间小。
2)磁盘块链表
链表的每个块中包含尽可能多的空闲磁盘号。