|
System
Resources." It actually means different things
depending on how it's used.
Their are two very specific memory areas
inside Windows: User Resources and GDI (Graphics Device
Interface ) Resources. You can think of these areas as
scratchpads that Windows uses to keep track of running
applications.
The User Resources area contains
information about all the apps (windows included) That are
currently running, including dialog boxes, controls boxes,
windows dll’s and so on. They all get their own data area in
the Users Resources area.
The GDI area keeps track of
the more graphical objects you have on-screen --
windows, icons, wallpapers, etc.
Both resource areas are of a fixed size regardless
of how much RAM you have -- and that's the problem.
If you run too many things at once or have too many graphical
objects displayed at once, you can deplete the User or GDI
area. When that happens, you get the error messages like the
following :
1.
"Out of memory" or "Not enough memory to
display completely" or "System Resources are running
low."
2. Or, your system may begin to open blank or garbled windows,
refusing to respond to keystrokes or mouse clicks, and the
like.
3. Or, your system may simply crash and burn, which is uselly
the case.
As you run apps, open and close windows, and so on, various
User and GDI resources get allocated. When you shut down an
application or when part of an app is no longer needed, its
resources are supposed to be released, freeing up space in the
User and GDI areas for use by other apps.
However, some of
the resources used by an app may not be released. Over time,
more and more resources may be marked as
"in use" even when they're really not.
Eventually, there's not enough available resource memory space
to continue working, and you get an "out of memory"
error message or crash.
The
Good News
With properly-coded applications (that's a major caveat), it's
actually fairly hard to run out of System Resources. I just
tried an experiment, for example, on my main Win98SE system
here: I opened (as normal windows) Internet Explorer, my
Office 2000 suite (Access, Outlook, Word, Excel, PowerPoint
and FrontPage), Lotus Organizer, an MS-DOS window, and Eudora
(a notorious resource hog), plus a couple of small
"tray" apps I always have running. It's hard to
imagine a single person needing to run much more than that at
the same time, but Windows could have done lots more -- I
still had 28 percent system resources free!
The
Bad News
In fairness to programmers, in a complex app there can be
thousands of items to track. When programming for Win9x was a
new thing, many apps were truly awful about releasing
resources. In fact, this was one of the reasons why Win95 got
its bad reputation for instability: It was actually
"resource leaks" in various badly-coded applications
that often were the cause of Win95 crashes.
Win98 is better at cleaning up after sloppy programs; it can
recover "leaked" or "orphaned" resources,
up to a point. Windows NT and 2000 largely do away with the
limited resource areas, and thus are intrinsically more
resistant to problems of this sort. Plus, programmers and
programming tools have gotten better at preventing leaks. But
resource leaks still happen, and a very leaky app or a large
number of apps with small leaks can still wreak havoc.
|