A.
The memory referred to here is the RAM
memory and it is not actually lost, it
just becomes unusable due to something
referred to as a memory leak.
This is usually caused when an
application closes and fails to release
all the memory that was allocated to it
when it was originally opened.
Like
so many things in computer terms, memory
leak is really a misnomer since memory
is not physically lost or leaked from
the computer. When a program opens,
memory is allocated to it from the
memory pool usually by something called
a memory manager. When the application
closes it should release all this memory
back to the pool, but many times it
doesn't, due to many reasons like
programming bugs.
Memory leaks are one of the most
difficult software bugs to locate
and can be a quality nightmare.
Leaks cause programs to crash, hang
up and slow down. Software writers
waste countless man-hours searching
for the source of the leaks and
rarely find them all. The more
complicated and involved programs
become, the more difficult it is to
find them all.
When
computers only ran one application at a
time, memory allocation wasn't a big
concern. When an application like a word
processor started, it used whatever
memory it needed to load in, and then as
it needed memory to function, it just
used whatever was available. Since it
was the only thing running, it had
access to all the memory in the
computer.
However, when multi-tasking came along
and it became possible and desirable to
run several applications simultaneously,
memory management became a necessary. No
one program could just use whatever
memory it wanted and memory had to be
allocated to each application. The more
applications open, the more memory that
is needed to accommodate them all.
Even
if all applications were written to
properly release all the memory
allocated to it, memory leaks would
still be a problem. There are many, many
different programs, written by different
companies and writers so it impossible
for them all to be 100% compatible with
each other.
Suppose you had your email open, and
started a word processor, then a
graphics program. In order for any
application to work, part of it if not
all of it has to be loaded into memory,
so each requires some memory for that.
Then it will need memory for caches,
buffers, settings, preferences and other
working space.
To
accommodate all this, memory is
allocated to each application and this
memory is dedicated only to the
application it is allocated to. Now,
suppose that one of these applications
experiences a problem and closes in any
way other than the way it was designed
to do. There is a good chance that
memory allocated to it will not be
properly released. It will become
unusable since the application it
belongs to is not functioning and can no
longer control it. It is still there,
but just not usable.
After
a computer has been used for a while,
this problem becomes compounded. How
soon depends on the number of
applications used and the amount of
memory installed. Soon or later the
amount of available memory is reduced to
the point where it greatly affects
performance.
This
memory is volatile, meaning it requires
power to maintain the stored
information, so it will loose anything
it contains if its power is interrupted.
Rebooting will interrupt the power
momentarily and should return it to a
usable state.