Memory management involves binding instructions and data to memory spaces using logical and physical addresses. The CPU uses base and limit registers to map the logical address space to the physical address space. Logical addresses are converted to physical addresses by adding the base register value. If a logical address is larger than the limit, an error occurs. Swapping and paging are techniques to manage memory fragmentation. Page tables implement paging by mapping logical page numbers to physical page frames. Task Manager displays memory usage and the working set of processes. NVRAM support and PFN locking help optimize memory usage. NUMA architectures scale multiprocessing by grouping CPUs and memory into nodes to reduce access latency.
Special CPU registers:base &
limit
0xFFFF
0x2000
o Registers contain Limit
• Base: start of the process’s Process
memory partition partition
• Limit: length of the process’s Base
memory partition 0x9000
Address generation
o Physical address: location in OS
actual memory 0
o Logical address: location from Logical address: 0x1204
the process’s point of view Physical address:
o Physical address = base + 0x1204+0x9000 = 0xa204
logical address
o Logical address larger than limit
=> error
> NUMA architectures logically follow in scaling from symmetric
multiprocessing (SMP) architectures.
> Their commercial development came in work by (Unisys, Hewlett-
Packard, Group Bull, Silicon Graphics, IBM), EMC, Compaq, HP) during
the 1990s.
> Techniques developed by these companies later featured in a variety
of Unix-like operating systems, and somewhat in Windows NT.
>
>
>