{"translation":"https://translate-dev.freebsd.org/api/translations/documentation/articlesvm-design_index/en/?format=json","source":["In this case, let's say a page in B is modified by the original parent process.  The process will take a copy-on-write fault and duplicate the page in C1, leaving the original page in B untouched.  Now, let's say the same page in B is modified by the child process.  The process will take a copy-on-write fault and duplicate the page in C2.  The original page in B is now completely hidden since both C1 and C2 have a copy and B could theoretically be destroyed if it does not represent a \"real\" file; however, this sort of optimization is not trivial to make because it is so fine-grained.  FreeBSD does not make this optimization.  Now, suppose (as is often the case) that the child process does an `exec()`.  Its current address space is usually replaced by a new address space representing a new file.  In this case, the C2 layer is destroyed:"],"previous_source":"","target":["In this case, let's say a page in B is modified by the original parent process.  The process will take a copy-on-write fault and duplicate the page in C1, leaving the original page in B untouched.  Now, let's say the same page in B is modified by the child process.  The process will take a copy-on-write fault and duplicate the page in C2.  The original page in B is now completely hidden since both C1 and C2 have a copy and B could theoretically be destroyed if it does not represent a \"real\" file; however, this sort of optimization is not trivial to make because it is so fine-grained.  FreeBSD does not make this optimization.  Now, suppose (as is often the case) that the child process does an `exec()`.  Its current address space is usually replaced by a new address space representing a new file.  In this case, the C2 layer is destroyed:"],"id_hash":-9136506890461498359,"content_hash":-9136506890461498359,"location":"documentation/content/en/articles/vm-design/_index.adoc:151","context":"","note":"type: Plain text","flags":"","labels":[],"state":100,"fuzzy":false,"translated":true,"approved":false,"position":25,"has_suggestion":false,"has_comment":false,"has_failing_check":false,"num_words":153,"source_unit":"https://translate-dev.freebsd.org/api/units/615385/?format=json","priority":100,"id":615385,"web_url":"https://translate-dev.freebsd.org/translate/documentation/articlesvm-design_index/en/?checksum=01349b63f2223409","url":"https://translate-dev.freebsd.org/api/units/615385/?format=json","explanation":"","extra_flags":"","pending":false,"timestamp":"2021-03-20T20:43:32.761224Z"}