回答:
フラグメンテーションは、30年前の問題ではありません。当時は、フロッピーよりもほとんど高速でないハードドライブと、非常に小さなプロセッサメモリサイズがありました。これで、非常に高速なドライブと大容量のプロセッサメモリを使用できるようになり、ハードドライブまたはコントローラーにかなりのバッファリングが行われる場合があります。さらに、セクターサイズが大きくなっている(またはファイルがより大きなブロックに割り当てられている)ため、より多くのデータが本質的に連続しています。
オペレーティングシステムもよりスマートになりました。DOS 1.xは参照されたとおりにディスクから各セクターをフェッチしていましたが、最新のOSはシーケンシャルアクセス用にファイルを開いていることを確認でき、消費すると追加のセクターをフェッチすることを合理的に予測できますあなたが今持っているもの。したがって、次のいくつかの(ダース)セクターを「プリフェッチ」できます。
さらに、ファイルが連続していない方が良い場合がよくあります。ファイルシステムが複数のドライブに分散している(大規模な)システムでは、複数のディスクが同時にファイルをシークできるため、ファイルが「拡散」されている場合、実際にファイルに高速でアクセスできます。
ボックスが必要かどうかにかかわらず、2〜3年ごとに最適化を行います。
[重要なことは、ディスク上のデータが最適化されるかどうかではなく、空き領域が最適化されるかどうかであると付け加えます。FATはこれでひどいものでした-最適化されたものが2つの連続した空きブロックがなくなるまで悪化し続けない限り。他のほとんどのスキームでは、空き領域を合体させて断片をある程度「スマート」に割り当てることができるため、断片化は悪化するのではなく、一定のしきい値に達してから安定します。
すべてのファイルシステムの断片。extおよびその他のLinuxファイルシステムは、その設計方法により断片化が少なくなっています-Linuxネットワーク管理者ガイドに関するウィキペディアを引用すると:
最新のLinuxファイルシステムでは、ファイル内のすべてのブロックを連続したセクターに格納できない場合でも、ファイル内のすべてのブロックを近づけることにより、断片化を最小限に抑えています。ext3などの一部のファイルシステムは、ファイル内の他のブロックに最も近い空きブロックを効果的に割り当てます。そのため、Linuxシステムでの断片化について心配する必要はありません。
ただし、ext4にはオンラインでの最適化があるため、Linuxファイルシステムであっても、最終的には断片化が問題になることに注意してください。
Windowsファイルシステムは、配置するスペースがある場所にクラスターを配置し、最適化を実行してそれらを置き換えます。Linuxでは、十分なスペースがある場所にファイルが優先的に配置されます。
ただし、Windows 7では最適化の実行がスケジュールされているため、手動で最適化を実行する必要はありません。
ext*
それが進むにつれてデフラグしません。trac.transmissionbt.com/ticket/849およびh-online.com/open/features/…。ext*
ディスク上のランダムな場所に連続したデータを保存することにより、断片化を最小限に抑えます。ランダムオフセットは、連続したファイルをディスク全体に広げ、ファイルを断片化する必要性を減らします。