fork implementation is nontrivial.
To do: hard numbers. Microbenchmarks?
Windows / Cygwin
In particular, 5.6. Process Creation.
Cygwin has recently adopted something called the "cygwin heap". This is an internal heap that is inherited by forked/execed children. It consists of process specific information that should be inherited. So things like the file descriptor table, the current working directory, and the chroot value live there.