delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/06/26/22:12:04

From: benny AT crocodial DOT 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 AT smtp DOT datcon DOT co DOT uk>
Mime-Version: 1.0
To: "'gnu-win32 AT cygnus DOT com'" <gnu-win32 AT cygnus DOT 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 AT crocodial DOT 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 AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019