31.Memory4
-
Upload
joe-nataka -
Category
Documents
-
view
219 -
download
0
Transcript of 31.Memory4
-
8/6/2019 31.Memory4
1/23
CS 241 Fall 2007
System Programming
1
Memory Paging and Replacement
Lawrence Angrave
-
8/6/2019 31.Memory4
2/23
2
Concepts this Lecture
Two-Level Paging Example
Inverted Page Table
Sharing and Protection
Introduction to Demand Paging
-
8/6/2019 31.Memory4
3/23
3
Multilevel Paging
Address of Size 4Bytes in
32-bit Architecture
Address of Size 4Bytes
In 32-bit Architecture
Memory Space of Size 1 Byte
-
8/6/2019 31.Memory4
4/23
4
Addressing on Two-Level Page Table
32-bit Architecture, 4096= 2^12 Bytes Page Size4K Page of Logical Memory has 4096 addressable bytes
Page the Page Table with 4K pages as well
4K Page of Page Table has 1024 addressable 4byte addresses
-
8/6/2019 31.Memory4
5/23
5
Multilevel Paging and Performance
Since each level is stored as a separate table inmemory, converting a logical address to aphysical one with a three-level page table maytake four memory accesses. Why?
-
8/6/2019 31.Memory4
6/23
6
Inverted Page Table
-
8/6/2019 31.Memory4
7/23
7
Inverted Page Table
004 006
005 006
4
010110
1
Page Table
Virtual Address (004006)
Physical Address (005006)
5
-
8/6/2019 31.Memory4
8/23
8
Inverted Page Table Implementation
TLB is same as before
TLB miss is handled by software
In-memory page table is managed using a hash table
Number of entries number of physical frames
Not found: page fault
Hash table
Virtual page Physical page
-
8/6/2019 31.Memory4
9/23
9
Inverted Page Table
one entry for each real page of memory.
entry consists of the virtual address of the pagestored in that real memory location, withinformation about the process that owns that
page.
-
8/6/2019 31.Memory4
10/23
10
Inverted Page Table
Decreases memory needed to store each pagetable, but increases time needed to searchtable when a page reference occurs.
Use hash table to limit the search to one -- or atmost a few page-table entries.
-
8/6/2019 31.Memory4
11/23
11
Sharing Pages
Code and data can be shared by mapping them
into pages with common page frame mappings.
Code and data must be position independent if VM
mappings for the shared data are different.
-
8/6/2019 31.Memory4
12/23
12
Shared Pages
-
8/6/2019 31.Memory4
13/23
13
Protection
Can add read, write, execute protection bits to page tableto protect memory.
Check is done by hardware during access.
Can give shared memory location different protections from
different processes by having different page tableprotection access bits.
-
8/6/2019 31.Memory4
14/23
14
Page Protection
Legend:
reference - page has been accessed
valid - page existsresident - page is cached in primary memory
dirty - page has been changed since page in
-
8/6/2019 31.Memory4
15/23
15
Introduction to Demand Paging - Paging
Policies
Fetch Strategies
When should a page be brought into primary (main)
memory from secondary (disk) storage.
Placement StrategiesWhen a page is brought into primary storage, where isit to be put?
Replacement Strategies
Which page now in primary storage is to be removedfrom primary storage when some other page or
segment is to be brought in and there is not enough
room.
-
8/6/2019 31.Memory4
16/23
16
Demand Paging
Algorithm
Never bring a page into primary memory until its needed.
Page fault
Check if a valid virtual memory address. Kill job if not.
If valid reference, check if its cached in memory already (perhapsfor some other process.) If so, skip to 7).
Find a free page frame.
Map address into disk block and fetch disk block into page frame.
Suspend user process.
When disk read finished, add vm mapping for page frame.
If necessary, restart process.
-
8/6/2019 31.Memory4
17/23
17
Demand Paging Example
Load Mi
Free frame
Page
table
VM
ref fault
-
8/6/2019 31.Memory4
18/23
18
Page Replacement
Find location of page on disk
Find a free page frame
If free page frame use it
Otherwise, select a page frame using the page replacement
algorithmWrite the selected page to the disk and update any necessary
tables
Read the requested page from the disk.
Restart the user process.
It is necessary to be careful of synchronization problems.
For example, page faults may occur for pages being
paged out.
-
8/6/2019 31.Memory4
19/23
19
Issue: Eviction
Hopefully, kick out a less-useful page
Dirty pages require writing, clean pages dont
Hardware has a dirty bit for each page frame indicating this page has
been updated or not
Where do you write? To swap space
Goal: kick out the page thats least useful
Problem: how do you determine utility?
Heuristic: temporal locality exists
Kick out pages that arent likely to be used again
-
8/6/2019 31.Memory4
20/23
20
Terminology
Reference string: the memory reference
sequence generated by a program.
Paging moving pages to (from) disk
Optimal the best (theoretical) strategyEviction throwing something out
Pollution bringing in useless pages/lines
-
8/6/2019 31.Memory4
21/23
21
Page Replacement Strategies
The Principle of Optimality
Replace the page that will not be used again the farthest time in thefuture.
Random page replacement
Choose a page randomly
FIFO - First in First Out
Replace the page that has been in primary memory the longest
LRU - Least Recently Used
Replace the page that has not been used for the longest time
LFU - Least Frequently Used
Replace the page that is used least often
NRU - Not Recently UsedAn approximation to LRU.
Working Set
Keep in memory those pages that the process is actively using.
-
8/6/2019 31.Memory4
22/23
22
Principal of Optimality
Description:
Assume that each page can be labeled with the number ofinstructions that will be executed before that page is firstreferences, i.e., we would know the future reference string fora program.
Then the optimal page algorithm would choose the page with thehighest label to be removed from the memory.
This algorithm provides a basis for comparison with otherschemes.
Impractical because it needs future references
If future references are knownshould not use demand paging
should use pre paging to allow paging to be overlapped withcomputation.
-
8/6/2019 31.Memory4
23/23
23
Summary
Two Level Paging
Inverted Page Table
Sharing/Protection
Introduction to Demand Paging
Fetch Policies
Replacement Policies
Principle of Optimality