Just a quick note... I've heard 'vfork' and 'fork' mentioned twice now.

    I think there is some confusion.  fork() does not really eat that
    much memory if all you are doing is fork/exec.  The only difference
    between fork and vfork from a resource point of view is around 32 KBytes
    of memory and a little extra cpu, and even the memory is recovered 
    when you do the exec.

    Semantically, they are quite different - vfork is supposed to share
    the parent process's address space until it exec's whereas fork does not.
    But FreeBSD's updated VM model, which you can thank John Dyson for mostly,
    is extremely efficient even when forking whole address spaces.

    The differences between fork and vfork are also irrelevant in this
    particular discussion since the fork/exec combination is only in
    the 'fork' state for a very short time.  The moment you exec, the
    address space is wiped ( except for mmap's MAP_INHERIT, which very few
    people ever use ).

                                                -Matt




To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to