When Windows 3.x starts, it creates a hypothetical space called
linear memory
. Windows programs request memory from the Windows KERNEL module, which allocates linear memory. It's not physical RAM, but programs address linear memory as if it were RAM, even though there may initially be no RAM at those addresses. Windows maps the virtual addresses from the program's address space to physical pages of memory. The program sees only the linear memory. When a program accesses a memory address that isn't physically present, a page fault interrupt triggers Windows' virtual memory manager (VMM), which cleverly places RAM just where and when it is needed.
Windows programs ask for memory and get allocations of linear memory. The Windows virtual memory manager makes sure physical RAM is paged to each location in linear memory when a program needs it.
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it
is
theoretical--and no language better exemplifies this than C++.
BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin,
and dozens of other CMP publications—bringing
you critical news and information about wireless communication,
computer security, software development, embedded systems,
and more!