fork
の場合 が元の親プロセスから複数回呼び出されると、それぞれの子プロセスと親プロセスのページが読み取り専用としてマークされます。子プロセスがデータを書き込もうとすると、親プロセスのページがそのアドレス空間にコピーされ、コピーされたページは子では書き込み可能としてマークされますが、親ではマークされません。
fork
の場合 が子プロセスから呼び出され、孫が書き込みを試みると、元の親のページが最初の子にコピーされ、次に孫にコピーされ、すべてが書き込み可能としてマークされます。
元のページは、単一のプロセスに属している場合にのみ書き込み可能とマークされます。これは、複数のフォークがあった場合には当てはまらない可能性があります。新しいページは、書き込みを試みたプロセスにのみ属しているため、常に書き込み可能としてマークされます。