mikrocontroller.net

Forum: PC Hard- und Software Copy-On-Write bei Mehrfachkopie


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Stefan H. (Firma: dm2sh) (stefan_helmert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn ich auf einem COW-fähigen Dateisystem Die Datei A habe und davon 
die COW-kopien B und C erstelle, was passiert dann, wenn ich A 
überschreibe/lösche?

1) B und C sind nun redundant gespeichert

2) B und C bleiben dedupliziert

Autor: Daniel A. (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sollte nr. 2 sein.

Autor: Axel S. (a-za-z0-9)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Stefan H. schrieb:
> wenn ich auf einem COW-fähigen Dateisystem Die Datei A habe und davon
> die COW-kopien B und C erstelle, was passiert dann, wenn ich A
> überschreibe/lösche?

COW läßt sich am einfachsten verstehen, wenn jeder Datenblock einen 
Zähler (Link-Counter; LC) bekommt, der anzeigt von wievielen Stellen aus 
er verwendet wird.

Beim Kopieren eines Blocks wird der LC einfach erhöht. In der Ausgangs- 
situation ist also jeder Datenblock von A/B/C mit LC=3 markiert. Wenn du 
eine der 3 Dateien (egal welche) löschst, dann verringert sich der LC 
jeweils auf 2. Wenn du auf eine der 3 Dateien (wieder egal welche) 
schreibst, dann werden für den beschriebenen Teil neue Datenblöcke 
alloziert, mit LC=1 und für die bisher verwendeten Blöcke wird der LC 
auf 2 reduziert.

Ganz allgemein gilt das: wenn du auf einen Block schreibst, der LC>1 
hat, dann wird in diesem Moment eine private Kopie des Blocks gemacht 
und beschrieben. Deswegen "copy on write".

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.