Zu Beginn argumentiert, dass NTFS nicht auf Dateifragmentierung ausgesetzt. Es war nicht ganz richtig, und die Anweisung geändert - NTFS Fragmentierung verhindert. Es stellte sich heraus, dass dies nicht zutrifft. Das heißt, es ist natürlich, zu verhindern, aber das Gefühl , es ist nahe Null ... Es ist nun klar , dass NTFS - ein System , das ist wie keine andere zu einer Fragmentierung anfällig ist, das wäre nicht offiziell geltend gemacht werden. Das einzige, was - logisch ist es nicht wirklich darunter zu leiden. Alle internen Strukturen sind so konstruiert, dass die Fragmentierung nicht schnell stoppen Datenfragmente zu finden. Aber durch die physikalischen Auswirkungen der Fragmentierung - extra Kopfbewegungen - es ist sicherlich nicht helfen. Und so - vorwärts, um den Song ...

NTFS - sehr wirtschaftliches System. Clustergröße ist minimal ist es sinnvoll - in der Regel 4 KB (Laufwerke sind jetzt Standard auf ein Dutzend oder zwei Gigabyte). Wie bekannt ist, ist das System in den meisten aller Fragmente von Dateien, wenn der freie Raum über, wenn man die kleine Löcher übrig von anderen Dateien zu verwenden. Hier gibt es die erste NTFS Eigenschaft, die unmittelbar zu schweren Fragmentierung fördert.
NTFS Platte ist in zwei Zonen unterteilt. Zu Beginn der Scheibe ist MFT-Bereich - ein Bereich, in dem die wachsende MFT, Master File Table. Fläche einnimmt mindestens 12% der Platte, und die Aufzeichnungsdaten in diesem Bereich nicht möglich ist. Dies wird getan, um zu noch MFT fragmentiert. Aber wenn der Rest der Scheibe gefüllt ist - wird die Zone genau doppelt reduzierten :) . Usw. So haben wir nicht eine Reihe Endscheibe, sondern mehrere. Als Ergebnis, wenn NTFS auf dem Datenträger, auf etwa 90% gefüllt arbeitet - Fragmentierung wächst wie verrückt.

  • Aufstieg eine Folge - die Platte mehr als 88% gefüllt, defragmentieren fast unmöglich - auch Defragmentierungs-API, die Daten nicht in der MFT-Zone bewegen kann. Es kann sein, dass wir nicht haben Platz für Manöver.

Weiter. NTFS arbeitet derzeit aktiv ist und alle noch fragmentiert. Dies wird durch die seltsame Algorithmus der Suche nach freien Raum erleichtert - die zweite schwerwiegende Unterlassung. Wenn die Datei in große Stücke geschrieben - alles ist in Ordnung. Aber wenn die Datei langsam wächst - dieser Algorithmus durch eine bestimmte Menge an Platten nehmen und Datei wird bis zum Anschlag gefüllt. Und ein sehr interessanter Algorithmus: zuerst das große Loch zu füllen, dann klein. dh typische Verteilung der Fragmente durch Größe auf fragmentierte NTFS-Datei sieht wie folgt aus (Fragmentgrößen):
16-16 - 16-16 - 16 - [zurück Rennen] - 15-15 - 15 - [zurück] - 14 - 14 bis 14 .... 1 - 1 - 1 -1 - 1 ...
Somit geht der Prozess zu den kleinsten Löchern in der 1-Cluster, trotz der Tatsache, dass es auf der Platte ist und mit Sicherheit viel größere Brocken freien Speicherplatz.

Vielleicht habe ich vergessen, etwas anderes zu schreiben ... was bedeutet, dass nicht gesagt werden kann, dass NTFS-Dateifragmentierung verhindert. Im Gegenteil, sie ihre Fragmente gerne. Die Fragmentierung von NTFS nach einem halben Jahr Arbeit wird zu einer echten Überraschung jemand vertraut mit dem Dateisystem Betrieb führen. Daher ist es notwendig, den Defragmentierer zu laufen. Aber , dass alle unsere Probleme dort nicht am Ende, aber leider nur beginnen ...

Im NT gibt es Standard-API-Defragmentierung. Es hat eine interessante Einschränkung für Dateien Blöcke zu bewegen: zu einem Zeitpunkt mindestens 16 Cluster bewegt werden kann, und diese Cluster sollten von einer Position beginnen, die ein Vielfaches von 16 Cluster in der Datei ist (!). Im Allgemeinen ist eine Operation vollständig über 16 Cluster ausgeführt. Folgen:

  • Der Lochabstand von weniger als 16 Cluster kann nichts (außer komprimierte Dateien, aber diese Subtilität) bewegen.
  • Die Datei an einen anderen Ort bewegt wird, hinterlässt (in den neuen Standort), "vorübergehend besetzten Raum" seine Größe in Vielfachen von 16 Cluster ergänzen.
  • Wenn Sie irgendwie falsch versuchen ( "nicht ein Vielfaches von 16") ist die Datei das Ergebnis zu bewegen, oft unberechenbar. Etwas ist abgerundet, etwas gerade nicht bewegt .. Doch alle die Szene großzügig streut "vorübergehend den Platz besetzt." Wahrscheinlich um uns gekümmert, so entkommen wir von diesem Ort - Algorithmus zu defragmentieren Keil nicht. :)
  • "Vorübergehend besetzten Raum" wird nach einiger Zeit veröffentlicht, in der Regel irgendwo in einer halben Minute. Gee.

Dennoch wäre es logisch, diese API zu verwenden. Seine und zu verwenden. Daher ist die Standard-Defragmentierung, mit Anpassungen für Einschränkungen der API, die folgenden Phasen sind, die nicht unbedingt in dieser Reihenfolge:

  • Entfernen von Dateien aus der MFT-Zone. Nicht speziell - nur Rücken an Rücken ist es nicht möglich ist, sie zu setzen :) Harmlos Phase und sogar in etwas Nützliches.
  • Defragmentieren Dateien. Sicherlich nützliches Verfahren, obwohl einige begrenzte Bewegung erschwert Vielfalt - Dateien benötigen oft mehr zu verschieben, als es logisch wäre, um den Geist zu machen.
  • MFT defragmentieren, virtualke (pagefile.sys) und Verzeichnisse. Nur über die API in Windows2000, sowieso - wenn Sie neu starten, einen separaten Prozess, wie in der Diskeeper-e.
  • Folding Datei näher an der Spitze - die so genannte freie Speicherplatz Defragmentierung. Das ist - ein wirklich beängstigend Prozess ...

Angenommen, wir die Dateien in einer Reihe am Anfang der Disc setzen wollen. Legen Sie eine einzelne Datei. Er verlässt den Schwanz Beschäftigung Ergänzungen der Vielzahl von 16 die nächste Put - nach dem Schwanz, natürlich. Nach einiger Zeit haben die Befreiung des Schwanzes, ein Loch <16 die Clustergröße. Welche kann dann nicht über die API-Defragmentierung ausgefüllt werden! Als Ergebnis sah den Bildraum zu optimieren wie folgt aus: viele Löcher etwa die gleiche Größe. Nach der Optimierung - ein Loch im Ende der Scheibe, und viele kleine <16 Löcher in Cluster-Bereich Dateien gefüllt. Welche Orte an erster Stelle gefüllt werden? Das ist richtig, näher an die obere Laufwerk kleine Löcher <16 Cluster ... Jede Datei problemlos erstellt auf prooptimizirovannom Scheibe einer Anzahl von Fragmenten des Wild bestehen wird. Ja, Sie können dann wieder die Festplatte zu optimieren. Und dann wieder .. und doch .. und so - vorzugsweise jede Woche. Brad? Reality.

Somit gibt es zwei Möglichkeiten, etwa äquivalent. Die erste - so optimieren oft Festplatten - Defragmentierer, trat zugleich mit einer wilden Fragmentierung neu erstellte Dateien. Die zweite Option - berühren Sie nichts, und akzeptieren Sie die Uniform, aber viel schwächer Fragmentierung von Dateien auf der Festplatte.

Zwar gibt es eine Defragmentierer, die API - Defragmentierung und arbeitet als etwas mehr direkt ignoriert - Norton Speeddisk 5.0 für NT. Beim Versuch , mit allen anderen zu vergleichen - Diskeeper, O & O Defrag, usw. - Erwähnen Sie nicht , dass der Hauptsache, die grundlegendsten Unterschiede. Nur weil das Problem sorgfältig verborgen ist, zumindest sicherlich nicht bei jeder Gelegenheit beworben. Speeddisk - das einzige Programm , heute bekannt, dass die gesamte Festplatte , ohne die Schaffung kleine Stücke von Leerzeichen optimieren können. Es lohnt sich auch das Hinzufügen , dass die Standard - API nicht NTFS - Volumes mit einem Cluster von mehr als 4 Kilobyte defragmentieren - und Speeddisk, noch können.

Leider ist in Windows 2000, stecken wir Defragmentierer, die die API durchläuft, und dementsprechend Loch Rassen <16 Cluster. So sobald (wenn nicht bereits erschienen) -, dann ist es notwendig, Speeddisk für W2k zu schwingen. Da einige Schlussfolgerung aus all dies - alle anderen Defragmentierer in einzelnen Anwendung einfach schädlich. Wenn Sie es mindestens einmal laufen - dann müssen Sie mindestens einmal im Monat zu laufen von der Fragmentierung der Neuankömmlinge Dateien loszuwerden. Dies ist der Haupt Wesen der Komplexität der NTFS Defragmentierung mittels welcher historisch entwickelt haben.