Copy On Write?

Beim Durchstöbern meiner Unterlagen bezüglich des BTRFS, welches mir unsere liebe Rei empfohlen hatte, kam immer wieder ein Begriff vor, welcher mich mal ein bisschen nachstöbern lies: Copy on Write – zu Deutsch Kopieren beim Schreiben.

Ich nehme mal an, dass ihr nun den Kopf schüttelt und euch fragt, was der Kerl beim Schreiben kopieren will und schon die Einweisung in eine Klapse vor euch habt – aber ich darf euch beruhigen, es geht diesmal um Informatik, genauer gesagt um Dinge, die im Speicher stattfinden.

Gehen wir es einmal direkt an einem Beispiel an: Wenn mehrere Prozesse gleichzeitig auf eine Datei zugreifen wollen, müsste man diese kopieren und jedem Prozess seine eigene Kopie zur Verfügung stellen, in der er herumwerkeln darf. Dass das natürlich einige nutzlose Kopien im Speicher erzeugt, dürfte spätestens dann klar werden, wenn einem klar wird, dass Lesen ja auch nur ein Zugriff auf eine Datei ist.

Mit anderen Worten: es werden immer wieder Kopien der selben Daten angelegt, die niemand braucht. Copy on Write setzt genau da an, indem man die Prozesse auf ein und den selben Speicherbereich, also auf das im Speicher befindliche Original loslässt, so lange sie nur lesen. Wenn ein Prozess jedoch Daten schreiben möchte, bekommt er eine eigene Kopie zum Basteln, welche nicht immer vollständig sein muss.

Author:

2 thoughts on “Copy On Write?”

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert