Kopiera -på-skriv-mekanismen ( engelska Copy -On-Write, COW ) används för att optimera många processer som förekommer i operativsystemet , som till exempel att arbeta med RAM eller filer på disk.
Tanken med kopiera-på-skriv- metoden är att när en dataregion läses används en delad kopia, och om data ändras skapas en ny kopia.
Till exempel, när du använder UNIX fork() -funktionen , istället för riktig kopiering, för vilken minne måste allokeras, ändrar kärnan beskrivningarna av minnessidorna i den överordnade processen , vilket förbjuder all skrivning till datasidor (programkodtabeller finns redan förbjudet att skriva; även om det finns vissa finesser - men de påverkar inte ytterligare resonemang). Sedan skapas en underordnad process, till vilken den överordnade processens minnessidesbeskrivningar kopieras. Kärnan markerar sedan dessa sidor som delade.
Ett försök att skriva till mappade sidor (oavsett om det kommer från den överordnade eller underordnade processen) skapar ett undantag , som överför kontrollen till kärnan. Kärnan ser att denna åtkomst var laglig och skapar en kopia av den ändrade sidan. Således är det möjligt att minska mängden fysiskt minne som konsumeras av program. COW-mekanismen är ganska komplicerad att implementera, särskilt i system med flera kärnor, och fel i den kan leda till sårbarheter, till exempel Dirty COW Vulnerability (Linux, 2007-oktober 2016)
Mekanismen har blivit utbredd i skapandet av de senaste filsystemen , såsom ZFS och Btrfs . Tack vare honom sker skapandet av ögonblicksbilder i dessa system nästan omedelbart, utan att ta upp stora resurser av lagringsmediet .