6.5. Managing Memory and Virtual Memory
If you are lucky enough never to have created a boot disk for your computer, you have never had to get into the down-and-dirty world of memory management. When attempting to load device drivers and applications in the MS-DOS environment, you have a very limited amount of the memory to work with — 640KB — and if you are not careful, you can quickly run out of space, so you need to manage what and how device drivers and applications get loaded into memory. If you have to support MS-DOS–based applications within the Windows environment, or if you need to create custom boot disks that load your network drivers, you need to pay attention to this section. Memory management skills are becoming a lost art in the world of Windows.
With the adoption of Windows-NT based OSes, like Windows XP and Windows Vista, you no longer need to worry about boot-time memory management because after the OS kernel loads, the memory structure switches to a flat memory model and implements a virtual memory structure.
As improvements were made in the field of RAM, and as computers with more and more memory continued to ship, software developers created applications that used the new memory. To make the entire process of managing memory easier, Microsoft decided to implement virtual memory for the Windows OSes. Virtual memory allows Windows to present a virtual machine (VM) that contains 4GB of memory to applications running in the Windows environment. It then used a ...