a)典型的な最適化プログラムは、断片化を取り除くためにどのアルゴリズムを使用しますか?
b)Defragglerには、クイックデフラグオプションとデフラグオプションがあります。デフラグが通常のデフラグを行うと仮定すると、クイックデフラグは何をしますか?
a)典型的な最適化プログラムは、断片化を取り除くためにどのアルゴリズムを使用しますか?
b)Defragglerには、クイックデフラグオプションとデフラグオプションがあります。デフラグが通常のデフラグを行うと仮定すると、クイックデフラグは何をしますか?
回答:
私はデフラグを深くしていませんが、あなたの質問に関するいくつかの情報を共有したいと思います。質問の最初の部分で、MSDNはブログで最適化アルゴリズムについて言及しています。
Windows XPでは、複数の断片に分割されたファイルは断片化されていると見なされます。Windows Vistaでは、フラグメントが十分に大きい場合はそうではありません。64MBを超えるファイルの断片を無視するように(Windows XPから)最適化アルゴリズムが変更されました。その結果、XPでのデフラグとVistaでのデフラグは、ボリューム上の異なる量の断片化を報告します。それで、どちらが正しいですか?質問に答える前に、Vistaのデフラグが変更された理由を理解する必要があります。Vistaでは、デフラグの影響を分析し、デフラグによる最も重要なパフォーマンスの向上は、ファイルの断片が十分に大きなチャンクに結合され、ディスクシークの待ち時間の影響が順次読み取りに関連する待ち時間に比べて大きくないことであると判断しましたファイル。ファイルの断片化された断片を結合することが認識できる利益を全く持たないポイントがあります。
ここから記事全体を読むことができます:Engineering Windows 7-Disk Defragmentation。
質問の2番目の部分について、Piriform Docsには答えがあります。
デフラグにはデフラグの2つの異なるモードがあります。通常のデフラグとクイックデフラグです。クイックデフラグは高速ですが、結果は通常のデフラグほど最適ではありません。
クイックデフラグは、特定のプロパティを持つファイルをスキップすることにより高速に動作します。これらは、[オプション]ダイアログボックスの[クイックデフラグ]タブで指定されます。
デフォルトのクイックデフラグルールは、50MBを超えるフラグメントを持つファイルをスキップすることです。
デフラグの理解を深めるために、ウィキペディアには良いページがあります。
注意すべき重要な点が1つあります。Microsoftは、プログラムがファイルを安全に最適化するために使用できるAPIを提供しています。(MSDNのファイルのデフラグを参照してください)デフラグツールはすべて、これらのAPIを使用する必要があります。
デフラグのすべての「魔法」は、ファイルのレイアウト方法を決定することにあります。これは、さまざまなプログラムが互いに区別するために使用するものです。本当に頭がいいと思うなら、MyDefragを使用して独自のレイアウトスクリプトを作成できます。