Copy - on-Write -mekanismilla ( englanniksi Copy-On-Write, COW ) optimoidaan monia käyttöjärjestelmässä tapahtuvia prosesseja , kuten esimerkiksi työskentely RAM -muistin tai levyllä olevien tiedostojen kanssa.
Copy-on-write -lähestymistavan ideana on, että kun data-aluetta luetaan, käytetään jaettua kopiota, ja jos data muuttuu, luodaan uusi kopio.
Esimerkiksi käytettäessä UNIXin fork() -funktiota todellisen kopioinnin sijaan, jolle on varattava muistia, ydin muuttaa emoprosessin muistisivujen kuvauksia , mikä estää kirjoittamisen datasivuille (ohjelman koodisivut ovat jo kielletty kirjoittamiseen; vaikka siinä on joitain hienouksia - mutta ne eivät vaikuta lisäperusteluihin). Sitten luodaan aliprosessi, johon kopioidaan emoprosessin muistisivukuvaukset. Ydin merkitsee sitten nämä sivut jaetuiksi.
Yritys kirjoittaa yhdistetyille sivuille (joko pää- tai aliprosessista) aiheuttaa poikkeuksen , joka siirtää hallinnan ytimelle. Ydin huomaa, että tämä käyttö oli laillista, ja luo kopion muokatusta sivusta. Siten on mahdollista vähentää ohjelmien käyttämän fyysisen muistin määrää. COW-mekanismi on melko monimutkainen toteuttaa varsinkin moniytimisissä järjestelmissä, ja sen virheet voivat johtaa haavoittuvuuksiin, esimerkiksi Dirty COW -haavoittuvuuteen (Linux, 2007-lokakuu 2016)
Mekanismi on yleistynyt uusimpien tiedostojärjestelmien , kuten ZFS ja Btrfs , luomisessa . Hänen ansiostaan tilannekuvien luominen näissä järjestelmissä tapahtuu lähes välittömästi, ilman suuria tallennusvälineresursseja .