假设我在 HDD 磁盘存储中保存了一个文本文件(假设磁盘存储是新的并且已进行碎片整理)并且文件名是 A,文件大小为 10MB
我假设文件 A 占用了磁盘中的一些空间,如图所示,其中 x 是磁盘上未占用的空间/内存
AAAAAAAAAAAAA xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
现在,我创建并保存另一个一定大小的文件 B。所以 B 将被保存为
AAAAAAAAAAAAA BBBBBBBBBBBBBBBBBxxxxxxxxxxxxxxxxxxxxxxxxxxx - 由于磁盘已进行碎片整理,我假设存储将是连续的。
在这里,如果我编辑文件 A 并将文件大小减小到 2MB 会怎样。你能说现在将如何分配内存吗?
我能想到的一些选项是
AAAAAA xxxxxxxxxBBBBBBBBBBBBBBBBxxxxxxxxxxxxxxxxxxxxxxxxxxxx
或
AA xxx AA xxx A x A xxBBBBBBBBBBBBBBBBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
或者一个全新的位置为其他文件释放更大的块。
xxxxxxxxxxxxxxxBBBBBBBBBBBBBBBB AAAAAA xxxxxxxxxxxxxxxxxxxxxx
还是基于任何算法或数据结构的任何其他方式。