Wie funktionieren Defragmentierungsprogramme?

2736
Lazer

a) Welchen Algorithmus würde ein typisches Defragmentierungsprogramm verwenden, um die Fragmentierung zu beseitigen?

b) In Defraggler habe ich eine schnelle Defragmentierungsoption und eine Defragmentierungsoption. Angenommen, die Defragmentierung würde eine normale Defragmentierung durchführen. Was würde eine schnelle Defragmentierung tun?

13

3 Antworten auf die Frage

13
Mehper C. Palavuzlar

Ich bin nicht tief in der Defragmentierung, möchte aber einige Informationen zu Ihrer Frage teilen. Für den ersten Teil Ihrer Frage erwähnt MSDN die Defragmentierungsalgorithmen in ihrem Blog:

In Windows XP wird jede Datei, die in mehrere Teile aufgeteilt ist, als fragmentiert betrachtet. In Windows Vista ist dies nicht der Fall, wenn die Fragmente groß genug sind. Der Defragmentierungsalgorithmus wurde geändert (von Windows XP), um Teile einer Datei zu ignorieren, die größer als 64 MB sind. Daher werden bei der Defragmentierung in XP und bei der Defragmentierung in Vista unterschiedliche Fragmentierungsgrade auf einem Volume gemeldet. Welches ist also richtig? Bevor die Frage beantwortet werden kann, müssen wir verstehen, warum die Defragmentierung in Vista geändert wurde. In Vista haben wir die Auswirkungen der Defragmentierung analysiert und festgestellt, dass die wichtigsten Leistungssteigerungen bei der Defragmentierung der Fall sind, wenn Teile von Dateien zu ausreichend großen Blöcken zusammengefasst werden, sodass die Auswirkung der Datenträgersuchlatenz relativ zu der Latenzzeit beim sequenziellen Lesen nicht signifikant ist die Datei.Es gibt einen Punkt, nach dem die Kombination fragmentierter Dateien keinen erkennbaren Nutzen hat .

Sie können den gesamten Artikel hier lesen: Engineering Windows 7 - Defragmentierung.

Für den zweiten Teil Ihrer Frage hat Piriform Docs eine Antwort:

Defraggler verfügt über zwei verschiedene Modi für die Defragmentierung: reguläre Defragmentierung und Quick Defrag. Quick Defrag ist schneller, aber die Ergebnisse sind nicht so optimal wie bei einer normalen Defragmentierung.

Quick Defrag funktioniert schneller, indem Dateien mit bestimmten Eigenschaften übersprungen werden. Diese werden im Dialogfeld "Optionen" auf der Registerkarte "Schnelle Defragmentierung" angegeben.

Die Standard-Schnelldefragmentierungsregel besteht darin, Dateien mit Fragmenten größer als 50 MB zu überspringen.

Zum besseren Verständnis der Defragmentierung hat Wikipedia eine gute Seite .

+1 Das betrifft fast alles, was wir über Defrag sagen können! r0ca vor 14 Jahren 0
2
afrazier

Wichtig zu beachten: Microsoft bietet eine API, mit der Programme Dateien sicher defragmentieren können. (Siehe Defragmentieren von Dateien auf MSDN. ) Jeder Defragger sollte diese APIs verwenden, und die meisten tun dies.

Die ganze "Magie" des Defragmentierens hängt davon ab, wie die Dateien angelegt werden. Dies ist, was die verschiedenen Programme verwenden, um sich voneinander zu unterscheiden. Wenn Sie der Meinung sind, dass Sie wirklich intelligent sind, können Sie mit MyDefrag Ihr eigenes Layoutskript schreiben.

0
Grumpy ol' Bear

Es gibt absolut keine Antwort. Es gibt keinen "typischen" Algorithmus. Weil jede Defragmentierungsanwendung ihre eigenen Algorithmen verwendet. Sicherlich könnte es einen "Trend" unter einigen der bekannteren Algorithmen geben, aber im Allgemeinen gibt es keinen typischen oder universellen.

Nehmen Sie MyDefrag, eine erstaunliche App, übrigens, Sie können bis zu einem gewissen Grad Ihre eigenen Defragmentierungsalgorithmen schreiben.