[3892] in linux-net channel archive

home help back first fref pref prev next nref lref last post

Re: EVEN MORE 2.0 vs 1.2 and INN config.

daemon@ATHENA.MIT.EDU (Alan Cox)
Mon Jul 29 06:04:25 1996

From: Alan Cox <alan@cymru.net>
To: kmb203@psu.edu (Kevin M Bealer)
Date: 	Mon, 29 Jul 1996 10:00:09 +0100 (BST)
Cc: linux-net@vger.rutgers.edu
In-Reply-To: <Pine.LNX.3.94.960729041707.1523A-100000@brando> from "Kevin M Bealer" at Jul 29, 96 04:18:49 am

> > #define vfork fork
> Just out of curiousity, what is the difference on systems where
> there is a difference.

Originally fork() made a copy of the process either to swap or local memory
depending on which had space (no paging or VM at the time, just swapping
and memory protection).

Early BSD had vfork() which copies nothing and is quite hairy. In vfork the
parent sleeps until the child does an exec or exit. The memory map is shared
totally (not even COW) but it got process creation time down a lot for most
cases.

Later systems copy on write the memory map so vfork is only slightly faster
than fork on current BSD boxen. Nowdays its not worth implementing both.

Alan


home help back first fref pref prev next nref lref last post