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.
digitdream says:
This article is easy to understand and useful, thanks a lot. :)
Stargazer says:
I am glad you like it. I had to look through the papers and wrote it to have a simple summary of it all.