|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Virtual memory: page
management |
|
|
|
|
|
|
|
Optimizing page
placement: reduces page faults |
|
|
|
|
Map any virtual page to
any physical page (fully-associative) |
|
|
|
|
Operating system can use
sophisticated algorithms and data structures |
|
|
|
to keep track of page
usage |
|
|
|
Problem with
full-associative mapping: need to search entire set of pages |
|
|
|
|
Full searching is
impractical: use page table |
|
|
|
|
Page table stored in
memory |
|
|
|
|
Contains the physical
page number for every virtual page number |
|
|
|
Each program has own page
table |
|
|
|
|
|
To access page table
easily, 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|