Blog / Entwicklung

Was passiert wirklich, wenn Daten kopiert werden?

Eine Reise von C bis zur CPU

Vom memcpy bis zum Datenträger: Wer arbeitet eigentlich wirklich,
wenn Daten bewegt, gepuffert und geschrieben werden?

Von Tom Heinrich
Technik, C, Assembler, Systemverständnis
C-Code
→
libc
→
Syscall
→
Kernel / VFS
→
Treiber
→
RAM / Cache
→
CPU
→
Datenträger
1

1. Auf Anwendungsebene

Ein C-Programm ruft häufig Funktionen wie memcpy(), read(), write() oder höher abstrahierte Routinen auf.

Hier entscheidet die Anwendung, welche Daten wohin kopiert oder geschrieben werden sollen.

2

2. libc und Syscalls

Viele dieser Funktionen landen früher oder später als Systemaufruf im Kernel.

Die C-Bibliothek stellt lediglich eine bequeme Schnittstelle bereit. Die eigentliche Arbeit übernimmt das Betriebssystem.

3

3. Kernel, Dateisystem und Puffer

Der Kernel nimmt den Syscall entgegen, prüft Berechtigungen und leitet die Operation an das Dateisystem weiter.

Daten werden in den Page Cache geladen oder dorthin geschrieben. Metadaten wie Zeitstempel, Dateigrößen oder Berechtigungen werden ebenfalls aktualisiert. Kopieren bedeutet hier oft weit mehr als ein simples Byte-für-Byte.

4

4. CPU, Cache und RAM

Die CPU bewegt Daten zwischen Registern, Cache und Arbeitsspeicher. Moderne Systeme nutzen Cache Lines, Prefetching und DMA-Transfers, um Daten effizient zu verschieben.

Der Prozessor selbst muss nicht jedes Byte von Hand bewegen, aber er koordiniert den gesamten Ablauf.

5

5. Was auf dem Datenträger landet

Schließlich werden die Daten durch den Treiber an das Speichermedium übergeben.

Dateisysteme legen Strukturen an, aktualisieren Journale und Log-Dateien und achten auf Konsistenz. Kopieren hinterlässt daher immer Spuren – sowohl im Inhalt als auch in den Metadaten.

Wichtiger Punkt

Kopieren bedeutet nicht nur Nutzdaten zu bewegen.
Je nach System entstehen auch Metadaten, Pufferspuren, Dateisystemeinträge und Protokollinformationen.

Kurzfassung

  • C stößt den Vorgang an
  • Das Betriebssystem organisiert
  • CPU, RAM und Treiber arbeiten zusammen
  • Der Datenträger speichert nie nur den sichtbaren Inhalt

Warum das wichtig ist

Wer verstehen will, wie Daten wirklich verarbeitet werden, muss unter die Oberfläche schauen. Gerade bei sensiblen Daten, Air-Gap-Konzepten, forensischer Betrachtung oder sicherer Datenbewegung reicht die Aussage „Datei kopiert“ nicht aus.

Zwischen Anwendung, Betriebssystem, Speicher, Prozessor und Datenträger passieren viele einzelne Schritte. Genau dort entstehen die Details, die später für Sicherheit, Nachvollziehbarkeit und Kontrolle entscheidend sein können.