uClinux 367
shared. Whenever either of the two processes attempts to write into this page,
the page fault handler identifies a COW page using a special check of the
page descriptors. The page corresponding to the fault is duplicated and marked
writable in the process that attempted the write. The original page remains
write protected until the other process attempts a write, during which this
page is marked writable only after making sure that it is no longer shared
with any other process.
As seen above, process duplication in Linux done via COW is implemented
using the page fault handler and hence uClinux does not support
fork().
Also it is not possible for parent and child to have a similar virtual address
space as expected from
fork. Instead of using ...