Was macht der Prozessor, wenn ich Dinge von einer USB-Festplatte auf eine andere kopiere?

Was macht der Prozessor, wenn ich Dinge von einer USB-Festplatte auf eine andere kopiere?

Werden alle Daten, die ich kopiere, dort durchlaufen oder gibt es einen anderen, direkteren Weg?

Antwort1

Das ist eine knifflige Frage! Die Daten durchlaufen nicht wirklich die CPU.

Daten und die kritischen Einsen und Nullen durchlaufen den Chipsatz oder dedizierte E/A-Chips und den Speicher. Beim Kopieren von Dateien wird der Befehl zum Kopieren jedoch vom Prozessor ausgeführt.

Stellen Sie sich vor, Sie haben ein Objekt vor sich (die Daten), Ihre Arme (Chipsatz/E/A-Chip) und Ihr Gehirn (die CPU). Sie verwenden Ihr Gehirn nicht wirklich, um das Objekt zu bewegen, sondern Ihr Gehirn gibt den „Befehl“ an Ihre Arme weiter, das Objekt zu bewegen.

Antwort2

Die CPU muss das Programm ausführen, das die Quelldatei liest und dann die Zieldatei schreibt.

Die gelesenen Daten werden (normalerweise) stückweise in den Hauptspeicher gelesen, durchlaufen aber nicht die CPU.

Antwort3

Auf einem Mainframe mit intelligenten Kanälen würde die CPU den Kanälen einfach sagen, dass sie die Kopie erstellen sollen. Sehr effizient und ermöglicht schnelle große Backups mit geringem CPU-Overhead.

Leider verfügen wir nicht über intelligente Kanäle, sodass die CPU in einer Schleife ähnlich der folgenden endet:

für jede Datei (dev1);
   Datei erstellen(dev2);
   Kopiere Dateiinhalt(dev1, dev2);
Ende;

Der CPU-Overhead ist nicht so hoch, es sei denn, es gibt viele kleine Dateien, insbesondere viele Dateien im selben Verzeichnis. Der Vorgang zum Erstellen von Dateien hat normalerweise den höchsten Overhead. Beim Kopieren von Datenträger zu Datenträger wird jeder Datenträger einfach als bereits vorhandene Datei behandelt.

verwandte Informationen