Mechanismus copy -on-write ( anglicky Copy-On-Write, COW ) se používá k optimalizaci mnoha procesů probíhajících v operačním systému , jako je například práce s RAM nebo soubory na disku.
Myšlenka přístupu kopírování při zápisu spočívá v tom, že když se čte datová oblast, použije se sdílená kopie, a pokud se data změní, vytvoří se nová kopie.
Například při použití UNIXové funkce fork() namísto skutečného kopírování, pro které musí být alokována paměť, jádro změní deskriptory paměťových stránek nadřazeného procesu a zakáže jakýkoli zápis na datové stránky (kódové stránky programu jsou již zakázáno psát; i když existují určité jemnosti - ale nemají vliv na další uvažování). Poté se vytvoří podřízený proces, do kterého se zkopírují deskriptory stránky paměti nadřazeného procesu. Jádro pak tyto stránky označí jako sdílené.
Pokus o zápis na mapované stránky (ať už z nadřazeného nebo podřízeného procesu) vyvolá výjimku , která přenese řízení na jádro. Jádro zjistí, že tento přístup byl legální, a vytvoří kopii upravené stránky. Je tedy možné snížit množství fyzické paměti spotřebované programy. Implementace mechanismu COW je poměrně komplikovaná, zejména ve vícejádrových systémech, a chyby v něm mohou vést ke zranitelnosti, například Dirty COW Vulnerability (Linux, 2007-říjen 2016)
Mechanismus se rozšířil při vytváření nejnovějších souborových systémů , jako jsou ZFS a Btrfs . Díky němu dochází k vytváření snímků v těchto systémech téměř okamžitě, aniž by zabíraly velké zdroje paměťového média .