os10 - Modified from Lecture Slides for Operating System...

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

View Full Document Right Arrow Icon
Operating Systems : Virtual Memory (Chapter 10) Sung-Yong Park, Ph.D. Department of Computer Science Sogang University Modified from Lecture Slides for Operating System Concepts (6 th Edition) by Silberschatz et. al. Page 2 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 1

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

View Full DocumentRight Arrow Icon
Page 3 Demand Paging ± Bring a page into memory only when it is needed. ± Less I/O needed ± Less memory needed ± Faster response ± More users ± Page is needed reference to it ± invalid reference abort ± not-in-memory bring to memory Page 4 Valid-Invalid Bit ± With each page table entry a valid–invalid bit is associated (1 in-memory, 0 not-in-memory) ± Initially valid–invalid but is set to 0 on all entries. ± Example of a page table snapshot. ± During address translation, if valid–invalid bit in page table entry is 0 page fault. 1 1 0 0 0 Μ frame # valid-invalid bit page table
Background image of page 2
Page 5 Example of Valid-Invalid Bit Page 6 Page Fault ± If there is ever a reference to a page, first reference will trap to OS page fault ± OS looks at another table to decide: ± Invalid reference abort. ± Just not in memory. ± Get empty frame. ± Swap page into frame. ± Reset tables, validation bit = 1. ± Restart instruction ± block move: if the source and destination blocks overlap, the source block may have been modified; cannot simply restart the instruction. ± auto increment/decrement location ± e.g., MOV (R2)+, -(R3)
Background image of page 3

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

View Full DocumentRight Arrow Icon
Page 7 Steps in Handling a Page Fault Page 8 In Case of No Free Frame ? ± Page replacement – find some page in memory, but not really in use, swap it out. ± algorithm ± performance – want an algorithm which will result in minimum number of page faults. ± Same page may be brought into memory several times.
Background image of page 4
Page 9 Performance of Demand Paging ± Page Fault Rate: 0 p 1.0 ± if = 0, no page faults; if = 1, every reference is a fault ± Effective Access Time (EAT) ± EAT = (1 – ) x memory access time + x ( page fault overhead + [swap page out] + swap page in + restart overhead ) ± Example: ± Memory access time = 1 microsecond (usec)
Background image of page 5

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

View Full DocumentRight Arrow Icon
Image of page 6
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 01/20/2010 for the course CS CSE407001 taught by Professor Psy during the Fall '03 term at Sogang University.

Page1 / 18

os10 - Modified from Lecture Slides for Operating System...

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

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