Ethereal-dev: Re: [Ethereal-dev] Re: [Ethereal-cvs] rev 16615: /trunk/image/: Makefile.nmake d

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <gharris@xxxxxxxxx>
Date: Mon, 28 Nov 2005 22:43:42 -0800
Richard Sharpe wrote:

What he means is that a modern UNIX/Linux system shares all the pages, so the fact that you run the same program twice does not cost you much. And, with Copy on Write, even pages that are modified in each of the images don't cost much.

I suspect that Windows does as well.

You're probably right.

However, a fork (which would be done on UN*X) involves setting all the data pages to copy-on-write, which can be somewhat expensive (marking them non-writeable in the MMU, etc.), and the exec (done on both platforms) might involve faulting in the relevant pages, even if it's a minor fault (satisfied by finding the page in the page pool), so launching the executable might not be cheap (even if it's cheaper on UN*X than on Windows).