Chapter 4
Memory Management
IN THIS CHAPTER
+ Examining memory models in Microsoft operating systems
+ Examining how Windows NT uses features of the 80386 processor's
architecture
+ Exploring the function of virtual memory
MEMORY MANAGEMENT HAS ALWAYS been one of the most important and interesting
aspects of any operating system for serious developers. It is an aspect that kernel
developers ignore. Memory management, in essence, provides a thumbnail impres-
sion of any operating system.
Microsoft has introduced major changes in the memory management of each
new operating system they have produced. Microsoft had to make these changes
because they developed all of their operating systems for Intel microprocessors, and
Intel introduced major changes in memory management support with each new mi-
croprocessor they introduced. This chapter is a journey through the various Intel
microprocessors and the memory management changes each one brought along
with it in the operating system that used it.
Memory Models in Microsoft
Operating Systems
Early PCs based on Intel 8086/8088 microprocessors could access only 640K of
RAM and used the segmented memory model. Consequently, good old DOS allows
only 640K of RAM and restricts the programmer to the segmented memory model.
In the segmented model, the address space is divided into segments. Proponents
of the segmented model claim that it matches the programmer's view of memory.
They claim that a programmer views memory as different segments containing
code, data, stack, and heap. Intel 8086 supports very primitive segmentation. A
segment, in the 8086 memory model, has a predefined base address. The length of
each segment is also fixed and is equal to 64K. Some programs find a single seg-
ment insufficient. Hence, there are a number of memory models under DOS. For ex-
ample, the tiny model that supports a single segment for code, data, and stack
33
Previous Main Next