PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum werden Dateien nicht blockweise kopiert/entpackt??


minos5000
2007-09-30, 16:12:38
Ich habe soeben eine seltsame Beobachtung gemacht. Ich hatte eine meiner Partitionen frisch defragmentiert, d.h. alle Dateien waren zu einem großen Block (der blaue Bereich) aneinandergereiht und anschließend habe ich eine größere Datei in die Partition entpackt.
Interessehalber hab ich noch mal einen Scan über die Partition laufen lassen und entsprechend groß war meine Verwunderung als ich sah, daß die neue Datei total zerhackt auf der neuen Partition liegt (rote Blöcke). Und auch wenn ich eine Datei nicht entpacke sondern lediglich kopiere wird sie nicht am Stück an die Daten der Partition angehängt.
Das scheint nur zu passieren, wenn die zu kopierenden Daten bereits fragmentiert sind, aber das erklärt noch nicht, warum sich Windows das Leben nicht selbst einfach macht und die Daten am Stück kopiert?

Hat jmd vielleicht eine Erklärung für dieses Verhalten? Ich hab schließlich keine große Lust, mehrmals am Tag einen Defrag-Vorgang zu starten.

http://img233.imageshack.us/img233/3585/defragcx2.jpg

Superguppy
2007-09-30, 18:27:59
Ich vermute, dass Windows die Daten dort schreibt, wo es von der Festplatte her am schnellsten geht. Sprich, wenn er gerade an Position X eine Datei liest (irgendetwas liest/schreibt Windows ja immer auf der HDD herum), schreibt er die nächsten Blöcke gleich dort. Auch wenn der Rest der Datei irgendwo anderes liegt.
Allerdings alle Blöcke so zusammenzuschieben ist auch nicht sinnvoll. Sobald eine Datei ein Stückchen wächst, muss sie fragmentiert werden.

_DrillSarge]I[
2007-09-30, 18:42:13
weil (fast) alles vorher in den festplattencache verschoben wird und danach, wenn der chache voll ist, dort hin geschrieben wird wo es für den lese/schreibkopf der festplatte am nächsten ist und die blöcke noch frei sind. zudem werden noch temporäre dateien angelegt, welche sich quasi zwischen die einzelnen blöcke schieben und somit fragmentierung verursacht, da diese temp. vollen blöcke danach als leer markiert werden.

€: ok war etwas wirr nochmal:
entpackst du etwas, werden temporäre dateien angelegt und am stück abgespeichert. die länge dieser dateien ist unterchiedlich (kommt auf ram, festplattenchache und noch paar andere sachen an). wenn der packer nun solch eine temporäre datei als "richtige" datei(stück) auf der festplatte abspeichert, wird zum einem die position auf der platte genommen welche der jetzigen position des plattenkopfes am nächsten ist, also irgendwo bei der temporären datei. wenn der packer mit dem schreiben des dateistücks fertig ist, markiert er die temporären blöcke als leer und setzt den schreibvorgang eines neuen temporären stücks irgendwo in der nähe dieser vorher glöschten blöcke fort. es kann sein, dass die nun neu entstehende temporäre datei die blöcke, welche "fertig und echt" sind überlappt, es kann also sein der "echte" block liegt in mitten der temporären blockette. da diese später gelöscht wird entstehen so "lücken" auf der platte = fragmentierung.

minos5000
2007-10-01, 08:27:27
Ok, das leuchtet ein.

Aber wie läßt es sich dann erklären, daß beim kopieren einer Datei diese nur dann fragmentiert auf der neuen Partition landet, wenn die ursprüngliche Datei auch fragmentiert war?

Ich hab nämlich mal versucht die Fragmentierung von ein paar sehr großen Dateien so zu beseitigen, daß ich sie einfach von einer Platte auf eine andere kopiere, anschließend lösche und wieder zurückschiebe. Wenn es funktioniert hätte, wäre es auf jeden Fall viel schneller gewesen, als einen Defrag-Vorgang zu starten.

Supa
2007-10-01, 16:43:01
Ich finde man sollte auch nicht zuviel auf eine 100% defragmentierte Platte geben... oder putzt du auch noch jeder fahrt mit dem auto die reifen?

minos5000
2007-10-02, 08:00:53
Wenn man viel Dateien verschiebt, löscht und verändert dann schon. Mir ists schon passiert, daß ne 7200er Platte so fragmentiert war, daß ich beim Brennen mit 4x-Speed einer DVD nen Buffer Underrun gekriegt hab. Erst hab ich überhaut nicht an Fragmentierung gedacht, aber nachdem der 3. Rohling endlich erfolgreich gebrannt wurde, mit 2,4-fach, dämmerte es mir.
Und seither achte ich etwas darauf, daß die Partitionen nicht zu stark fragmentieren.