MSFN Forum: Rebasing System DLLs (from uSP2) - MSFN Forum

Jump to content



  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Rebasing System DLLs (from uSP2) Rate Topic: -----

#21 User is offline   shaddam 

  • Junior
  • Pip
  • Group: Members
  • Posts: 72
  • Joined: 22-November 04

Posted 28 October 2006 - 06:30 AM

intressting i never heard about a second hardware memory management unit which virtualize the virtual adress space again... can you please post some references to this?

all i know about is the software reloc by the OS whic got several disadavantages over correct basing.

but your second point is true... if we rebase all DLLs to the same address all should be based by the OS contiguously (sorry i'm not natural english speaker) ... with some performance disadavantages and some physical memory loss for the whole system. an intressting idea but only the second best solution over basing all to an perfect place.

View PostLLXX, on Oct 27 2006, 03:50 PM, said:

The hardware can still remap virtual addresses - to a different area of physical memory, or even to the swap file. FYI, all the processors since the 386 supported up to 256 terabytes of virtual memory via this mechanism.

Indeed, there is fragmentation within the VM of each process, but since processes are not static, simply restarting them is enough to reorganise the virtual memory layout. Besides, if a process is doing enough alloc()s and free()s to fragment the virtual memory badly, whoever wrote the code is not paying attention to how memory allocation works.

One way to force the DLLs to be contiguous within memory, if that's what you intended, is to rebase all of them that have relocs to the same address. That way the OS will almost always have to relocate them somewhere else, and they'll usually be loaded contiguously.

...and the word is contiguous. Google shows that nearly 2^10 sites have it spelt wrong -_-

[quote]


#22 User is offline   LLXX 

  • MSFN Junkie
  • PipPipPipPipPipPipPipPipPip
  • Group: Banned
  • Posts: 3,399
  • Joined: 04-December 05

Posted 28 October 2006 - 08:33 PM

View Postshaddam, on Oct 28 2006, 07:30 AM, said:

intressting i never heard about a second hardware memory management unit which virtualize the virtual adress space again... can you please post some references to this?

http://www.intel.com...s/index_new.htm

#23 User is offline   shaddam 

  • Junior
  • Pip
  • Group: Members
  • Posts: 72
  • Joined: 22-November 04

Posted 30 October 2006 - 10:45 AM

View PostLLXX, on Oct 28 2006, 08:33 PM, said:

View Postshaddam, on Oct 28 2006, 07:30 AM, said:

intressting i never heard about a second hardware memory management unit which virtualize the virtual adress space again... can you please post some references to this?

http://www.intel.com...s/index_new.htm



maybe i don't understand your point but i can't find references for automatic memory shifting of virtual memory...

wikipedia explanation of virtual memory managment... as you can see the virtual memory chunks are contiguous (so don't seems to mapped again to another space) and alos fragmented... spaces between kernel32.dll and user32.dll
http://en.wikipedia....l_address_space

From microsoft article:
"...Virtual memory fragmentation is a condition where virtual memory is available for a process, but none of the virtual memory blocks that are available are of a significant size."
From: http://support.microsoft.com/kb/325044

so...at least MS Windows can't reshape the virtual memory outfit of an running process. if the virtual addresspace is fragmented neither MMU or OS can do anything (without breaking a application which needs the granted addresses)

Share this topic:


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2011 msfn.org
Privacy Policy