Copy-on-write(コピーオンライト)
コピーするふりをして実際には共有しておき、誰かが書き込んだ時点で初めて本当にコピーする技法。
これがあるから、fork() は形式上プロセスのメモリ全体を複製するのに軽い。子プロセスは親と同じ物理ページを、すべて読み取り専用として受け取る。どちらかが書き込もうとするとページフォルトが起き、カーネルがそのページだけを実際にコピーする。
同じパターンはあちこちに現れる。ZFSやBtrfsのスナップショット、100個のコンテナが共有するベースイメージ、変更が起きるまでコピーしない多くの言語の文字列やリストなど。代償として、書き込みは高価になり、所要時間が読みにくくなる。