In Windows, this is all about paging.
By default, windows likes to keep a backing store in the page (swap) file for everything in your physical memory. Most of the time this is great for multi-tasking, as it means you don't have to wait for the operating system to page out RAM when you start up a new app and memory is full — that task is already done. This makes further optimizations like SuperFetch (a service that runs in the background to pre-load programs into memory) possible.
The downside is slower load times for items that are not already cached, as the item must be both read from disk to and RAM, and then the RAM written back to disk. In practice, though, the penalty is minimal as Windows will make use of idle or low-demand times on your system for the 2nd part, and the optimizations make the need for this rare. As a side note, linux works the opposite way, and tries to avoid all paging by default.
Your question asks about two things: reducing disk use and pre-loading information into RAM.
- To reduce disk use in Windows, you can turn off paging by setting the size of the page file to zero.
- To get windows to pre-load everything into RAM, just make sure that the SuperFetch service is running (it is by default).
Note that these two tasks are largely incompatible. If you use SuperFetch without using a page file, your RAM will get filled up with stuff that is not currently needed. Because this RAM can't be swapped to disk, that RAM will be unavailable to applications and your computer will often be slower, not faster.
If you feel you have enough RAM to keep everything in memory, the thing to do is to turn off both paging and superfetch. Now, you will have to wait for apps to load from disk into memory, but you will have access to all your RAM when you need it. You also no longer have to wait on superfetch to load things for you after your system boots.