5

ディスク デフラグ アリーナで試してみたいアイデアがいくつかあります。実装の前段階として、ディスクを断片化された状態にすることができると便利だろうという結論に達しました。これは、最適化された状態よりも実現が難しい状態のように思えます。市販のデフラグ ツール会社はおそらくこの問題を解決したと思います。

だから私の質問.....

フラグメンタを実装するにはどうすればよいでしょうか? デフラグ ツールをテストするために使用されるというコンテキストでは、どのような意味がありますか?

4

4 に答える 4

7

おそらく、実際のディスクを断片化する代わりに、シミュレーション/モック ディスクで最適化アルゴリズムを実際にテストする必要がありますか? アルゴリズム自体が指定どおりに機能することに満足して初めて、実際のディスク API を使用して実際のディスクでテストを実行できます。

実際の断片化されたディスク (自分のディスクまたは知り合いのディスク) のスナップショットを作成し、このデータをテスト用のモック モデルとして使用することもできます。

于 2009-03-29T20:55:59.260 に答える
2

断片化を最適化する方法は、ファイル システムによって異なります。

一般に、多数のファイルを同時に開きます。ファイルを開くと、新しいディレクトリ エントリが作成されますが、そのファイルのブロックは書き込まれません。しかし、今度は各ファイルを順番に調べて、1 つのブロックを書き込んでいきます。これにより、通常、次の空きブロックが消費され、すべてのファイルが互いに断片化されます。

既存のファイルを断片化することは別の問題です。基本的には同じことを行いますが、既存のファイルのファイル コピーに対して行い、元のファイルを削除してコピーの名前を変更します。

于 2009-03-29T20:56:36.140 に答える
2

ここでは単純化しすぎているかもしれませんが、ディスクを人為的に断片化すると、実行するテストは実際の断片化ではなく、断片化によって作成された断片化に対してのみ当てはまります。現実世界の出来事を表していないフラグメンター ツールの仮定を最適化することになる場合があります。

断片化されたディスクのディスク イメージを取得する方が簡単で正確ではないでしょうか? データを使って反社会的なことをしないと信頼している友人や同僚はいますか?

于 2009-03-29T21:08:31.930 に答える
0

断片化は、特定の操作の実行中にハード ドライブのヘッドが移動する距離を最大化しようとする数学的な問題です。したがって、何かを効果的に断片化するには、最初に特定の操作を定義する必要があります

于 2009-03-29T21:02:56.233 に答える