generated at
CoW
fork()によって作られたプロセスが、書き込み時に物理メモリ上で親子別々になる仕組み


fork()しただけでは、親と子のプロセスはまだ同じ物理メモリを見ている
ページテーブルのみがコピーされる
この時点では、親と子のプロセスの全ページが書き込み権限が無効化されている
どちらかのメモリに書き込みがあったタイミングで物理メモリ上でも複製される
書き込みがあったページのみがコピーされる
書き込みがあったタイミングでページフォールトが発生する
このタイミングで物理メモリをコピーし、書き込みがあった方のページテーブルを更新する

何が嬉しいか
パフォーマンスの観点
実際には不要だったプロセスの複製をせずに済む
プロセスの複製はコストがかかるので、これは嬉しい


まとめ


実験