Paging algorithms. CS 241 February 10, Copyright : University of Illinois CS 241 Staff 1

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Paging algorithms. CS 241 February 10, Copyright : University of Illinois CS 241 Staff 1"

Transcription

1 Paging algorithms CS 241 February 10, 2012 Copyright : University of Illinois CS 241 Staff 1

2 Announcements MP2 due Tuesday Fabulous Prizes Wednesday! 2

3 Paging On heavily-loaded systems, memory can fill up Need to make room for newly-accessed pages Heuristic: try to move inactive pages out to disk Paging What constitutes an inactive page? Refers to moving individual pages out to disk, and back We often use the terms paging and swapping interchangeably Different from context switching Background processes often have their pages remain resident in memory Paging could occur even with only one process running 3

4 Basic Page Replacement Find the location of the desired page on disk Find a free frame If there is a free frame, use it If there is no free frame, use a page replacement algorithm to select a victim frame Read the desired page into the (newly) free frame. Update the page and frame tables. Note: can also evict in advance OS keeps pool of free pages around, even when memory is tight Makes allocating a new page fast The process of evicting pages to disk is then performed in the background 4

5 Exploiting Locality Exploiting locality Temporal locality: Memory accessed recently tends to be accessed again soon Spatial locality: Memory locations near recently-accessed memory is likely to be referenced soon Locality helps to reduce the frequency of paging Once something is in memory, it should be used many times This depends on many things: The amount of locality and reference patterns in a program The page replacement algorithm The amount of physical memory and the application footprint 5

6 Fundamental technique: caching A cache keeps a subset of a data set in a more accessible but space-limited location Caches are everywhere in systems Such as? 6

7 Fundamental technique: caching A cache keeps a subset of a data set in a more accessible but space-limited location Caches are everywhere in systems Registers are a cache for L1 cache which is a cache for L2 cache which is a cache for memory which is a cache for disk which might be a cache for a remote file server Web proxy servers make downloads faster & cheaper Web browser stores downloaded files Local DNS servers remember recently-resolved DNS names Google servers remember your searches Key goal: minimize cache miss rate = minimize page fault rate (in context of paging) Requires a good algorithm 7

8 Evicting the Best Page Goal of the page replacement algorithm: Reduce page fault rate by selecting the best page to evict The best pages are those that will never be used again However, it's impossible to know in general whether a page will be touched If you have information on future access patterns, it is possible to prove that evicting those pages that will be used the furthest in the future will minimize the page fault rate What is the best algorithm for deciding the order to evict pages? Much attention has been paid to this problem. Used to be a very hot research topic. These days, widely considered solved (at least, solved well enough) 8

9 Algorithm: OPT (a.k.a. MIN) Evict page that won't be used for the longest time in the future Of course, this requires that we can foresee the future... So OPT cannot be implemented! This algorithm has the provably optimal performance Hence the name OPT OPT is useful as a yardstick to compare the performance of other (implementable) algorithms against 9

10 The Optimal Page Replacement Algorithm Idea: Select the page that will not be needed for the longest time in the future Time Requests c a d b e b a b c d Page 0 a Frames 1 b 2 c 3 d a a a a b b b b c c c c d d d d Page faults X Copyright : University of Illinois CS 241 Staff 10

11 The Optimal Page Replacement Algorithm Idea: Select the page that will not be needed for the longest time in the future Time Requests c a d b e b a b c d Page 0 a Frames 1 b 2 c 3 d Page faults a a a a a a a a a b b b b b b b b b c c c c c c c c c d d d d e e e e e X X Copyright : University of Illinois CS 241 Staff 11

12 The Optimal Page Replacement Algorithm Idea: Select the page that will not be needed for the longest time in the future Time Requests c a d b e b a b c d Page 0 a Frames 1 b 2 c 3 d a a a a a a a a a a b b b b b b b b b b c c c c c c c c c c d d d d e e e e e d Page faults X X Copyright : University of Illinois CS 241 Staff 12

13 Algorithms: Random and FIFO Random: Throw out a random page Obviously not the best scheme Although very easy to implement! FIFO: Throw out pages in the order that they were allocated Maintain a list of allocated pages When the length of the list grows to cover all of physical memory, pop first page off list and allocate it Why might FIFO be good? Why might FIFO not be so good? 13

14 Algorithms: Random and FIFO FIFO: Throw out pages in the order that they were allocated Maintain a list of allocated pages When the length of the list grows to cover all of physical memory, pop first page off list and allocate it Why might FIFO be good? Maybe the page allocated very long ago isn t used anymore Why might FIFO not be so good? Doesn t consider locality of reference! Suffers from Belady s anomaly: Performance of an application might get worse as the size of physical memory increases!!! 14

15 Belady s Anomaly Access pattern time Physical memory (3 page frames) Access pattern Physical memory (4 page frames) 9 page faults! 10 page faults! time

16 Algorithm: Least Recently Used (LRU) Evict the page that was used the longest time ago Keep track of when pages are referenced to make a better decision Use past behavior to predict future behavior LRU uses past information, while OPT uses future information When does LRU work well, and when does it not? Implementation Every time a page is accessed, record a timestamp of the access time When choosing a page to evict, scan over all pages and throw out page with oldest timestamp Problems with this implementation? 16

17 Algorithm: Least Recently Used (LRU) Evict the page that was used the longest time ago Keep track of when pages are referenced to make a better decision Use past behavior to predict future behavior LRU uses past information, while OPT uses future information When does LRU work well, and when does it not? Implementation Every time a page is accessed, record a timestamp of the access time When choosing a page to evict, scan over all pages and throw out page with oldest timestamp Problems with this implementation? 32-bit timestamp would double size of PTE Scanning all of the PTEs for lowest timestamp: slow 17

18 Least Recently Used (LRU) Keep track of when a page is used Replace the page that has been used least recently Time Requests c a d b e b a b c d Page 0 a Frames 1 b 2 c 3 d Page faults Copyright : University of Illinois CS 241 Staff 18

19 Least Recently Used (LRU) Keep track of when a page is used Replace the page that has been used least recently (farthest in the past) Time Requests c a d b e b a b c d Page 0 a Frames 1 b 2 c 3 d a a a a b b b b c c c c d d d d Page faults X Copyright : University of Illinois CS 241 Staff 19

20 Least Recently Used (LRU) Keep track of when a page is used Replace the page that has been used least recently (farthest in the past) Time Requests c a d b e b a b c d Page 0 a Frames 1 b 2 c 3 d Page faults a a a a a a a a b b b b b b b b c c c c e e e e d d d d d d d d X X Copyright : University of Illinois CS 241 Staff 20

21 Least Recently Used (LRU) Keep track of when a page is used Replace the page that has been used least recently (farthest in the past) Time Requests c a d b e b a b c d Page 0 a Frames 1 b 2 c 3 d Page faults a a a a a a a a a b b b b b b b b b c c c c e e e e e d d d d d d d d c X X X Copyright : University of Illinois CS 241 Staff 21

22 Least Recently Used (LRU) Keep track of when a page is used Replace the page that has been used least recently (farthest in the past) Time Requests c a d b e b a b c d Page 0 a Frames 1 b 2 c 3 d Page faults a a a a a a a a a a b b b b b b b b b b c c c c e e e e e d d d d d d d d d c c X X X Copyright : University of Illinois CS 241 Staff 22

23 Least Recently Used 3 frames of physical memory Run this for a long time with LRU page replacement: while true! for (i = 0; i < 4; i++)! read from page i! Q1: What fraction of page accesses are faults? None or almost none About 1 in 4 About 2 in 4 About 3 in 4 All or almost all Q2: How well does OPT do? 23

24 24

25 Least Recently Used 3 frames of physical memory Run this for a long time with LRU page replacement: while true! for (i = 0; i < 4; i++)! read from page i! Q1: What fraction of page accesses are faults? None or almost none About 1 in 4 About 2 in 4 About 3 in 4 All or almost all least recently used is always next to be used! Q2: How well does OPT do? 25

26 Least Recently Used Issues Not optimal Does not suffer from Belady's anomaly Implementation Use time of last reference Update every time page accessed (use system clock) Page replacement - search for smallest time Use a stack On page access : remove from stack, push on top Victim selection: select page at bottom of stack Both approaches require large processing overhead, more space, and hardware support. Copyright : University of Illinois CS 241 Staff 26

27 Approximating LRU Use the PTE reference bit and a small counter per page (Use a counter of, say, 2 or 3 bits in size, and store it in the PTE) Periodically (say every 100 msec), scan all physical pages in the system. For each page: If not accessed recently, (PTE reference bit == 0), counter++! If accessed recently (PTE reference bit == 1), counter = 0! Clear the PTE reference bit in either case! Counter will contain the number of scans since the last reference to this page. PTE that contains the highest counter value is the least recently used So, evict the page with the highest counter 27

28 Approximate LRU Example time Accessed pages in blue Increment counter for untouched pages These pages have the highest counter value and can be evicted. 28

29 Algorithm: LRU Second-Chance (Clock) LRU requires searching for the page with the highest lastref count Can do this with a sorted list or a second pass to look for the highest value Simpler technique: Second-chance algorithm Clock hand scans over all physical pages in the system Clock hand loops around to beginning of memory when it gets to end If PTE reference bit == 1, clear bit and advance hand to give it a second-chance If PTE reference bit == 0, evict this page No need for a counter in the PTE! Accessed pages in blue Clock hand Evict! 29

30 Algorithm: LRU Second-Chance (Clock) This is a lot like LRU, but operates in an iterative fashion To find a page to evict, just start scanning from current clock hand position What happens if all pages have ref bits set to 1? What is the minimum age of a page that has the ref bit set to 0? Slight variant -- nth chance clock Only evict page if hand has swept by N times Increment per-page counter each time hand passes and ref bit is 0 Evict a page if counter N Counter cleared to 0 each time page is used 30

31 Swap Files What happens to the page that we choose to evict? Depends on what kind of page it is and what state it's in! OS maintains one or more swap files or partitions on disk Special data format for storing pages that have been swapped out 31

32 Swap Files How do we keep track of where things are on disk? V bit Recall PTE format When V bit is 0, can recycle the PFN field to remember something about the page. 5 bits 24 bits 0 Swap file index Swap file offset Swap file (max 2 24 pages = 64 GB) But... not all pages are swapped in from swap files! Swap file table (max 32 entries) E.g., what about executables? 32

33 Page Eviction How we evict a page depends on its type. Code page: Just remove it from memory can recover it from the executable file on disk! Unmodified (clean) data page: If the page has previously been swapped to disk, just remove it from memory Assuming that page's backing store on disk has not been overwritten If the page has never been swapped to disk, allocate new swap space and write the page to it Exception: unmodified zero page no need to write out to swap at all! Modified (dirty) data page: If the page has previously been swapped to disk, write page out to the swap space If the page has never been swapped to disk, allocate new swap space and write the page to it 33

34 Physical Frame Allocation How do we allocate physical memory across multiple processes? What if Process A needs to evict a page from Process B? How do we ensure fairness? How do we avoid having one process hogging the entire memory of the system? Local replacement algorithms Per-process limit on the physical memory usage of each process When a process reaches its limit, it evicts pages from itself Global-replacement algorithms Physical size of processes can grow and shrink over time Allow processes to evict pages from other processes Note that one process' paging can impact performance of entire system! One process that does a lot of paging will induce more disk I/O 34

35 Working Set A process's working set is the set of pages that it currently needs Definition: WS(P, t, w) = the set of pages that process P accessed in the time interval [t-w, t] w is usually counted in terms of number of page references A page is in WS if it was referenced in the last w page references Working set changes over the lifetime of the process Periods of high locality exhibit smaller working set Periods of low locality exhibit larger working set Basic idea: Give process enough memory for its working set If WS is larger than physical memory allocated to process, it will tend to swap If WS is smaller than memory allocated to process, it's wasteful This amount of memory grows and shrinks over time 35

36 Estimating the Working Set How do we determine the working set? Simple approach: modified clock algorithm Sweep the clock hand at fixed time intervals Record how many seconds since last page reference All pages referenced in last T seconds are in the working set Now that we know the working set, how do we allocate memory? If working sets for all processes fit in physical memory, done! Otherwise, reduce memory allocation of larger processes Idea: Big processes will swap anyway, so let the small jobs run unencumbered Very similar to shortest-job-first scheduling: give smaller processes better chance of fitting in memory How do we decide the working set time limit T? If T is too large, very few processes will fit in memory If T is too small, system will spend more time swapping Which is better? 36

37 Page Fault Frequency Dynamically tune memory size of process based on # page faults Monitor page fault rate for each process (faults per sec) If page fault rate above threshold, give process more memory Should cause process to fault less Doesn't always work! Recall Belady's Anomaly If page fault rate below threshold, reduce memory allocation What happens when everyone s page fault rate is high? 37

38 Thrashing As system becomes more loaded, spends more of its time paging Eventually, no useful work gets done! Thrashing CPU utilization Number of processes System is overcommitted! If the system has too little memory, the page replacement algorithm doesn't matter Solutions? Change scheduling priorities to slow down processes that are thrashing Identify process that are hogging the system and kill them? Is thrashing a problem on systems with only one user? 38

Reminder: Mechanics of address translation. Paged virtual memory. Reminder: Page Table Entries (PTEs) Demand paging. Page faults

Reminder: Mechanics of address translation. Paged virtual memory. Reminder: Page Table Entries (PTEs) Demand paging. Page faults CSE 451: Operating Systems Autumn 2012 Module 12 Virtual Memory, Page Faults, Demand Paging, and Page Replacement Reminder: Mechanics of address translation virtual address virtual # offset table frame

More information

Virtual Memory. Today.! Virtual memory! Page replacement algorithms! Modeling page replacement algorithms

Virtual Memory. Today.! Virtual memory! Page replacement algorithms! Modeling page replacement algorithms Virtual Memory Today! Virtual memory! Page replacement algorithms! Modeling page replacement algorithms Reminder: virtual memory with paging! Hide the complexity let the OS do the job! Virtual address

More information

CSE 120 Principles of Operating Systems

CSE 120 Principles of Operating Systems CSE 120 Principles of Operating Systems Fall 2016 Lecture 11: Page Replacement Geoffrey M. Voelker Administrivia Lab time This week: Thu 4pm, Sat 2pm Next week: Tue, Wed At Washington University in St.

More information

Lecture 12: Demand Paging

Lecture 12: Demand Paging Lecture 1: Demand Paging CSE 10: Principles of Operating Systems Alex C. Snoeren HW 3 Due 11/9 Complete Address Translation We started this topic with the high-level problem of translating virtual addresses

More information

Virtual Memory Design and Implementation

Virtual Memory Design and Implementation Virtual Memory Design and Implementation To do q Page replacement algorithms q Design and implementation issues q Next: Last on virtualization VMMs Loading pages When should the OS load pages? On demand

More information

Swapping. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Swapping. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Swapping Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Swapping Support processes when not enough physical memory User program should be independent

More information

Operating Systems Virtual Memory. Lecture 11 Michael O Boyle

Operating Systems Virtual Memory. Lecture 11 Michael O Boyle Operating Systems Virtual Memory Lecture 11 Michael O Boyle 1 Paged virtual memory Allows a larger logical address space than physical memory All pages of address space do not need to be in memory the

More information

Swapping. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Swapping. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University Swapping Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE0: Introduction to Operating Systems, Fall 07, Jinkyu Jeong (jinkyu@skku.edu) Swapping

More information

Lecture 14 Page Replacement Policies

Lecture 14 Page Replacement Policies CS 423 Operating Systems Design Lecture 14 Page Replacement Policies Klara Nahrstedt Fall 2011 Based on slides by YY Zhou and Andrew S. Tanenbaum Overview Administrative Issues Page Replacement Policies

More information

Virtual Memory Design and Implementation

Virtual Memory Design and Implementation Virtual Memory Design and Implementation Today! Page replacement algorithms! Some design and implementation issues Next! Last on virtualization VMMs How can any of this work?!?!! Locality Temporal locality

More information

Virtual Memory: Page Replacement. CSSE 332 Operating Systems Rose-Hulman Institute of Technology

Virtual Memory: Page Replacement. CSSE 332 Operating Systems Rose-Hulman Institute of Technology Virtual Memory: Page Replacement CSSE 332 Operating Systems Rose-Hulman Institute of Technology Announcements Project E & presentation are due Wednesday Team reflections due Monday, May 19 The need for

More information

CS 333 Introduction to Operating Systems. Class 14 Page Replacement. Jonathan Walpole Computer Science Portland State University

CS 333 Introduction to Operating Systems. Class 14 Page Replacement. Jonathan Walpole Computer Science Portland State University CS 333 Introduction to Operating Systems Class 14 Page Replacement Jonathan Walpole Computer Science Portland State University Page replacement Assume a normal page table (e.g., BLITZ) User-program is

More information

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 15: Caching: Demand Paged Virtual Memory

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 15: Caching: Demand Paged Virtual Memory CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2003 Lecture 15: Caching: Demand Paged Virtual Memory 15.0 Main Points: Concept of paging to disk Replacement policies

More information

CS 4410 Operating Systems. Page Replacement (2) Summer 2016 Cornell University

CS 4410 Operating Systems. Page Replacement (2) Summer 2016 Cornell University CS 4410 Operating Systems Page Replacement (2) Summer 2016 Cornell University Today Algorithm that approximates the OPT replacement algorithm. 2 Least Recently Used (LRU) Page Replacement A recently used

More information

ECE7995 Caching and Prefetching Techniques in Computer Systems. Lecture 8: Buffer Cache in Main Memory (I)

ECE7995 Caching and Prefetching Techniques in Computer Systems. Lecture 8: Buffer Cache in Main Memory (I) ECE7995 Caching and Prefetching Techniques in Computer Systems Lecture 8: Buffer Cache in Main Memory (I) 1 Review: The Memory Hierarchy Take advantage of the principle of locality to present the user

More information

Lecture#16: VM, thrashing, Replacement, Cache state

Lecture#16: VM, thrashing, Replacement, Cache state Lecture#16: VM, thrashing, Replacement, Cache state Review -- 1 min Multi-level translation tree: multi-level page table, paged paging, paged segmentation, hash table: inverted page table combination:

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 33 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ How does the virtual

More information

Paging and Page Replacement Algorithms

Paging and Page Replacement Algorithms Paging and Page Replacement Algorithms Section 3.4 Tanenbaum s book Kartik Gopalan OS Involvement with Page Table Management Four times when OS deals with page-tables 1. Process creation create page table

More information

Virtual Memory. Virtual Memory. Demand Paging. valid-invalid bit. Virtual Memory Larger than Physical Memory

Virtual Memory. Virtual Memory. Demand Paging. valid-invalid bit. Virtual Memory Larger than Physical Memory Virtual Memory Virtual Memory CSCI Operating Systems Design Department of Computer Science Virtual memory separation of user logical memory from physical memory. Only part of the program needs to be in

More information

CS 4284 Systems Capstone

CS 4284 Systems Capstone CS 4284 Systems Capstone Virtual Memory Page Replacement Godmar Back VM Design Issues & Techniques CS 4284 Spring 2015 Page Replacement Policies Goal: want to minimize number of (major) page faults (situations

More information

Memory Management. Chapter 4 Memory Management. Multiprogramming with Fixed Partitions. Ideally programmers want memory that is.

Memory Management. Chapter 4 Memory Management. Multiprogramming with Fixed Partitions. Ideally programmers want memory that is. Chapter 4 Memory Management Ideally programmers want memory that is Memory Management large fast non volatile 4.1 Basic memory management 4.2 Swapping 4.3 Virtual memory 4.4 Page replacement algorithms

More information

Operating Systems Lecture 6: Memory Management II

Operating Systems Lecture 6: Memory Management II CSCI-GA.2250-001 Operating Systems Lecture 6: Memory Management II Hubertus Franke frankeh@cims.nyu.edu What is the problem? Not enough memory Have enough memory is not possible with current technology

More information

CS510 Operating System Foundations. Jonathan Walpole

CS510 Operating System Foundations. Jonathan Walpole CS510 Operating System Foundations Jonathan Walpole Page Replacement Page Replacement Assume a normal page table (e.g., BLITZ) User-program is executing A PageInvalidFault occurs! - The page needed is

More information

Memory management, part 2: outline

Memory management, part 2: outline Memory management, part 2: outline Page replacement algorithms Modeling PR algorithms o Working-set model and algorithms Virtual memory implementation issues 1 Page Replacement Algorithms Page fault forces

More information

Global Replacement Algorithms (1) Ken Wong Washington University. Global Replacement Algorithms (2) Replacement Example (1)

Global Replacement Algorithms (1) Ken Wong Washington University. Global Replacement Algorithms (2) Replacement Example (1) Virtual Memory Part (CSE S) Ken Wong Washington University kenw@wustl.edu www.arl.wustl.edu/~kenw Global Replacement Algorithms () Example Page Reference Stream (String):»,,,,,,,,,,, Assume» ixed number

More information

Memory Allocation. Copyright : University of Illinois CS 241 Staff 1

Memory Allocation. Copyright : University of Illinois CS 241 Staff 1 Memory Allocation Copyright : University of Illinois CS 241 Staff 1 Recap: Virtual Addresses A virtual address is a memory address that a process uses to access its own memory Virtual address actual physical

More information

10: Virtual Memory Management

10: Virtual Memory Management CSC400 - Operating Systems 10: Virtual Memory Management J. Sumey Introduction virtual memory management: concerned with the actual management operations of a virtual memory system fetch strategies: when

More information

! What is virtual memory and when is it useful? ! What is demand paging? ! What pages should be. ! What is the working set model?

! What is virtual memory and when is it useful? ! What is demand paging? ! What pages should be. ! What is the working set model? Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory! What is virtual memory and when is it useful?! What is demand paging?! What pages should be» resident in memory, and» which should

More information

Recall from Tuesday. Our solution to fragmentation is to split up a process s address space into smaller chunks. Physical Memory OS.

Recall from Tuesday. Our solution to fragmentation is to split up a process s address space into smaller chunks. Physical Memory OS. Paging 11/10/16 Recall from Tuesday Our solution to fragmentation is to split up a process s address space into smaller chunks. Physical Memory OS Process 3 Process 3 OS: Place Process 3 Process 1 Process

More information

Memory Management Prof. James L. Frankel Harvard University

Memory Management Prof. James L. Frankel Harvard University Memory Management Prof. James L. Frankel Harvard University Version of 5:42 PM 25-Feb-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved. Memory Management Ideal memory Large Fast Non-volatile

More information

Virtual Memory. CSCI 315 Operating Systems Design Department of Computer Science

Virtual Memory. CSCI 315 Operating Systems Design Department of Computer Science Virtual Memory CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture have been largely based on those from an earlier edition of the course text Operating

More information

CS450/550 Operating Systems

CS450/550 Operating Systems CS450/550 Operating Systems Lecture 4 memory Palden Lama Department of Computer Science CS450/550 Memory.1 Review: Summary of Chapter 3 Deadlocks and its modeling Deadlock detection Deadlock recovery Deadlock

More information

Page Replacement. 3/9/07 CSE 30341: Operating Systems Principles

Page Replacement. 3/9/07 CSE 30341: Operating Systems Principles Page Replacement page 1 Page Replacement Algorithms Want lowest page-fault rate Evaluate algorithm by running it on a particular string of memory references (reference string) and computing the number

More information

Operating System Concepts

Operating System Concepts Chapter 9: Virtual-Memory Management 9.1 Silberschatz, Galvin and Gagne 2005 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped

More information

Memory Allocation. Copyright : University of Illinois CS 241 Staff 1

Memory Allocation. Copyright : University of Illinois CS 241 Staff 1 Memory Allocation Copyright : University of Illinois CS 241 Staff 1 Allocation of Page Frames Scenario Several physical pages allocated to processes A, B, and C. Process B page faults. Which page should

More information

Basic Memory Management

Basic Memory Management Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester 10/15/14 CSC 2/456 1 Basic Memory Management Program must be brought into memory and placed within a process for it

More information

Paging Policies, Load control, Page Fault Handling, Case studies January WT 2008/09

Paging Policies, Load control, Page Fault Handling, Case studies January WT 2008/09 19 Virtual Memory (2) Paging Policies, Load control, Page Fault Handling, Case studies January 21 2009 WT 2008/09 2009 Universität Karlsruhe (TH), System Architecture Group 1 Introduction Roadmap of Today

More information

Chapter 8: Virtual Memory. Operating System Concepts Essentials 2 nd Edition

Chapter 8: Virtual Memory. Operating System Concepts Essentials 2 nd Edition Chapter 8: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

Week 2: Tiina Niklander

Week 2: Tiina Niklander Virtual memory Operations and policies Chapters 3.4. 3.6 Week 2: 17.9.2009 Tiina Niklander 1 Policies and methods Fetch policy (Noutopolitiikka) When to load page to memory? Placement policy (Sijoituspolitiikka

More information

Virtual Memory: Policies. CS439: Principles of Computer Systems March 5, 2018

Virtual Memory: Policies. CS439: Principles of Computer Systems March 5, 2018 Virtual Memory: Policies CS439: Principles of Computer Systems March 5, 28 Last Time Overlays Paging Pages Page frames Address translation Today s Agenda Paging: Mechanisms Page Tales Page Faults Paging:

More information

Chapter 9: Virtual Memory

Chapter 9: Virtual Memory Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

CMPT 300 Introduction to Operating Systems

CMPT 300 Introduction to Operating Systems MPT 300 Introduction to Operating Systems Page Replacement lgorithms 1 Demand Paging Modern programs require a lot of physical memory ut they donʼt use all their memory all of the time 90-10 rule: 90%

More information

Chapter 8: Virtual Memory. Operating System Concepts

Chapter 8: Virtual Memory. Operating System Concepts Chapter 8: Virtual Memory Silberschatz, Galvin and Gagne 2009 Chapter 8: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

Chapter 10: Virtual Memory. Background

Chapter 10: Virtual Memory. Background Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Operating System Examples 10.1 Background Virtual memory separation of user logical

More information

Role of OS in virtual memory management

Role of OS in virtual memory management Role of OS in virtual memory management Role of OS memory management Design of memory-management portion of OS depends on 3 fundamental areas of choice Whether to use virtual memory or not Whether to use

More information

Memory Management. To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time.

Memory Management. To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time. Memory Management To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time. Basic CPUs and Physical Memory CPU cache Physical memory

More information

Chapter 10: Virtual Memory. Background. Demand Paging. Valid-Invalid Bit. Virtual Memory That is Larger Than Physical Memory

Chapter 10: Virtual Memory. Background. Demand Paging. Valid-Invalid Bit. Virtual Memory That is Larger Than Physical Memory Chapter 0: Virtual Memory Background Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Operating System Examples Virtual memory separation of user logical memory

More information

Address spaces and memory management

Address spaces and memory management Address spaces and memory management Review of processes Process = one or more threads in an address space Thread = stream of executing instructions Address space = memory space used by threads Address

More information

Chapter 9: Virtual Memory

Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Chapter 9: Virtual Memory Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations

More information

MEMORY MANAGEMENT. Term Paper. Operating Systems CS-384

MEMORY MANAGEMENT. Term Paper. Operating Systems CS-384 MEMORY MANAGEMENT Term Paper Operating Systems CS-384 Submitted to: Dr. Taylor Submitted by: Deepak Agrawal Submitted on: February 2, 2003 1 Table of contents (Index) Introduction 3 Contiguous memory allocation.3

More information

Chapter 9: Virtual Memory. Chapter 9: Virtual Memory. Objectives. Background. Virtual-address address Space

Chapter 9: Virtual Memory. Chapter 9: Virtual Memory. Objectives. Background. Virtual-address address Space Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations

More information

Unit 2 Buffer Pool Management

Unit 2 Buffer Pool Management Unit 2 Buffer Pool Management Based on: Sections 9.4, 9.4.1, 9.4.2 of Ramakrishnan & Gehrke (text); Silberschatz, et. al. ( Operating System Concepts ); Other sources Original slides by Ed Knorr; Updates

More information

TLB Recap. Fast associative cache of page table entries

TLB Recap. Fast associative cache of page table entries Virtual Memory II 1 TLB Recap Fast associative cache of page table entries Contains a subset of the page table What happens if required entry for translation is not present (a TLB miss)? 2 TLB Recap TLB

More information

Chapter 9: Virtual Memory

Chapter 9: Virtual Memory Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations

More information

OPERATING SYSTEM. Chapter 9: Virtual Memory

OPERATING SYSTEM. Chapter 9: Virtual Memory OPERATING SYSTEM Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory

More information

Memory Management Cache Base and Limit Registers base limit Binding of Instructions and Data to Memory Compile time absolute code Load time

Memory Management Cache Base and Limit Registers base limit Binding of Instructions and Data to Memory Compile time absolute code Load time Memory Management To provide a detailed description of various ways of organizing memory hardware To discuss various memory-management techniques, including paging and segmentation To provide a detailed

More information

Unit 2 Buffer Pool Management

Unit 2 Buffer Pool Management Unit 2 Buffer Pool Management Based on: Pages 318-323, 541-542, and 586-587 of Ramakrishnan & Gehrke (text); Silberschatz, et. al. ( Operating System Concepts ); Other sources Original slides by Ed Knorr;

More information

CS6401- Operating System UNIT-III STORAGE MANAGEMENT

CS6401- Operating System UNIT-III STORAGE MANAGEMENT UNIT-III STORAGE MANAGEMENT Memory Management: Background In general, to rum a program, it must be brought into memory. Input queue collection of processes on the disk that are waiting to be brought into

More information

CMPT 300 Introduction to Operating Systems. Page Replacement Algorithms

CMPT 300 Introduction to Operating Systems. Page Replacement Algorithms MPT 300 Introduction to Operating Systems Page Replacement lgorithms 0 Demand Paging Modern programs require a lot of physical memory Memory per system growing faster than 25%-30%/year ut they don t use

More information

1. Background. 2. Demand Paging

1. Background. 2. Demand Paging COSC4740-01 Operating Systems Design, Fall 2001, Byunggu Yu Chapter 10 Virtual Memory 1. Background PROBLEM: The entire process must be loaded into the memory to execute limits the size of a process (it

More information

Operating System Principles: Memory Management Swapping, Paging, and Virtual Memory CS 111. Operating Systems Peter Reiher

Operating System Principles: Memory Management Swapping, Paging, and Virtual Memory CS 111. Operating Systems Peter Reiher Operating System Principles: Memory Management Swapping, Paging, and Virtual Memory Operating Systems Peter Reiher Page 1 Outline Swapping Paging Virtual memory Page 2 Swapping What if we don t have enough

More information

Design Issues 1 / 36. Local versus Global Allocation. Choosing

Design Issues 1 / 36. Local versus Global Allocation. Choosing Design Issues 1 / 36 Local versus Global Allocation When process A has a page fault, where does the new page frame come from? More precisely, is one of A s pages reclaimed, or can a page frame be taken

More information

Chapters 9 & 10: Memory Management and Virtual Memory

Chapters 9 & 10: Memory Management and Virtual Memory Chapters 9 & 10: Memory Management and Virtual Memory Important concepts (for final, projects, papers) addressing: physical/absolute, logical/relative/virtual overlays swapping and paging memory protection

More information

Lecture 17. Edited from slides for Operating System Concepts by Silberschatz, Galvin, Gagne

Lecture 17. Edited from slides for Operating System Concepts by Silberschatz, Galvin, Gagne Lecture 17 Edited from slides for Operating System Concepts by Silberschatz, Galvin, Gagne Page Replacement Algorithms Last Lecture: FIFO Optimal Page Replacement LRU LRU Approximation Additional-Reference-Bits

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 32 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Questions for you What is

More information

Locality. CS429: Computer Organization and Architecture. Locality Example 2. Locality Example

Locality. CS429: Computer Organization and Architecture. Locality Example 2. Locality Example Locality CS429: Computer Organization and Architecture Dr Bill Young Department of Computer Sciences University of Texas at Austin Principle of Locality: Programs tend to reuse data and instructions near

More information

Unit II: Memory Management

Unit II: Memory Management Unit II: Memory Management 1. What is no memory abstraction? The simplest memory abstraction is no abstraction at all. Early mainframe computers (before 1960), early minicomputers (before 1970), and early

More information

CSE 410 Final Exam Sample Solution 6/08/10

CSE 410 Final Exam Sample Solution 6/08/10 Question 1. (12 points) (caches) (a) One choice in designing cache memories is to pick a block size. Which of the following do you think would be the most reasonable size for cache blocks on a computer

More information

MEMORY MANAGEMENT/1 CS 409, FALL 2013

MEMORY MANAGEMENT/1 CS 409, FALL 2013 MEMORY MANAGEMENT Requirements: Relocation (to different memory areas) Protection (run time, usually implemented together with relocation) Sharing (and also protection) Logical organization Physical organization

More information

Memory Organization MEMORY ORGANIZATION. Memory Hierarchy. Main Memory. Auxiliary Memory. Associative Memory. Cache Memory.

Memory Organization MEMORY ORGANIZATION. Memory Hierarchy. Main Memory. Auxiliary Memory. Associative Memory. Cache Memory. MEMORY ORGANIZATION Memory Hierarchy Main Memory Auxiliary Memory Associative Memory Cache Memory Virtual Memory MEMORY HIERARCHY Memory Hierarchy Memory Hierarchy is to obtain the highest possible access

More information

Chapter 9: Virtual Memory. Operating System Concepts 9 th Edition

Chapter 9: Virtual Memory. Operating System Concepts 9 th Edition Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

Switching Between Page Replacement Algorithms Based on Work Load During Runtime in Linux Kernel

Switching Between Page Replacement Algorithms Based on Work Load During Runtime in Linux Kernel San Jose State University SJSU ScholarWorks Master's Projects Master's Theses and Graduate Research Spring 5-22-2017 Switching Between Page Replacement Algorithms Based on Work Load During Runtime in Linux

More information

Swapping. Operating Systems I. Swapping. Motivation. Paging Implementation. Demand Paging. Active processes use more physical memory than system has

Swapping. Operating Systems I. Swapping. Motivation. Paging Implementation. Demand Paging. Active processes use more physical memory than system has Swapping Active processes use more physical memory than system has Operating Systems I Address Binding can be fixed or relocatable at runtime Swap out P P Virtual Memory OS Backing Store (Swap Space) Main

More information

stack Two-dimensional logical addresses Fixed Allocation Binary Page Table

stack Two-dimensional logical addresses Fixed Allocation Binary Page Table Question # 1 of 10 ( Start time: 07:24:13 AM ) Total Marks: 1 LRU page replacement algorithm can be implemented by counter stack linked list all of the given options Question # 2 of 10 ( Start time: 07:25:28

More information

Chapter 9: Virtual Memory. Operating System Concepts 9th Edition

Chapter 9: Virtual Memory. Operating System Concepts 9th Edition Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations

More information

Managing Storage: Above the Hardware

Managing Storage: Above the Hardware Managing Storage: Above the Hardware 1 Where we are Last time: hardware HDDs and SSDs Today: how the DBMS uses the hardware to provide fast access to data 2 How DBMS manages storage "Bottom" two layers

More information

Memory. Objectives. Introduction. 6.2 Types of Memory

Memory. Objectives. Introduction. 6.2 Types of Memory Memory Objectives Master the concepts of hierarchical memory organization. Understand how each level of memory contributes to system performance, and how the performance is measured. Master the concepts

More information

Example: CPU-bound process that would run for 100 quanta continuously 1, 2, 4, 8, 16, 32, 64 (only 37 required for last run) Needs only 7 swaps

Example: CPU-bound process that would run for 100 quanta continuously 1, 2, 4, 8, 16, 32, 64 (only 37 required for last run) Needs only 7 swaps Interactive Scheduling Algorithms Continued o Priority Scheduling Introduction Round-robin assumes all processes are equal often not the case Assign a priority to each process, and always choose the process

More information

Lecture #15: Translation, protection, sharing

Lecture #15: Translation, protection, sharing Lecture #15: Translation, protection, sharing Review -- 1 min Goals of virtual memory: protection relocation sharing illusion of infinite memory minimal overhead o space o time Last time: we ended with

More information

Virtual Memory B: Objec5ves

Virtual Memory B: Objec5ves Virtual Memory B: Objec5ves Benefits of a virtual memory system" Demand paging, page-replacement algorithms, and allocation of page frames" The working-set model" Relationship between shared memory and

More information

Chapter 9: Virtual Memory. Operating System Concepts 9 th Edition

Chapter 9: Virtual Memory. Operating System Concepts 9 th Edition Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

Chapter 3: Important Concepts (3/29/2015)

Chapter 3: Important Concepts (3/29/2015) CISC 3595 Operating System Spring, 2015 Chapter 3: Important Concepts (3/29/2015) 1 Memory from programmer s perspective: you already know these: Code (functions) and data are loaded into memory when the

More information

CS 136: Advanced Architecture. Review of Caches

CS 136: Advanced Architecture. Review of Caches 1 / 30 CS 136: Advanced Architecture Review of Caches 2 / 30 Why Caches? Introduction Basic goal: Size of cheapest memory... At speed of most expensive Locality makes it work Temporal locality: If you

More information

Virtual Memory 1. Virtual Memory

Virtual Memory 1. Virtual Memory Virtual Memory 1 Virtual Memory key concepts virtual memory, physical memory, address translation, MMU, TLB, relocation, paging, segmentation, executable file, swapping, page fault, locality, page replacement

More information

EECS 482 Introduction to Operating Systems

EECS 482 Introduction to Operating Systems EECS 482 Introduction to Operating Systems Fall 2017 Manos Kapritsos Slides by: Harsha V. Madhyastha Recap: Paging Both address spaces and physical memory broken up into fixed size pages Address Space

More information

Operating System 1 (ECS-501)

Operating System 1 (ECS-501) Operating System 1 (ECS-501) Unit- IV Memory Management 1.1 Bare Machine: 1.1.1 Introduction: It has the ability to recover the operating system of a machine to the identical state it was at a given point

More information

Caches (Writing) P & H Chapter 5.2 3, 5.5. Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University

Caches (Writing) P & H Chapter 5.2 3, 5.5. Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Caches (Writing) P & H Chapter 5.2 3, 5.5 Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Big Picture: Memory Code Stored in Memory (also, data and stack) memory PC +4 new pc

More information

ΗΥ345 Operating Systems. Recitation 2 Memory Management - Solutions -

ΗΥ345 Operating Systems. Recitation 2 Memory Management - Solutions - ΗΥ345 Operating Systems Recitation 2 Memory Management - Solutions - Problem 7 Consider the following C program: int X[N]; int step = M; //M is some predefined constant for (int i = 0; i < N; i += step)

More information

Chapter 8 & Chapter 9 Main Memory & Virtual Memory

Chapter 8 & Chapter 9 Main Memory & Virtual Memory Chapter 8 & Chapter 9 Main Memory & Virtual Memory 1. Various ways of organizing memory hardware. 2. Memory-management techniques: 1. Paging 2. Segmentation. Introduction Memory consists of a large array

More information

Memory Management Outline. Operating Systems. Motivation. Paging Implementation. Accessing Invalid Pages. Performance of Demand Paging

Memory Management Outline. Operating Systems. Motivation. Paging Implementation. Accessing Invalid Pages. Performance of Demand Paging Memory Management Outline Operating Systems Processes (done) Memory Management Basic (done) Paging (done) Virtual memory Virtual Memory (Chapter.) Motivation Logical address space larger than physical

More information

ECE4680 Computer Organization and Architecture. Virtual Memory

ECE4680 Computer Organization and Architecture. Virtual Memory ECE468 Computer Organization and Architecture Virtual Memory If I can see it and I can touch it, it s real. If I can t see it but I can touch it, it s invisible. If I can see it but I can t touch it, it

More information

CS3350B Computer Architecture

CS3350B Computer Architecture CS335B Computer Architecture Winter 25 Lecture 32: Exploiting Memory Hierarchy: How? Marc Moreno Maza wwwcsduwoca/courses/cs335b [Adapted from lectures on Computer Organization and Design, Patterson &

More information

EE 4683/5683: COMPUTER ARCHITECTURE

EE 4683/5683: COMPUTER ARCHITECTURE EE 4683/5683: COMPUTER ARCHITECTURE Lecture 6A: Cache Design Avinash Kodi, kodi@ohioedu Agenda 2 Review: Memory Hierarchy Review: Cache Organization Direct-mapped Set- Associative Fully-Associative 1 Major

More information

+ Random-Access Memory (RAM)

+ Random-Access Memory (RAM) + Memory Subsystem + Random-Access Memory (RAM) Key features RAM is traditionally packaged as a chip. Basic storage unit is normally a cell (one bit per cell). Multiple RAM chips form a memory. RAM comes

More information

Course Administration

Course Administration Spring 207 EE 363: Computer Organization Chapter 5: Large and Fast: Exploiting Memory Hierarchy - Avinash Kodi Department of Electrical Engineering & Computer Science Ohio University, Athens, Ohio 4570

More information

Roadmap. Handling large amount of data efficiently. Stable storage. Parallel dataflow. External memory algorithms and data structures

Roadmap. Handling large amount of data efficiently. Stable storage. Parallel dataflow. External memory algorithms and data structures Roadmap Handling large amount of data efficiently Stable storage External memory algorithms and data structures Implementing relational operators Parallel dataflow Algorithms for MapReduce Implementing

More information

ECE468 Computer Organization and Architecture. Virtual Memory

ECE468 Computer Organization and Architecture. Virtual Memory ECE468 Computer Organization and Architecture Virtual Memory ECE468 vm.1 Review: The Principle of Locality Probability of reference 0 Address Space 2 The Principle of Locality: Program access a relatively

More information

CS 5523 Operating Systems: Memory Management

CS 5523 Operating Systems: Memory Management CS 5523 Operating Systems: Memory Management Instructor: Dr Tongping Liu Thank Dr Dakai Zhu, Dr Palden Lama, and Dr Tim Richards (UMASS) for providing their slides Outline Simple memory management: swap

More information

a. A binary semaphore takes on numerical values 0 and 1 only. b. An atomic operation is a machine instruction or a sequence of instructions

a. A binary semaphore takes on numerical values 0 and 1 only. b. An atomic operation is a machine instruction or a sequence of instructions CSE 306 -- Operating Systems Spring 2002 Solutions to Review Questions for the Final Exam 1. [20 points, 1 each] rue or False, circle or F. a. A binary semaphore takes on numerical values 0 and 1 only.

More information