I agree with that.
It looks like some applications are really designed to use virtual memory, such as Office97 in a known issue:
<A HREF="http://support.microsoft.com/support/kb/articles/Q156/4/52.asp" target="_new">http://support.microsoft.com/support/kb/articles/Q156/4/52.asp</A>
While one is trying to reduce/eliminate the usage of virtual memory, don’t you think the Microsoft’s Resolution looks funny, do you? Read:
1. Click the Performance tab.
2. Click Virtual Memory.
3. Select "Let Windows manage my virtual memory settings (recommended)." ..?
Probably it is sometimes good to remember that <b>every program</b> you start in Win2K <b>runs a process</b>, that <b>loads code</b>, along with variables, and a process <b>can own resources</b> such as files, dynamic memory allocations, multiple threads, and when a Win32 process is created , the system automatically creates one thread for the process, the main or primary thread, and the primary thread can create additional threads, and each additional thread <b>has the power</b> to create more threads.
The problem here is probably because a process may initiate a code that demands virtual memory located on physical %drive% and the code is loaded from an executable file (a program).
Let’s imagine we change settings or even reprogram the Win2000’s Virtual Memory Manager using the Win32 SDK, or VC98. We are able to reprogram the Win2000 with no problem. But don’t you feel that we would better have to reprogram the executable file (the code) that demands virtual memory on physical %drive% instead?
It is common, when programmers while developing programs usually do not bother much themselves with interfering with native Win32 services such as VMM. They feel free to use native services as default. As you’ve known, the native NT VMM controls memory mapping to ensure that individual processes don’t corrupt each other or overwrite the OS.
And it might happen (and it probably often happens), a process from a program with its thread will require, call for paging service, virtual memory that you’re going to disable. You have to reprogram an application, not the Win2000 in order to eliminate the error. But how will you do reprogramming an application? An executable file? A *.dll that puts itself on paging?
Again, as mentioned in the "Office Programs Require Virtual Memory" article in the link above, it is Office, not Windows calls automatically for a physical %drive% in form of virtual memory....
Try to understand me correctly in simplified form: Win32 (not the only Win2000) may allow to run a code (designed by software developer, say by you, by me) and the code runs automatically. For example, I am a developer of MyAcrobat and I design that when a user opens a document, a $*.TMP file is created on a harddrive. I use native Win32 services and Win32 allows me to do that. I also design that during normal session the $*.TMP file updates automatically in every 2 min. In this case if a system crashes, there is always something left on the harddrive to help recover from the last document or restore latest settings. As a developer I don’t care, actually MyAcrobat doesn’t care that somebody doesn't like or doesn’t want MyAcrobat to write something on a harddisk.
Because MyAcrobat is smart enough to know that in case of writing into RAM instead and possible system crash there will be nothing left to recover. MyAcrobat says, Hey, would you please to read the Hardware Requirements, the Harddrive requirement? I need virtual memory.
So, I compiled my code. When my program starts, my code runs automatically. If OS settings interfere with the code, an error occurs.