ch9 - Chapter 9: Virtual Memory Chapter Adapted to COP4610...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon
Chapter 9: Virtual Memory Chapter 9: Virtual Memory Adapted to COP4610 by Robert van Engelen
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
9.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 22, 2005 Background Background Virtual memory – separation of user logical memory from physical memory. Only part of the program needs to be in memory for execution Logical address space can therefore be much larger than physical address space Allows address spaces to be shared by several processes Allows for more efficient process creation Virtual memory can be implemented via: Demand paging Demand segmentation
Background image of page 2
9.3 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 22, 2005 Virtual Memory That is Larger Than Physical Memory Virtual Memory That is Larger Than Physical Memory
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
9.4 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 22, 2005 Virtual-Address Space of a Process Virtual-Address Space of a Process The virtual address space of a process refers to the logical view of a process in memory MMU maps the logical pages to physical pages frames in memory The virtual address space may be sparse and have holes of unused memory, e.g. area between stack and heap Demand paging : the page frames needed to fill the holes can be allocated on demand
Background image of page 4
9.5 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 22, 2005 Shared Library Using Virtual Memory Shared Library Using Virtual Memory Paging allows the sharing of page frames by multiple processes The shared pages can be used for communication via shared memory
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
9.6 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 22, 2005 Demand Paging Demand Paging Bring a page into memory only when it is needed Less I/O needed Less memory needed Faster response More users Lazy swapper – never swaps a page into memory unless page will be needed Swapper that deals with pages is a pager Pure demand paging – process starts with 0 pages Page is needed reference to it Invalid reference abort Not-in-memory bring to memory
Background image of page 6
9.7 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 22, 2005 Transfer of a Paged Memory to Contiguous Disk Space Transfer of a Paged Memory to Contiguous Disk Space
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 22, 2005 Valid-Invalid Bit Valid-Invalid Bit With each page table entry a valid–invalid bit is associated ( v in-memory, i not-in-memory) Initially valid–invalid bit is set to i on all entries Example of a page table snapshot: During address translation, if valid–invalid bit in page table entry is I page fault trap v v v v i i i …. Frame #
Background image of page 8
Image of page 9
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 10/11/2011 for the course COP 4610 taught by Professor Robertengelen during the Spring '11 term at FSU.

Page1 / 61

ch9 - Chapter 9: Virtual Memory Chapter Adapted to COP4610...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online