12
Program B’s
Page Table
ProgramA’s
Page Table
Every program has its own page mapping
A’s PAGE
B’s PAGE
A’s PAGE
B’s PAGE
B’s PAGE
A’s PAGE
A’s PAGE
FREE PAGE
C’s PAGE
B’s PAGE
A’s PAGE
B’s PAGE
A’s PAGE
A’s PAGE
B’s PAGE
A’s PAGE
A’s PAGE
A’s PAGE
FREE PAGE
Q’s PAGE
Program A’s virtual Actual physical Program B’s virtual
Text, static, and
heap pages of
Program A
Stack pages of
Program A
Unused area of
Program A memory
map (stack/heap can
grow into here)
Unused area of
Program A memory
map (the “hole” that
makes segfaults
happen on null
pointers)
Stack pages of
Program B
Unused area of
Program B memory
map (stack/heap can
grow into here)
Text, static, and heap
pages of Program B
Unused area of
Program B memory
map (the “hole” that
makes segfaults
happen on null
pointers)
6.
Memory as afinite resource
Limited resource, managed by OS
30