Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz,...
Transcript of Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz,...
![Page 1: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/1.jpg)
Silberschatz, Galvin and Gagne Operating System Concepts
Chapter 8: Main Memory
![Page 2: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/2.jpg)
8.2 Silberschatz, Galvin and Gagne Operating System Concepts
Implementation of Page Table
Page table is kept in main memory
Page-table base register (PTBR) points to the page
table
Page-table length register (PRLR) indicates size of the
page table
In this scheme every data/instruction access requires two
memory accesses. One for the page table and one for the
data/instruction.
The two memory access problem can be solved by the
use of a special fast-lookup hardware cache called
translation look-aside buffers (TLBs)
![Page 3: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/3.jpg)
8.3 Silberschatz, Galvin and Gagne Operating System Concepts
Associative Memory
Associative memory – parallel search
Address translation (p, d)
If p is in associative register, get frame # out
Otherwise get frame # from page table in memory
Page # Frame #
![Page 4: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/4.jpg)
8.4 Silberschatz, Galvin and Gagne Operating System Concepts
Paging Hardware With TLB
![Page 5: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/5.jpg)
8.5 Silberschatz, Galvin and Gagne Operating System Concepts
Effective Access Time
Associative Lookup = time unit
Assume memory cycle time is 1 microsecond
Hit ratio – percentage of times that a page number is found in the
associative registers; ratio related to number of associative registers
Effective Access Time (EAT)
EAT = (1 + ) + (2 + )(1 – )
= 2 + –
![Page 6: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/6.jpg)
8.6 Silberschatz, Galvin and Gagne Operating System Concepts
Hierarchical Page Tables
Break up the logical address space into multiple page tables
A simple technique is a two-level page table
![Page 7: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/7.jpg)
8.7 Silberschatz, Galvin and Gagne Operating System Concepts
Two-Level Page-Table Scheme
![Page 8: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/8.jpg)
8.8 Silberschatz, Galvin and Gagne Operating System Concepts
Two-Level Paging Example
A logical address (on 32-bit machine with 1K page size) is divided into:
a page number consisting of 22 bits
a page offset consisting of 10 bits
Since the page table is paged, the page number is further divided into:
a 12-bit page number
a 10-bit page offset
Thus, a logical address is as follows: where pi is an index into the outer page table, and p2 is the displacement within the page of the outer page table
page number page offset
pi p2 d
12 10 10
![Page 9: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/9.jpg)
8.9 Silberschatz, Galvin and Gagne Operating System Concepts
Address-Translation Scheme
![Page 10: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/10.jpg)
8.10 Silberschatz, Galvin and Gagne Operating System Concepts
Three-level Paging Scheme
![Page 11: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/11.jpg)
8.11 Silberschatz, Galvin and Gagne Operating System Concepts
Segmentation
Memory-management scheme that supports user view of memory
A program is a collection of segments
A segment is a logical unit such as:
main program
procedure
function
method
object
local variables, global variables
common block
stack
symbol table
arrays
![Page 12: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/12.jpg)
8.12 Silberschatz, Galvin and Gagne Operating System Concepts
Logical View of Segmentation
1
3
2
4
1
4
2
3
user space physical memory space
![Page 13: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/13.jpg)
8.13 Silberschatz, Galvin and Gagne Operating System Concepts
Segmentation Architecture
Logical address consists of a two tuple:
<segment-number, offset>,
Segment table – maps two-dimensional physical addresses;
each table entry has:
base – contains the starting physical address where the
segments reside in memory
limit – specifies the length of the segment
Segment-table base register (STBR) points to the segment
table’s location in memory
Segment-table length register (STLR) indicates number of
segments used by a program;
segment number s is legal if s < STLR
![Page 14: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/14.jpg)
8.14 Silberschatz, Galvin and Gagne Operating System Concepts
Segmentation Hardware
![Page 15: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/15.jpg)
8.15 Silberschatz, Galvin and Gagne Operating System Concepts
Example of Segmentation
![Page 16: Chapter 8: Main Memoryzijiang/teach/CS4540S13/ch08-2.pdfOperating System Concepts 8.2 Silberschatz, Galvin and Gagne Implementation of Page Table Page table is kept in main memory](https://reader035.fdocuments.us/reader035/viewer/2022071507/6127dd5bc1a47106fe39e045/html5/thumbnails/16.jpg)
Silberschatz, Galvin and Gagne Operating System Concepts
End of Chapter 8