在上一篇文章(【心得篇】操作系统文件管理の逻辑结构)中,我介绍了文件在硬盘上的组织结构,但是操作系统要对文件进行管理,仅规划好了逻辑结构还不行,需要明确物理结构才能把管理落到实处。本文的重点便是操作系统如何管理文件,或者更确切地说——操作系统是如何分配磁盘空间的。
基本的管理思想
操作系统对各种实体的管理,说白了就是拿张表格分配资源,有资源信息的表格,也有使用者信息的表格。文件作为一种实体,也是如此被管理的。文件管理和磁盘空间管理,是一体两面。
我们注意到,磁盘的空间包括已被占用的部分和未被占用的部分,而各部分都是极度分散的,因此需要分别进行管理——既需要对未被占用的空闲块进行统计安排,也需要把已被占用的非空闲块安排成逻辑上独立的文件。
空闲块管理
操作系统对空闲块的管理,按照空闲盘块组织方式的不同,一般有4种不同的方法。管理既包括分配空闲块,也包括回收空闲块,所谓“有借有还,再借不难”嘛。
1.空闲表法
操作系统把各个盘区{连续的空闲块}记录下来。表格上的信息是:
| 序号 | 每个盘区第一个空闲块号 | 该盘区空闲盘块数 | //一般是按空闲块号递增
在分配空闲块时,操作系统会根据不同的策略{首次适应算法、循环首次适应算法等}&