https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Copy-On-Write Copy-On-Write - Versionsgeschichte 2025-05-30T00:27:18Z Versionsgeschichte dieser Seite in Wikipedia MediaWiki 1.45.0-wmf.3 https://de.wikipedia.org/w/index.php?title=Copy-On-Write&diff=250735981&oldid=prev Y2kbug: Formulierung nochmals verbessert... 2024-11-27T13:26:51Z <p>Formulierung nochmals verbessert...</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. November 2024, 15:26 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 8:</td> <td colspan="2" class="diff-lineno">Zeile 8:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die Grundidee des Verfahrens ist, dass identische Daten mehrerer –&amp;nbsp;anfangs ebenfalls identischer&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<del style="font-weight: bold; text-decoration: none;">,</del> <del style="font-weight: bold; text-decoration: none;">oder</del> die gesamte Datei<del style="font-weight: bold; text-decoration: none;">,</del> getrennt gespeichert werden.&lt;ref&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.}} &lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die Grundidee des Verfahrens ist, dass identische Daten mehrerer –&amp;nbsp;anfangs ebenfalls identischer&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 <ins style="font-weight: bold; text-decoration: none;">bzw. gegebenenfalls</ins> die gesamte Datei getrennt gespeichert werden.&lt;ref&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.}} &lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> Y2kbug https://de.wikipedia.org/w/index.php?title=Copy-On-Write&diff=250735947&oldid=prev Y2kbug: Form/Formulierung nochmals etwas verbessert 2024-11-27T13:25:51Z <p>Form/Formulierung nochmals etwas verbessert</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. November 2024, 15:25 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 8:</td> <td colspan="2" class="diff-lineno">Zeile 8:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die Grundidee des Verfahrens ist, dass identische Daten mehrerer identischer 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, oder die gesamte Datei, getrennt gespeichert werden.&lt;ref&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.}} &lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die Grundidee des Verfahrens ist, dass identische Daten mehrerer<ins style="font-weight: bold; text-decoration: none;"> –&amp;nbsp;anfangs ebenfalls</ins> identischer<ins style="font-weight: bold; text-decoration: none;">&amp;nbsp;–</ins> 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, oder die gesamte Datei, getrennt gespeichert werden.&lt;ref&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.}} &lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> Y2kbug https://de.wikipedia.org/w/index.php?title=Copy-On-Write&diff=250735916&oldid=prev Y2kbug: Datei != Daten; Formulierung ein wenig überarbeitet. Ist aber nur ein Vorschlag: wie immer, alles ist verbesserbar! 2024-11-27T13:24:49Z <p>Datei != Daten; Formulierung ein wenig überarbeitet. Ist aber nur ein Vorschlag: wie immer, alles ist verbesserbar!</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. November 2024, 15:24 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 8:</td> <td colspan="2" class="diff-lineno">Zeile 8:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die Grundidee des Verfahrens ist, dass<del style="font-weight: bold; text-decoration: none;"> mehrere,</del> identische Dateien<del style="font-weight: bold; text-decoration: none;">,</del> 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 <del style="font-weight: bold; text-decoration: none;">Ablagort</del> <del style="font-weight: bold; text-decoration: none;">zu</del> <del style="font-weight: bold; text-decoration: none;">sichern</del>. Erst wenn <del style="font-weight: bold; text-decoration: none;">die</del> <del style="font-weight: bold; text-decoration: none;">duplizierte</del> <del style="font-weight: bold; text-decoration: none;">Datei</del> verändert wird, also einen neuen Inhalt bekommt, <del style="font-weight: bold; text-decoration: none;">muss</del> <del style="font-weight: bold; text-decoration: none;">diese</del> <del style="font-weight: bold; text-decoration: none;">neue</del> Datei gespeichert werden.&lt;ref&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.}} &lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die Grundidee des Verfahrens ist, dass identische<ins style="font-weight: bold; text-decoration: none;"> Daten mehrerer identischer</ins> 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 <ins style="font-weight: bold; text-decoration: none;">Ablageort</ins> <ins style="font-weight: bold; text-decoration: none;">im</ins> <ins style="font-weight: bold; text-decoration: none;">Dateisystem vorzumerken</ins>. Erst wenn <ins style="font-weight: bold; text-decoration: none;">eine</ins> <ins style="font-weight: bold; text-decoration: none;">der</ins> <ins style="font-weight: bold; text-decoration: none;">duplizierten Dateien</ins> verändert wird, also einen neuen Inhalt bekommt, <ins style="font-weight: bold; text-decoration: none;">müssen</ins> <ins style="font-weight: bold; text-decoration: none;">die</ins> <ins style="font-weight: bold; text-decoration: none;">veränderten Datenblöcke, oder die gesamte</ins> Datei<ins style="font-weight: bold; text-decoration: none;">, getrennt</ins> gespeichert werden.&lt;ref&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.}} &lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> Y2kbug https://de.wikipedia.org/w/index.php?title=Copy-On-Write&diff=250733500&oldid=prev AndreasFahrrad am 27. November 2024 um 11:59 Uhr 2024-11-27T11:59:08Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. November 2024, 13:59 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 8:</td> <td colspan="2" class="diff-lineno">Zeile 8:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die Grundidee des Verfahrens ist, dass <del style="font-weight: bold; text-decoration: none;">ein</del> <del style="font-weight: bold; text-decoration: none;">Duplikat</del> <del style="font-weight: bold; text-decoration: none;">einer</del> <del style="font-weight: bold; text-decoration: none;">Datei</del> <del style="font-weight: bold; text-decoration: none;">nicht</del> <del style="font-weight: bold; text-decoration: none;">gespeichert</del> <del style="font-weight: bold; text-decoration: none;">wird</del>. <del style="font-weight: bold; text-decoration: none;">Erst</del> <del style="font-weight: bold; text-decoration: none;">wenn das Duplikat verändert wird,</del> also <del style="font-weight: bold; text-decoration: none;">nicht</del> <del style="font-weight: bold; text-decoration: none;">mehr</del> <del style="font-weight: bold; text-decoration: none;">dem</del> <del style="font-weight: bold; text-decoration: none;">Original</del> <del style="font-weight: bold; text-decoration: none;">entspricht</del>, muss <del style="font-weight: bold; text-decoration: none;">diese</del> <del style="font-weight: bold; text-decoration: none;">neue</del> <del style="font-weight: bold; text-decoration: none;">Datei</del> gespeichert werden, <del style="font-weight: bold; text-decoration: none;">damit</del> <del style="font-weight: bold; text-decoration: none;">auch</del> <del style="font-weight: bold; text-decoration: none;">der</del> <del style="font-weight: bold; text-decoration: none;">neue</del> <del style="font-weight: bold; text-decoration: none;">Inhalt</del> <del style="font-weight: bold; text-decoration: none;">abrufbar</del> <del style="font-weight: bold; text-decoration: none;">ist</del>. <del style="font-weight: bold; text-decoration: none;">Solange</del> die <del style="font-weight: bold; text-decoration: none;">Kopie</del> <del style="font-weight: bold; text-decoration: none;">dem nicht</del> verändert <del style="font-weight: bold; text-decoration: none;">haben</del>, <del style="font-weight: bold; text-decoration: none;">reicht</del> <del style="font-weight: bold; text-decoration: none;">es</del>, <del style="font-weight: bold; text-decoration: none;">das</del> <del style="font-weight: bold; text-decoration: none;">Original</del> <del style="font-weight: bold; text-decoration: none;">vorzuhalten</del>.&lt;ref&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.}} &lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die Grundidee des Verfahrens ist, dass <ins style="font-weight: bold; text-decoration: none;">mehrere,</ins> <ins style="font-weight: bold; text-decoration: none;">identische</ins> <ins style="font-weight: bold; text-decoration: none;">Dateien,</ins> <ins style="font-weight: bold; text-decoration: none;">nur</ins> <ins style="font-weight: bold; text-decoration: none;">einmal</ins> <ins style="font-weight: bold; text-decoration: none;">vorhanden</ins> <ins style="font-weight: bold; text-decoration: none;">sein müssen</ins>. <ins style="font-weight: bold; text-decoration: none;">Erstellt</ins> <ins style="font-weight: bold; text-decoration: none;">man</ins> also <ins style="font-weight: bold; text-decoration: none;">ein</ins> <ins style="font-weight: bold; text-decoration: none;">Duplikat</ins> <ins style="font-weight: bold; text-decoration: none;">einer</ins> <ins style="font-weight: bold; text-decoration: none;">vorhandenen</ins> <ins style="font-weight: bold; text-decoration: none;">Datei</ins>,<ins style="font-weight: bold; text-decoration: none;"> so</ins> muss <ins style="font-weight: bold; text-decoration: none;">der</ins> <ins style="font-weight: bold; text-decoration: none;">Inhalt</ins> <ins style="font-weight: bold; text-decoration: none;">des Duplikats nicht</ins> gespeichert werden<ins style="font-weight: bold; text-decoration: none;">. Es genügt</ins>, <ins style="font-weight: bold; text-decoration: none;">den</ins> <ins style="font-weight: bold; text-decoration: none;">neuen</ins> <ins style="font-weight: bold; text-decoration: none;">Dateinamen</ins> <ins style="font-weight: bold; text-decoration: none;">und</ins> <ins style="font-weight: bold; text-decoration: none;">den</ins> <ins style="font-weight: bold; text-decoration: none;">Ablagort</ins> <ins style="font-weight: bold; text-decoration: none;">zu sichern</ins>. <ins style="font-weight: bold; text-decoration: none;">Erst wenn</ins> die <ins style="font-weight: bold; text-decoration: none;">duplizierte</ins> <ins style="font-weight: bold; text-decoration: none;">Datei</ins> verändert <ins style="font-weight: bold; text-decoration: none;">wird</ins>, <ins style="font-weight: bold; text-decoration: none;">also</ins> <ins style="font-weight: bold; text-decoration: none;">einen neuen Inhalt bekommt</ins>, <ins style="font-weight: bold; text-decoration: none;">muss</ins> <ins style="font-weight: bold; text-decoration: none;">diese</ins> <ins style="font-weight: bold; text-decoration: none;">neue Datei gespeichert werden</ins>.&lt;ref&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.}} &lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> AndreasFahrrad https://de.wikipedia.org/w/index.php?title=Copy-On-Write&diff=250689967&oldid=prev Dexxor: typo 2024-11-25T22:53:17Z <p>typo</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 26. November 2024, 00:53 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 3:</td> <td colspan="2" class="diff-lineno">Zeile 3:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 1.svg|'''1.''' Eine Datei wird erstellt</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 1.svg|'''1.''' Eine Datei wird erstellt</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 2.svg|'''2.''' Eine Kopie nutzt dieselben Datenblöcke</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 2.svg|'''2.''' Eine Kopie nutzt dieselben Datenblöcke</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 3.svg|'''3.''' Nur veränderte <del style="font-weight: bold; text-decoration: none;">Datenlöcke</del> werden neu geschrieben</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 3.svg|'''3.''' Nur veränderte <ins style="font-weight: bold; text-decoration: none;">Datenblöcke</ins> werden neu geschrieben</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 4.svg|'''4.''' Nur veränderte <del style="font-weight: bold; text-decoration: none;">Datenlöcke</del> werden neu geschrieben</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 4.svg|'''4.''' Nur veränderte <ins style="font-weight: bold; text-decoration: none;">Datenblöcke</ins> werden neu geschrieben</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;/gallery&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;/gallery&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> </tr> </table> Dexxor https://de.wikipedia.org/w/index.php?title=Copy-On-Write&diff=250556338&oldid=prev Y2kbug: Formulierung besser 2024-11-21T18:54:31Z <p>Formulierung besser</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. November 2024, 20:54 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 3:</td> <td colspan="2" class="diff-lineno">Zeile 3:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 1.svg|'''1.''' Eine Datei wird erstellt</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 1.svg|'''1.''' Eine Datei wird erstellt</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 2.svg|'''2.''' Eine Kopie nutzt dieselben Datenblöcke</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 2.svg|'''2.''' Eine Kopie nutzt dieselben Datenblöcke</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 3.svg|'''3.''' <del style="font-weight: bold; text-decoration: none;">Veränderte</del> Datenlöcke werden neu geschrieben</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 3.svg|'''3.''' <ins style="font-weight: bold; text-decoration: none;">Nur veränderte</ins> Datenlöcke werden neu geschrieben</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 4.svg|'''4.''' <del style="font-weight: bold; text-decoration: none;">Veränderte</del> Datenlöcke werden neu geschrieben</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 4.svg|'''4.''' <ins style="font-weight: bold; text-decoration: none;">Nur veränderte</ins> Datenlöcke werden neu geschrieben</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;/gallery&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;/gallery&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> </tr> </table> Y2kbug https://de.wikipedia.org/w/index.php?title=Copy-On-Write&diff=250556314&oldid=prev Y2kbug: Nummerierung dazu 2024-11-21T18:53:39Z <p>Nummerierung dazu</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. November 2024, 20:53 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Belege}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Belege}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;gallery mode="slideshow" class="float-right" caption="Verfahren" heights="180" style="text-align:center"&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;gallery mode="slideshow" class="float-right" caption="Verfahren" heights="180" style="text-align:center"&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 1.svg|Eine Datei wird erstellt</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 1.svg|<ins style="font-weight: bold; text-decoration: none;">'''1.''' </ins>Eine Datei wird erstellt</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 2.svg|Eine Kopie nutzt dieselben Datenblöcke</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 2.svg|<ins style="font-weight: bold; text-decoration: none;">'''2.''' </ins>Eine Kopie nutzt dieselben Datenblöcke</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 3.svg|Veränderte Datenlöcke werden neu geschrieben</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 3.svg|<ins style="font-weight: bold; text-decoration: none;">'''3.''' </ins>Veränderte Datenlöcke werden neu geschrieben</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 4.svg|Veränderte Datenlöcke werden neu geschrieben</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 4.svg|<ins style="font-weight: bold; text-decoration: none;">'''4.''' </ins>Veränderte Datenlöcke werden neu geschrieben</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;/gallery&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;/gallery&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> </tr> </table> Y2kbug https://de.wikipedia.org/w/index.php?title=Copy-On-Write&diff=250556291&oldid=prev Y2kbug: Höhe korr. 2024-11-21T18:52:44Z <p>Höhe korr.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. November 2024, 20:52 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Belege}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Belege}}</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&lt;gallery mode="slideshow" class="float-right" caption="Verfahren" heights="<del style="font-weight: bold; text-decoration: none;">300</del>" style="text-align:center"&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&lt;gallery mode="slideshow" class="float-right" caption="Verfahren" heights="<ins style="font-weight: bold; text-decoration: none;">180</ins>" style="text-align:center"&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 1.svg|Eine Datei wird erstellt</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 1.svg|Eine Datei wird erstellt</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 2.svg|Eine Kopie nutzt dieselben Datenblöcke</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 2.svg|Eine Kopie nutzt dieselben Datenblöcke</div></td> </tr> </table> Y2kbug https://de.wikipedia.org/w/index.php?title=Copy-On-Write&diff=250556257&oldid=prev Y2kbug: Abschnitt weg (ist mir rein gerutscht) 2024-11-21T18:51:18Z <p>Abschnitt weg (ist mir rein gerutscht)</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. November 2024, 20:51 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 10:</td> <td colspan="2" class="diff-lineno">Zeile 10:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Grundidee des Verfahrens ist, dass ein Duplikat einer Datei nicht gespeichert wird. Erst wenn das Duplikat verändert wird, also nicht mehr dem Original entspricht, muss diese neue Datei gespeichert werden, damit auch der neue Inhalt abrufbar ist. Solange die Kopie dem nicht verändert haben, reicht es, das Original vorzuhalten.&lt;ref&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.}} &lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Grundidee des Verfahrens ist, dass ein Duplikat einer Datei nicht gespeichert wird. Erst wenn das Duplikat verändert wird, also nicht mehr dem Original entspricht, muss diese neue Datei gespeichert werden, damit auch der neue Inhalt abrufbar ist. Solange die Kopie dem nicht verändert haben, reicht es, das Original vorzuhalten.&lt;ref&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.}} &lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>== Verfahren ==</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Hauptspeicher ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Hauptspeicher ==</div></td> </tr> </table> Y2kbug https://de.wikipedia.org/w/index.php?title=Copy-On-Write&diff=250556135&oldid=prev Y2kbug: Illustration 2024-11-21T18:45:27Z <p>Illustration</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. November 2024, 20:45 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Belege}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Belege}}</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&lt;gallery mode="slideshow" class="float-right" caption="Verfahren" heights="300" style="text-align:center"&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 1.svg|Eine Datei wird erstellt</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 2.svg|Eine Kopie nutzt dieselben Datenblöcke</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 3.svg|Veränderte Datenlöcke werden neu geschrieben</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> COW B-tree insertion-deletion illustration 4.svg|Veränderte Datenlöcke werden neu geschrieben</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&lt;/gallery&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das '''{{lang|en|Copy-On-Write}}'''-Verfahren (kurz '''COW''' bzw. '''CoW''' 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 [[Unixartiges Betriebssystem|unixartigen Systemen]], insbesondere bei oder nach einem [[Fork (Unix)|fork]]-Systemaufruf.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Grundidee des Verfahrens ist, dass ein Duplikat einer Datei nicht gespeichert wird. Erst wenn das Duplikat verändert wird, also nicht mehr dem Original entspricht, muss diese neue Datei gespeichert werden, damit auch der neue Inhalt abrufbar ist. Solange die Kopie dem nicht verändert haben, reicht es, das Original vorzuhalten.&lt;ref&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.}} &lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Grundidee des Verfahrens ist, dass ein Duplikat einer Datei nicht gespeichert wird. Erst wenn das Duplikat verändert wird, also nicht mehr dem Original entspricht, muss diese neue Datei gespeichert werden, damit auch der neue Inhalt abrufbar ist. Solange die Kopie dem nicht verändert haben, reicht es, das Original vorzuhalten.&lt;ref&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.}} &lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>== Verfahren ==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Hauptspeicher ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Hauptspeicher ==</div></td> </tr> </table> Y2kbug