PCBUILD Archives

Personal Computer Hardware discussion List

PCBUILD@LISTSERV.ICORS.ORG

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Reply To:
PCBUILD - Personal Computer Hardware discussion List <[log in to unmask]>
Date:
Wed, 30 May 2001 01:55:57 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (65 lines)
On 26 May 2001, at 22:59, Rick Lindstrom wrote:

> At 03:39 PM 5/26/2001 -0700, you wrote:
> >What confuses me is that if, as others have said, system resources is a set
> >amount of RAM specifically for that, then the percentage of resources it
> >takes up should go down as the amount of RAM goes up.
>
>
> You're thinking about "extended" memory, which is what the RAM you can plug
> into the motherboard is. System resources refers to the use of
> "conventional" memory, which is hard soldered to the motherboard and is
> never more than 1024k under Win9x because of the necessity of retaining
> reverse compatibility with legacy operating systems such as DOS. You can
> think of it as the first meg of memory if you want to.

  This is not correct.  "Conventional" RAM is RAM that is directly
accessible from the CPU's "Real" Mode (as opposed to several
"Protected" modes which allow code to generate addresses longer than
20 bits).  This is the mode into which the CPU initially boots and
runs the ROM boot code.
  DOS was usually run in this mode; the pieces of DOS that survive in
Win 9x are generally run in "V86" mode, which uses 20-bit addressing
internally but then can translate those addresses to the same 48-bit
virtual addresses and 32-bit virtual addresses as 32-bit Protected
mode uses.
  It's true that conventional memory is generally thought of as the
first megabyte (1024K).  But (a) it's not all RAM, some of it is ROM,
and (b) this has NOTHING to do with Windows Resources.

> The point is that the conventional memory area is limited to 1024k no
> matter how much extended memory ("RAM") you plug in. And since the
> so-called "system resouces" only use (or reside in) conventional memory,
> you can add RAM until you break your pocketbook and it still will not
> increase the space available to "system resources". In reality, system
> resources only have part of conventional memory available to them, but
> that's another story.
>
> If this messes your mind up too much, switch to NT or 2000- these OS's
> treat all of the memory in a machine as one chunk and the limitations
> imposed by DOS/Win9x and "system resources" go away entirely.

  To be a bit more precise:  Windows 3.x ran in 16-bit protected
mode, where memory was organized as "segments" of 64KB each.  A bunch
of the core code was written to refer to common read-only data
structures ("resources") by 16-bit offset within "the resource
segment".  Win 9x inherited a bunch of this code for compatibility;
while different *types* of resources are now kept in different
segments (so "the resource segment" is different depending on what
kind of resource a given piece of code refers to), too many old
applications still refer to a resource by its 16-bit offset and so
the total of the resource segments is still a small fixed area.

  NT/2000 can get around this, even for 16-bit programs, by giving
each process its own set of resource segments instead of sharing one
set that belongs to the Windows kernel.  On the one hand, this almost
certainly slows performance.  On the other, resource usage/abusage by
one program is prevented from affecting others.

David Gillett
A+, MCSE, CCNA

                  Visit our website regularly for FAQs,
               articles, how-to's, tech tips and much more
                          http://freepctech.com

ATOM RSS1 RSS2