From: benny@crocodial.de (Benjamin Riefenstahl)
Subject: Re: Cygwinb19.dll
26 Jun 1998 22:12:04 -0700
Message-ID: <3593698E.7442723C.cygnus.gnu-win32@crocodial.de>
References: <c=GB%a=TMAILUK%p=DCNET%l=EXCHANGE2-980625102357Z-3080@smtp.datcon.co.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
To: "'gnu-win32@cygnus.com'" <gnu-win32@cygnus.com>

Hi Ed,


Edward Avis wrote:
> AFAIK, Windows loads a _separate copy_ of each DLL for every program
> that uses it.  That's one of the reasons it uses so much memory.
>
> (Please tell me I'm wrong... :-( )

You're wrong ;-)

Windows creates the *illusion* of loading "a separate copy of each DLL
for every program." Actually DLLs are just memory mapped copy-on-write.
The "memory mapping" part means that executable code does not go into
the swap files and that all programs can use the same memory for a
common DLL, and the "copy-on-write" part means that if for some
reasoncode pages need to be changed after loading (e.g. a debugger
setting breakpounts, or relocations taking place) the affected pages
will still be duplicated for this process and possibly copied to
separate pages in the swap.


so long, benny
======================================
Benjamin Riefenstahl (benny@crocodial.de)
Crocodial Communications EntwicklungsGmbH
Ruhrstraße 61, D-22761 Hamburg, Germany
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".
