Copy-On-Write

Copy-On-Write

Das Copy-On-Write-Verfahren (kurz COW genannt, vom Englischen für Kopieren-beim-Schreiben) ist in der Datenverarbeitung eine Optimierungsmethode zur Vermeidung unnötiger Kopien und Kopiervorgänge, beispielsweise zwischen Prozessen unter unixartigen Systemen, insbesondere bei oder nach einem fork-Systemaufruf.

Inhaltsverzeichnis

Grundidee

Die Grundidee des Verfahrens ist, dass die Kopie erst dann „real“ angefertigt wird, sobald sie von einem der Beteiligten verändert wird. Solange alle Beteiligten ihre Kopie nicht verändert haben, reicht es, das Original ein einziges Mal zu speichern. Die Kopie erfolgt also zunächst „virtuell“ und wird erst bei einer ersten Benutzung verzögert angelegt.

Technische Details

Hauptspeicher

Wenn der Betriebssystemkern eine Speicherseite im Adressraum eines anderen Prozesses verfügbar machen muss, ist es nicht nötig, die Daten tatsächlich zu kopieren oder ein weiteres mal im Hauptspeicher anzulegen, wenn die Daten lediglich ausgelesen, aber nicht beschrieben werden. Es genügt, wenn erst einmal die beiden Prozesse auf ein und dieselbe Speicherseite zugreifen. Erst wenn einer der beiden Prozesse die Daten zu manipulieren versucht, müssen diese tatsächlich (und dann auch nur teilweise) kopiert werden, da sich die Inhalte der Speicherseiten dann unterscheiden.

Dies wird auf modernen Hauptprozessoren meist mit Hilfe der Kachelverwaltung (Paging) realisiert, wobei die beiden Prozesse auf die gleiche Speicherseite zugreifen. Sowohl im Adressraum des Besitzers des Originals, als auch in dem des Besitzers der Kopie wird dieser gemeinsame Speicherbereich als „nur lesbar“ markiert. Findet ein Schreibzugriff statt, wird das Betriebssystem informiert, so dass dieses vor dem tatsächlichen Schreibzugriff die betroffene Speicherseite durch eine tatsächliche Kopie ersetzen kann.

Dateisystem

Bei Dateisystemen bedeutet Copy-On-Write, dass geänderte Blöcke nicht überschrieben, sondern zunächst an einen freien Platz vollständig geschrieben werden. Danach werden Verweise auf den Block in den Metadaten aktualisiert. Copy-On-Write ermöglicht transaktionsbasierende Dateisysteme, die unter anderem ohne Verzögerung Speicherabbilder (oder Schnappschüsse der selben) anlegen können. Alte Metadaten und Blöcke werden dabei nicht gelöscht, sondern dem jeweiligen Speicherabbild zugeordnet.[1]

ZFS oder btrfs sind bekannte Vertreter von Dateisystemen die auf Copy-on-Write bauen.

Einzelnachweise

  1. Amy Rich: ZFS. Abgerufen am 17. Juni 2010.

Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Copy-on-write — (sometimes referred to as COW ) is an optimization strategy used in computer programming. The fundamental idea is that if multiple callers ask for resources which are initially indistinguishable, they can all be given pointers to the same… …   Wikipedia

  • Copy-on-write — Saltar a navegación, búsqueda En Informática, Copy on write (copiar al escribir, a veces abreviado como COW ) es una política de optimización utilizada en programación. Si múltiples procesos piden recursos que inicialmente son indistinguibles… …   Wikipedia Español

  • Copy-On-Write — Le Copy on write ou copie sur écriture (souvent désigné par son sigle anglais COW) est une stratégie d optimisation utilisée en programmation informatique. L idée fondamentale : si de multiples appelants demandent des ressources initialement …   Wikipédia en Français

  • Copy-on-write — …   Википедия

  • copy-on-write — Kopieren einer veränderten Datei in einen lokalen Bereich beim möglichen Überschreiben der Ursprungsdatei Verfahren des TFS …   Acronyms

  • copy-on-write — Kopieren einer veränderten Datei in einen lokalen Bereich beim möglichen Überschreiben der Ursprungsdatei Verfahren des TFS …   Acronyms von A bis Z

  • Copy constructor — A copy constructor is a special constructor in the C++ programming language creating a new object as a copy of an existing object. The first argument of such a constructor is a reference to an object of the same type as is being constructed… …   Wikipedia

  • copy — /ˈkɒpi / (say kopee) noun (plural copies) 1. a transcript, reproduction, or imitation of an original. 2. that which is to be transcribed, reproduced, or imitated. 3. written, typed, or printed matter, or artwork, intended to be reproduced in… …  

  • Copy protection — Copy protection, also known as content protection, copy obstruction, copy prevention and copy restriction, refer to techniques used for preventing the reproduction of software, films, music, and other media, usually for copyright reasons.[1]… …   Wikipedia

  • write — W1S1 [raıt] v past tense wrote [rəut US rout] past participle written [ˈrıtn] ▬▬▬▬▬▬▬ 1¦(book/article/poem etc)¦ 2¦(letter)¦ 3¦(form words)¦ 4¦(state something)¦ 5¦(music/song)¦ 6¦(computer program)¦ 7¦(a computer records something)¦ …   Dictionary of contemporary English

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”