Was genau passiert beim Verschieben von Dateien?

L

Lucky

Registriert
22.02.04
Beiträge
1.302
Reaktionen
16
Punkte
2.201
Hierzu habe ich leider (zumindest auf die Halbschnelle) nichts in Google gefunden:

Ich würde gern wissen, was Windows (7) macht, wenn man Dateien an einen anderen Ort verschiebt. Vor allem, in welcher Reihenfolge passiert was?

Mir ist schon aufgefallen, dass manchmal selbst riesige Datenmengen superschnell verschoben sind (also quasi in 1 Sekunde), aber wohl nur, wenn Quell- und Zielort auf derselben Partition sind?! Ich könnte mir vorstellen, in diesem Falle wird der Ort der Dateien einfach nur "umadressiert", aber physikalisch bleiben die Daten an derselben Stelle auf der Festplatte, stimmt das?

Wird das dann auch klappen, wenn z.B. 90% der Festplatte voll ist, und ich einen Ordner, dre 50% der Festplatte einnimmt, in einen anderen Unterordner verschieben will (obwohl gerade nur 10% "frei" sind)?

In anderen Situationen, z.B. verschieben auf oder zwischen externen Festplatten, dauert das ganze viel länger. Was ist Verschieben genau: Schlichtes kopieren + anschließendes (unwiderrufliches) Löschen oder in-Papier-Korb-Verschieben?

Ist Verschieben "riskanter" als kopieren + anschließendes manuelles Löschen? - Was, wenn mittendrin der PC abstürzt oder der Verschiebe-Vorgang abgebrochen werden muss - können Quelldaten dann verloren sein?
 
Beim Verschieben auf derselben Partition werden nur die Verzeichnispfade angepasst, wie du schon dachtest ("umadressiert"). Daher kann man auch Ordner auf derselben Partition verschieben, die größer als der freie Platz der Partition sind (das wird ja im übrigen Datei für Datei gemacht, also sind es so viele Einzelvorgänge, wie es Dateien sind).

Bei Verschieben zwischen unterschiedlichen Partitionen ist es "kopieren + löschen" (endgültig, da die Dateien ja an anderer Stelle weiterhin da sind).

Verschieben ist nicht riskanter als kopieren + manuell löschen. Gelöscht wird immer erst, nachdem die Datei vollständig an der neuen Stelle angekommen ist (bei Verschieben zwischen verschiedenen Partitionen).
Wenn es vorher einen Abbruch gibt, verbleibt die Datei an der alten Stelle, und der Speicherbereich an der neuen Stelle bleibt frei, als wäre nichts gewesen, auch wenn dort schon Teile der Datei stehen. Erst nachdem eine Datei komplett an der neuen Stelle steht, erscheint sie im Dateisystem. Vorher weiß das Dateisystem nicht, dass da irgendwas steht und betrachtet den Platz als frei. (Wobei trotzdem geregelt wird, dass mehrere "gleichzeitige" Schreibprozesse sich nicht gegenseitig überschreiben.)
 
Das alles hängt auch ein wenig vom Betriebssystem und dem verwendeten Filesystem ab.
Ich gehe jetzt mal vom Fall Windows 7 und NTFS aus.
in diesem Falle wird der Ort der Dateien einfach nur "umadressiert", aber physikalisch bleiben die Daten an derselben Stelle
So ist es.
Der Pointer zum Anfang der Datei, den eigentlichen Daten (dem Inhalt der Datei) steht in der Master File Table bzw. im Directory.
Beim Verschieben wird dieser Pointer in ein anderes Directory eingetragen und im ursprünglichen gelöscht.

Was ist Verschieben genau: Schlichtes kopieren + anschließendes (unwiderrufliches) Löschen oder in-Papier-Korb-Verschieben?
Das partitionsübergreifende Verschieben erfolgt mehrstufig.
Zunächst wird auf der Zielpartition Platz für die Datei reserviert.
Dann wird der Inhalt der Datei an den reservierten Platz kopiert.
Am Schluss wird der neue Pointer in das neue Verzeichnis eingetragen und der alte Pointer im alten Verzeichnis gelöscht sowie der Platz für weitere Verwendung freigegeben.
Seit Vista ist das ein transaktioneller Vorgang, der im Falle eines Abbruchs wieder vollständig zurückgefahren wird.
Für diese Transaktionen wird in der Master File Table ein Journal geschrieben.

Ist Verschieben "riskanter" als kopieren + anschließendes manuelles Löschen?
Nein.
Es ist ebenbürtig zu Kopieren + endgültiges Löschen.
Beim manuellen Doppelschritt hast du allerdings die Chance, anstatt endgültig zu löschen, das Original in den Papierkorb zu verschieben.

Wird das dann auch klappen, wenn z.B. 90% der Festplatte voll ist, und ich einen Ordner, dre 50% der Festplatte einnimmt, in einen anderen Unterordner verschieben will
Bei Verzeichnissen im allgemeinen kein Problem. Bei großen Dateien klappt es dann, wenn dabei nicht eine andere Datei mit gleichem Namen überschrieben werden muss.


Manche Synchronisationsprogramme bieten wahlweise auch andere Varianten des Verschiebens an, bei der die alte Datei blockweise an die neue Stelle verschoben wird.
Diese Variante ist insbesondere bei großen Dateien zwar schneller, kann aber im Falle eines Crashs nicht rückgefahren werden.
 
Wow, Hyp und petaod, Super-Antworten!!!
Alles verstanden.

DICKES DANKE <-- button gibt's in diesem Unterforum nicht. Daher muss das reichen ;)
 
Solche Antworten auf eine Frage würd man sich in jedem Thread hier wünschen. Super :)

Von mir auch ein fiktives Danke ;)
 
Ich habe diesen Thread mal in ein "Dankefähiges" Forum verschoben! :)



:moved:
 

Ähnliche Themen

M
  • Artikel
Testberichte FXpansion GURU
Antworten
0
Aufrufe
18K
M

Oft gelesene Themen

Zurück
Oben