Sobes.tech
Junior — Middle

Leg het principe van Copy-on-Write uit en hoe het werkt in geheugenbeheersystemen.

sobes.tech AI

Antwoord van AI

Copy-on-Write (COW) — is een optimalisatie in geheugenbeheer waarbij meerdere processen of variabelen aanvankelijk één kopie van gegevens delen. De daadwerkelijke kopie gebeurt alleen wanneer een van de partijen probeert de gegevens te wijzigen.

In geheugenbeheersystemen werkt dit als volgt:

  • Bij het maken van een kopie van een object of geheugenpagina wordt een verwijzing naar hetzelfde gegevensblok gemaakt.
  • Alle partijen lezen de gegevens zonder problemen, omdat ze niet worden gewijzigd.
  • Bij een poging tot schrijven (wijzigen) wordt een 'lui' kopie gemaakt — er wordt een aparte kopie van de gegevens gemaakt voor de partij die wijzigt.
  • Daarna beïnvloeden de wijzigingen geen andere kopieën.

Dit bespaart geheugen en verhoogt de prestaties, doordat onnodige kopieën worden vermeden.

In Go, bijvoorbeeld, kan een vergelijkbaar principe worden gevonden bij het werken met bepaalde gegevensstructuren en bij het doorgeven van slices, waar de kopie alleen plaatsvindt indien nodig.