2009-03-29 12 views
5

私はディスクデフラグアリーナで試したいいくつかのアイディアを持っています。私は実装の前兆として、断片化された状態にディスクを置くことができれば便利であるという結論に達しました。これは、断片化されたものよりも達成するのが難しい状態になるようです。私は商用のデフラグ企業がおそらくこの問題を解決したと仮定します。ディスク・フラグメント化プログラムの実装方法は?

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

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

答えて

2

どのように最適化できるかは、ファイルシステムによって異なります。

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

フラグメンテーション既存のファイルは別の問題です。基本的には、同じ操作を行いますが、既存のファイルのファイルコピーに対して行い、コピーの元の名前と名前の変更を行います。

7

実際のディスクを断片化するのではなく、シミュレーション/模擬ディスクで実際に最適化アルゴリズムをテストする必要がありますか?アルゴリズム自体が指定どおりに動作することが確認できれば、実際のディスクAPIを使用して実際のディスクでテストを実行できます。

実際の断片化されたディスク(あなたまたはあなたが知っている人)のスナップショットを撮って、このデータをテストの模擬モデルとして使用することもできます。

+0

男、あなたの答えは秒で私を打つ! –

0

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

2

ここでは単純すぎるかもしれませんが、人為的にディスクを断片化すると、実行するテストは断片化者によって作成された断片化現実世界の断片化よりも。フラグメント化ツールで実際に発生していない仮定を最適化することができます。

断片化したディスクの一部のディスクイメージを取得する方が簡単で正確ではないでしょうか?自分のデータで反社会的なことをしないと信じている友達や同僚がいますか?

関連する問題