|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Virtual memory: page
management |
|
|
|
|
|
|
|
Optimizing page
placement: reduces page faults |
|
|
|
|
Fully-associative: map
any virtual page to any physical page |
|
|
|
|
Operating system can
afford to use sophisticated algorithms and data structures |
|
|
to keep track of page
usage |
|
|
|
Problem with
fully-associative mapping: need to search entire set of pages |
|
|
|
|
Full searching is
impractical: use page table |
|
|
|
|
Stored in memory |
|
|
|
|
Contains the physical
page number for every virtual page number |
|
|
|
Each program has its own
page table |
|
|
|
|
|
To assist accessing page
table, hardware has page table register |
|
|
|
Points to start of page
table |
|
|
|
|
|
Valid bit is used as in
cache |
|
|
|
|
|
Note that page table is
indexed by virtual page number: no tags needed |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fig 7.22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|