如何实现磁盘碎片机呢?

Evi*_*ach 5 utility fragmentation

我想在Disk Defragmentation Arena中尝试一些想法.我得出的结论是,作为实现的先驱,能够将磁盘置于碎片状态是很有用的.在我看来,这是一个比经过碎片整理更难实现的状态.我认为商业碎片整理公司可能已经解决了这个问题.

所以我的问题.....

如何实施一个分裂者呢?在使用它的上下文中有什么意义来测试碎片整理程序?

Igo*_*ejc 7

也许你应该在模拟/模拟磁盘上测试你的碎片整理算法,而不是分割实际的磁盘?只有当您对算法本身按指定工​​作满意后,才能使用实际磁盘API在实际磁盘上进行测试.

您甚至可以拍摄实际碎片磁盘(您或您认识的人)的快照,并将此数据用作测试的模拟模型.


小智 2

如何最好地进行分段取决于文件系统。

一般来说,同时打开大量文件。打开文件将创建一个新的目录条目,但不会导致为该文件写入块。但现在依次检查每个文件,写入一个块。这通常会导致下一个空闲块被消耗,从而导致所有文件相互碎片化。

对现有文件进行碎片化是另一回事。基本上,执行相同的操作,但在现有文件的文件副本上执行此操作,删除原始文件并重命名副本。