<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Copy-On-Write</id>
	<title>Copy-On-Write - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Copy-On-Write"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Copy-On-Write&amp;action=history"/>
	<updated>2026-05-23T13:10:53Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Copy-On-Write&amp;diff=210866&amp;oldid=prev</id>
		<title>imported&gt;08Linus: /* Einzelnachweise */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Copy-On-Write&amp;diff=210866&amp;oldid=prev"/>
		<updated>2026-04-09T08:19:26Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Einzelnachweise&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Belege}}&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; class=&amp;quot;float-right&amp;quot; caption=&amp;quot;Verfahren&amp;quot; heights=&amp;quot;180&amp;quot; style=&amp;quot;text-align:center&amp;quot;&amp;gt;&lt;br /&gt;
  COW B-tree insertion-deletion illustration 1.svg|&amp;#039;&amp;#039;&amp;#039;1.&amp;#039;&amp;#039;&amp;#039; Eine Datei wird erstellt&lt;br /&gt;
  COW B-tree insertion-deletion illustration 2.svg|&amp;#039;&amp;#039;&amp;#039;2.&amp;#039;&amp;#039;&amp;#039; Eine Kopie nutzt dieselben Datenblöcke&lt;br /&gt;
  COW B-tree insertion-deletion illustration 3.svg|&amp;#039;&amp;#039;&amp;#039;3.&amp;#039;&amp;#039;&amp;#039; Nur veränderte Datenblöcke werden neu geschrieben&lt;br /&gt;
  COW B-tree insertion-deletion illustration 4.svg|&amp;#039;&amp;#039;&amp;#039;4.&amp;#039;&amp;#039;&amp;#039; Nur veränderte Datenblöcke werden neu geschrieben&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das &amp;#039;&amp;#039;&amp;#039;{{lang|en|Copy-On-Write}}&amp;#039;&amp;#039;&amp;#039;-Verfahren (kurz &amp;#039;&amp;#039;&amp;#039;COW&amp;#039;&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;&amp;#039;CoW&amp;#039;&amp;#039;&amp;#039; genannt, {{enS}} wörtlich für „Kopieren-beim-Schreiben“) ist in der [[Datenverarbeitung]] eine Optimierungsmethode zur Vermeidung unnötiger Kopien und Kopiervorgänge, beispielsweise zwischen [[Prozess (Informatik)|Prozessen]] unter [[Unixoides System|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.&lt;br /&gt;
&lt;br /&gt;
Die Grundidee des Verfahrens ist, dass identische Daten mehrerer –&amp;amp;nbsp;anfangs ebenfalls identischer&amp;amp;nbsp;– Dateien nur einmal vorhanden sein müssen. Erstellt man also ein Duplikat einer vorhandenen Datei, so muss der Inhalt des Duplikats nicht gespeichert werden. Es genügt, den neuen Dateinamen und den Ablageort im Dateisystem vorzumerken. Erst wenn eine der duplizierten Dateien verändert wird, also einen neuen Inhalt bekommt, müssen die veränderten Datenblöcke bzw. gegebenenfalls die gesamte Datei getrennt gespeichert werden.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Ralph Tandetzky |url=https://www.informatik-aktuell.de/entwicklung/programmiersprachen/cow-ptr-der-smartpointer-fuer-copy-on-write.html |titel=cow_ptr – Der Smartpointer für Copy-On-Write|werk= Informatik Aktuell: Entwicklung / Programmiersprachen |hrsg=Alkmene Verlags- und Mediengesellschaft mbH |datum=2017-09-19 |zugriff=2018-11-28 |zitat=Copy-On-Write bedeutet, dass beim Kopieren einer Datenstruktur X ‚unter der Haube‘ nur ein Pointer (oder eine Referenz) auf die internen Daten weitergereicht wird. Eine echte und tiefe Kopie der eigentlichen Daten wird dabei erst dann durchgeführt, wenn eine Instanz von X ihre internen Daten verändert.}} &amp;lt;/ref&amp;gt; Der Kopie wird zwar eine eigene [[Inode]] zugewiesen, die darin gespeicherten Zeigerstrukturen, welche auf die Datenblöcke zeigen, stimmen allerdings mit denen des Originals überein. Erst bei Veränderung einer der Datenblöcke wird für die Änderung ein neuer Datenblock verwendet und der entsprechende Zeiger neu gesetzt. Bei nicht geänderten Datenblöcken können weiterhin die originalen Blöcke referenziert bleiben.&lt;br /&gt;
&lt;br /&gt;
== Hauptspeicher ==&lt;br /&gt;
Wenn der [[Kernel (Betriebssystem)|Kernel]] eine [[Speicherseite]] im [[Adressraum]] eines anderen [[Prozess (Informatik)|Prozesses]] verfügbar machen muss, ist es nicht nötig, die Daten tatsächlich zu kopieren oder ein weiteres Mal im [[Arbeitsspeicher|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 ändern versucht, müssen diese tatsächlich (und dann auch nur teilweise) kopiert werden, da sich die Inhalte der Speicherseiten dann unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Dies wird auf modernen [[Prozessor|Hauptprozessoren]] meist mit Hilfe von [[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.&lt;br /&gt;
&lt;br /&gt;
== Dateisystem ==&lt;br /&gt;
Bei [[Dateisystem]]en bedeutet {{lang|en|Copy-On-Write}}, dass geänderte [[Datenblock|Blöcke]] nicht überschrieben, sondern zunächst vollständig an einen freien Platz kopiert werden.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.itwissen.info/Copy-on-Write-copy-on-write-CoW.html |titel=Copy-on-Write |werk=ITwissen.info |hrsg=DATACOM Buchverlag GmbH |datum=2018 |zugriff=2018-11-28 |zitat=Copy-on-Write, was für ‚Kopieren beim Schreiben‘ steht, werden dann Kopien angefertigt, wenn ein Benutzer Kopien verändert hat.|archiv-url=https://web.archive.org/web/20210927080731/https://www.itwissen.info/Copy-on-Write-copy-on-write-CoW.html}}&amp;lt;/ref&amp;gt; Danach werden Verweise auf den Block in den [[Metadaten]] aktualisiert. {{lang|en|Copy-On-Write}} ermöglicht [[Transaktion (Informatik)|transaktionsbasierende]] Dateisysteme, die unter anderem ohne Verzögerung [[Image-Datei|Speicherabbilder]] (oder [[Schnappschuss (Informationstechnik)|Schnappschüsse]] derselben) anlegen können. Alte Metadaten und Blöcke werden dabei nicht gelöscht, sondern dem jeweiligen Speicherabbild zugeordnet.&lt;br /&gt;
&lt;br /&gt;
[[ZFS (Dateisystem)|ZFS]], [[Btrfs]], [[Apple File System|APFS]]&amp;lt;ref&amp;gt;{{Internetquelle |autor=Stefan Luber |url=https://www.storage-insider.de/was-ist-copy-on-write-cow-a-c7b4ce16b35e756ce1c94425a581a3d2/ |titel=Was ist Copy-on-Write (CoW)? |datum=2023-04-27 |sprache=de |abruf=2023-07-04}}&amp;lt;/ref&amp;gt;, [[NILFS]], [[Bcachefs]] sowie [[XFS (Dateisystem)|XFS]]&amp;lt;ref&amp;gt;{{Internetquelle |autor=Michael Larabel |url=https://www.phoronix.com/news/XFS-2019-Copy-On-Write-Better |titel=XFS Copy-On-Write Support Being Improved, Always CoW Option |werk=Phoronix |datum=2019-02-19 |format= |sprache=en |abruf=2023-07-06}}&amp;lt;/ref&amp;gt; sind bekannte Vertreter von Dateisystemen, die auf &amp;#039;&amp;#039;{{lang|en|Copy-on-Write}}&amp;#039;&amp;#039; bauen.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Deduplikation]]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Speicherverwaltung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;08Linus</name></author>
	</entry>
</feed>