CGS 3763 Operating Systems Concepts Spring 2013

Slides:



Advertisements
Similar presentations
9.4 Page Replacement What if there is no free frame?
Advertisements

CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt.
Page Replacement Algorithms
Chapter 101 The LRU Policy Replaces the page that has not been referenced for the longest time in the past By the principle of locality, this would be.
Module 10: Virtual Memory
Chapter 10: Virtual Memory
CGS 3763 Operating Systems Concepts Spring 2013 Dan C. Marinescu Office: HEC 304 Office hours: M-Wd 11: :30 AM.
Chapter 4 Memory Management Page Replacement 补充:什么叫页面抖动?
Virtual Memory Management G. Anuradha Ref:- Galvin.
1 Virtual Memory Management B.Ramamurthy. 2 Demand Paging Main memory LAS 0 LAS 1 LAS 2 (Physical Address Space -PAS) LAS - Logical Address.
03/31/2004CSCI 315 Operating Systems Design1 Allocation of Frames & Thrashing (Virtual Memory)
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement.
Module 9: Virtual Memory
Module 10: Virtual Memory Background Demand Paging Performance of Demand Paging Page Replacement Page-Replacement Algorithms Allocation of Frames Thrashing.
Virtual Memory Background Demand Paging Performance of Demand Paging
Virtual Memory Introduction to Operating Systems: Module 9.
CGS 3763 Operating Systems Concepts Spring 2013 Dan C. Marinescu Office: HEC 304 Office hours: M-Wd 11: :30 AM.
COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00-6:00 PM.
Day 23 Virtual Memory. Operating system’s role in VM Hardware-support Use VM or not Use paging or segmentation or both Software domain Algorithms for.
Chapter 101 Virtual Memory Chapter 10 Sections and plus (Skip:10.3.2, 10.7, rest of 10.8)
Instructor: Umar KalimNUST Institute of Information Technology Operating Systems Virtual Memory.
03/26/2010CSCI 315 Operating Systems Design1 Virtual Memory Notice: The slides for this lecture have been largely based on those accompanying an earlier.
Chapter 9: Virtual Memory. 9.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 22, 2005 Chapter 9: Virtual Memory Background.
1 Lecture 9: Virtual Memory Operating System I Spring 2007.
Instructor: Umar KalimNUST Institute of Information Technology Operating Systems Revisiting Virtual Memory.
CSI 400/500 Operating Systems Spring 2009 Lecture #9 – Paging and Segmentation in Virtual Memory Monday, March 2 nd and Wednesday, March 4 th, 2009.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 9: Virtual Memory.
Virtual Memory Management B.Ramamurthy. Paging (2) The relation between virtual addresses and physical memory addres- ses given by page table.
1 Virtual Memory Management B.Ramamurthy Chapter 10.
OS Spring’04 Virtual Memory: Page Replacement Operating Systems Spring 2004.
03/29/2004CSCI 315 Operating Systems Design1 Page Replacement Algorithms (Virtual Memory)
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Virtual Memory.
Operating Systems CMPSC 473 Virtual Memory Management (3) November – Lecture 20 Instructor: Bhuvan Urgaonkar.
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 3:00-4:00 PM.
Virtual Memory. Background Virtual memory is a technique that allows execution of processes that may not be completely in the physical memory. Virtual.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts Essentials – 9 th Edition Chapter 9: Virtual-Memory Management.
Silberschatz, Galvin and Gagne  Operating System Concepts Virtual Memory Virtual memory – separation of user logical memory from physical memory.
Virtual Memory The address used by a programmer will be called a virtual address or logical address. An address in main memory is called a physical address.
Chapter 9: Virtual-Memory Management. 9.2 Silberschatz, Galvin and Gagne ©2005 Operating System Principles Chapter 9: Virtual-Memory Management 9.1 Background.
1 Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Operating System Examples (not covered.
1 Page Replacement Algorithms. 2 Virtual Memory Management Fundamental issues : A Recap Key concept: Demand paging  Load pages into memory only when.
10.1 Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Operating System Examples.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 9: Virtual Memory.
COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00-6:00 PM.
COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00-6:00 PM.
Chapter 9: Virtual Memory. 9.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Background Virtual memory – separation of user logical memory.
Chapter 9: Virtual Memory – Part I
Day 22 Virtual Memory.
Demand Paging Reference Reference on UNIX memory management
Lecture 10: Virtual Memory
Review.
Module 9: Virtual Memory
Demand Paging Reference Reference on UNIX memory management
Chapter 9: Virtual-Memory Management
COT 4600 Operating Systems Fall 2009
COP 5611 Operating Systems Spring 2010
CGS 3763 Operating Systems Concepts Spring 2013
Lecture 39 Syed Mansoor Sarwar
Lecture 40 Syed Mansoor Sarwar
5: Virtual Memory Background Demand Paging
CGS 3763 Operating Systems Concepts Spring 2013
COT 4600 Operating Systems Spring 2011
COP 5611 Operating Systems Spring 2010
Chapter 6 Virtual Memory
Operating Systems CMPSC 473
Lecture 9: Caching and Demand-Paged Virtual Memory
Operating Systems Concepts
Module 9: Virtual Memory
Virtual Memory.
Chapter 8 & 9 Main Memory and Virtual Memory
Presentation transcript:

CGS 3763 Operating Systems Concepts Spring 2013 Dan C. Marinescu Office: HEC 304 Office hours: M-Wd 11:30 - 12:30 AM

Lecture 9 – Monday, January 28, 2013 Last time: Today: Memory Management Next time 8/4/2019

Memory management elements at each level The string of references directed at that level. The capacity at that level The bring in policies On demand  bring the cell to the primary device from the secondary device when it is needed. E.g., demand paging Anticipatory. E.g. pre-paging The replacement policies FIFO  First in first out OPTIMAL  what a clairvoyant multi-level memory manager would do. Alternatively, construct the string of references and use it for a second execution of the program (with the same data as input). LRU – Least Recently Used  replace the page that has not been referenced for the longest time. MSU – Most Recently Used  replace the page that was referenced most recently Lecture 23

Page replacement policies; Belady’s anomaly In the following examples we use a given string of references to illustrate several page replacement policies. We consider a primary device (main memory) with a capacity of three or four blocks and a secondary device (the disk) where a replica of all pages reside. Once a block has the “dirty bit” on it means that the page residing in that block was modifies and must be written back to the secondary device before being replaced. The capacity of the primary device is important. One expects that increasing the capacity, in our case the number of blocs in RAM leads to a higher hit ratio. That is not always the case as our examples will show. This is the Belady’s anomaly. Note: different results are obtained with a different string of references!! Lecture 23

FIFO Page replacement algorithm PS: Primary storage Time intervals 1 2 3 4 5 6 7 8 9 10 11 12 Total number of page faults Reference string Block 1 in PS - Block 2 in PS Block 3 in PS Page OUT Page IN Block 1 in PS - 4 3 Block 2 in PS 1 Bloch 3 in PS 2 Block 4 in PS Page OUT Page IN 10 Lecture 23

OPTIMAL page replacement algorithm Time intervals 1 2 3 4 5 6 7 8 9 10 11 12 Total number of page faults Reference string Block 1 in PS - Block 2 in PS Block 3 in PS Page OUT Page IN Block 1 in PS - 3 Block 2 in PS 1 Bloch 3 in PS 2 Block 4 in PS 4 Page OUT Page IN 6 Lecture 23

LRU page replacement algorithm Time intervals 1 2 3 4 5 6 7 8 9 10 11 12 Total number of page faults Reference string Block 1 in PS - Block 2 in PS Block 3 in PS Page OUT Page IN Block 1 in PS - Block 2 in PS 1 Bloch 3 in PS 2 4 Block 4 in PS 3 Page OUT Page IN 7 Lecture 23

LRU, OPTIMAL, MRU LRU looks only at history OPTIMAL “knows” not only the history but also the future. In some particular cases Most Recently Used Algorithm performs better than LRU. Example: primary device with 4 cells. Reference string 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 LRU F F F F F F F F F F F F F F F MRU F F F F - - - - F - - - F - - Lecture 23

The OPTIMAL replacement policy keeps in the 3-blocks primary memory the same pages as it does in case of the 4-block primary memory. Time intervals 1 2 3 4 5 6 7 8 9 10 11 12 Total number of page faults Reference string Block 1 in PS - Block 2 in PS Block 3 in PS Page OUT Page IN Block 1 in PS - 3 Block 2 in PS 1 Bloch 3 in PS 2 Block 4 in PS 4 Page OUT Page IN 6 Lecture 23

The FIFO replacement policy does not keep in the 3-blocks primary memory the same pages as it does in case of the 4-block primary memory. Time intervals 1 2 3 4 5 6 7 8 9 10 11 12 Total number of page faults Reference string Block 1 in PS - Block 2 in PS Block 3 in PS Page OUT Page IN Block 1 in PS - 4 3 Block 2 in PS 1 Bloch 3 in PS 2 Block 4 in PS Page OUT Page IN 10 Lecture 23

The LRU replacement policy keeps in the 3-blocks primary memory the same pages as it does in case of the 4-block primary memory. Time intervals 1 2 3 4 5 6 7 8 9 10 11 12 Total number of page faults Reference string Block 1 in PS - Block 2 in PS Block 3 in PS Page OUT Page IN Block 1 in PS - Block 2 in PS 1 Bloch 3 in PS 2 4 Block 4 in PS 3 Page OUT Page IN 7 Lecture 23

The FIFO replacement policy does not keep in the 3-blocks primary memory the same pages as it does in case of the 4-block primary memory Time intervals 1 2 3 4 5 6 7 8 9 10 11 12 Total number of page faults Reference string Block 1 in PS - Block 2 in PS Block 3 in PS Page OUT Page IN Block 1 in PS - 4 3 Block 2 in PS 1 Bloch 3 in PS 2 Block 4 in PS Page OUT Page IN 10 Lecture 23

How to avoid Belady’s anomaly The OPTIMAL and the LRU algorithms have the subset property, a primary device with a smaller capacity hold a subset of the pages a primary device with a larger capacity could hold. The subset property creates a total ordering. If the primary system has 1 blocks and contains page A a system with two block add page B, and a system with three blocks will add page C. Thus we have a total ordering AB  C or (A,B,C) Replacement algorithms that have the subset property are called “stack” algorithms. If we use stack replacement algorithms a device with a larger capacity can never have more page faults than the one with a smaller capacity. m the pages held by a primary device with smaller capacity n  the pages held by a primary device with larger capacity m is a subset of n Lecture 23

Simulation analysis of page replacement algorithms Given a reference string we can carry out the simulation for all possible cases when the capacity of the primary storage device varies from 1 to n with a single pass. At each new reference the some page move to the top of the ordering and the pages that were above it either move down or stay in the same place as dictated by the replacement policy. We record whether this movement correspond to paging out, movement to the secondary storage. Lecture 23

Simulation of LRU page replacement algorithm Time 1 2 3 4 5 6 7 8 9 10 11 12 Reference string Stack contents after refrence - 1 2 3 4 5 Total number of page faults Size 1 in/out 0/- 1/0 2/1 3/2 0/3 4/1 0/4 4/3 12 Size 2 in/out 1/- 2/0 3/1 0/2 1/3 4/0 0/1 1/4 4/2 Size 3 in/out 2/- 3/0 1/2 -/- 2/4 10 Size 4 in/out 3/- 2/3 3/4 8 Size 5 in/out 4/- 5 Lecture 23

Simulation of OPTIMUM 1 2 3 4 5 6 7 8 9 10 11 12 - 1 2 3 4 Time Reference string Stack contents after refrence - 1 2 3 4 Total number of page faults Size 1 victim - 1 2 3 4 11 Size 2 victim 10 Size 3 victim 7 Size 4 victim 6 Size 5 victim 5 Lecture 23

Clock replacement algorithm Approximates LRU with a minimum Additional hardware: one reference bit for each page Overhead Algorithm activated : when a new page must be brought in move the pointer of a virtual clock in clockwise direction if the arm points to a block with reference bit TRUE Set it FALSE Move to the next block if the arm points to a block with reference bit FALSE The page in that block could be removed (has not been referenced for a while) Write it back to the secondary storage if the “dirty” bit is on (if the page has been modified. Lecture 23

Lecture 23