[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Win 95 RAM Usage



"This is silly and makes no sense in operating system terms. "Eject" from
memory? "Discard?" Ask an OS how much memory is free and it will tell you
how much is currently not allocated, period. If it's telling you 61M is in
use, some program has asked for it. If some program has asked for it, the
OS is not free to just discard it - it has no idea if the program is
legitimately using it or just allocating stuff at random - it MUST swap
it. This is why memory leaks are so serious. If a program doesn't properly
deallocate the space, it remains "in use" as far as the OS is concerned."

You still don't understand. Of course the operating system keeps around
executables which are not in current use. At least any decent one does,
and certainly all Unixes do this. If you then rerun the program before
the executable gets ejected, you do not need to reload it.

Tannenbaum's book is certainly the best reference, and I would suggest it
as the best source (obviously your other sources if they do not deal with
this elementary concept are rather lacking!)

The other kind of data that is dynamic in this sense in some operating systems
is disk caching information, although some OS's (e.g. OS/2) allocate a fixed
amount fo phyiscval memory for this purpose. But certainly for example Netware
will always be using all of physical memory, since it will use any unused
memory to enlarge the disk cache. Then if you load in more stuff, disk
cache blocks are ejected as needed.

This idea of keeping stuff around is quite old in virtual memory systems.
It was certainly used in ICL George 4 in the early 70's, and indeed I
think even early unices had the concept of the sticky bit. It may be
that TSS also did this, but my TSS reference manuals are not at hand.