Memory Allocation, Page Replacement and Working Sets
|
|
- Grant McDowell
- 6 years ago
- Views:
Transcription
1 Memory Allocation, Page Replacement and Working Sets 1. PROJECT: Many people want to combine projects for two classes or independent studies Have to have at least 3 people total on the project, at least 2 from this class If you cannot do that, come up with a project just for this class 2. NOTES FROM REVIEWS 3. Memory Management intro: Looking at three problems: page replacement. e.g. clock, lru, fifo, working set kernel page table management vm page table management. QUESTION: Why such a big deal? i. benefit: avoiding 1 page fault saves 5 million cycles can do a lot of work to avoid paging ii. Opportunity: lots of different programs, no perfect prediction, always an opportunity to improve Major themes: i. page replacement: global vs. local, etc. 1. Issue: avoid thrashing, good performance ii. Kernel page table structures: 1. Issue: portability across machines, use virtual memory for new things iii. virtual machine memory management 1. Issue: managing memory without cooperation of an OS 4. Converting a swap system to paging Problem: use VAX but lack reference bits just valid, dirty, protection. Not know if it has been used. i. Claim can only do simple things (FIFO, RANDOM) without minimal usage information High level solution: mark sampled page as invalid (reclaimable state) i. VMS approach: 1. resident set == set of pages for a process, managed in FIFO 2. global free list shared by all processes, can use to replace entry in resident set cheaply if used ii. VMS problem: resident size is fixed, so cannot use more memory even when available 1. handled replacement, but did not solve problem of how much to allocate iii. General approach of the the VMS system: hybrid replacement policies 1. different policies for different areas- a. FIFO for mapped pages (fast, no HW) b. LRU for free list (explicit references because unmapped)
2 5. UNIX approach: 2. For the right resident set size, can work close to pure LRU while runtime cost is FIFO (LRU ops rare) a. Like HW victim cache iv. Why VMS model does not apply to Unix: 1. people use more processes 2. processes are heterogeneous vary widely in memory use a. behavior of processes vary widely b. Lisp GC: scan all memory 3. So: cannot have a single resident set size a. VMS handles this because part of the real resident set (working set) is on free list b. Can dynamically vary resident set size using a predictor: the WORKING SET 4. Used in Windows NT/2000 Clock algorithm: more robust to variations in system i. page fault cost ii. amount of memory iii. No real knobs iv. QUESTION: Why is this important? Clock basics: i. put all phys page allocated on a circle (the LOOP) ii. pointer (HAND) advances circularly until finds replacement candidate 1. candidate = page that has not been referenced for two successive passages of hand (1 complete rotation of hand) 2. first clears ref' bit 3. second checks it iii. SCAN == check ref bit and clear it 1. WIthout ref bits: a. CLEAR = make reclaimable (unmap), b. check = is it VALID? Apply to all phys memory, not per process i. Clock does allocation and replacement, variable size partitions for programs ii. Helps cooperating programs that tradeoff execution: can tradeoff memory use too. Batching: maintain free pool of page frames not in the loop i. trigger scan when free list is too small ii. scan a minimum number of pages per second in REAL TIME to repopulate free list 1. e.g. 1/4th of real memory, 100 pages/sec 2. fixed rate hand > fixed age of old pages 3. increase scan rate as free page list is smaller a. faster hand > younger pages
3 WHAT IS COST OF SCAN i. page fault on reclaimable page ii. Can measure cost, and fix the overhead of scanning by fixing the overhead of soft page faults iii. They fix it at 10% of processor time (seems high) 1. QUESTION: General approach: rate limit a cost 2. QUESTION: What if memory demand is high what happens to scan rate? a. More scans done ondemand rather than in background iv. OTHER SOURCES OF PAGES 1. Swapped out process' pages go on reclaimable list 2. Terminated process' pages go on the reclaimable list a. Both can be used again if restart process (fast rerunning) NOTE: Length of free pool > amount of contention for memory i. If cannot maintain long list, then there is high contention for memory 6. ISSUES: Fork performance: CoW too complex (but now used) i. use vfork() instead: 1. suspend parent process 2. let child process run but promise not to touch memory 3. QUESTION: What is the issue? a. Not "correct" all the time; easy to get wrong b. Cannot always use (bad for backgrounding) so not as modular ISSUES: Load control i. PROBLEM: on a small system, don't want to drown in paging traffic 1. SOLUTION: swap out whole programs rather than trying to keep recent parts in memory, don't run the program ii. QUESTION: What is good policy? 1. Largest first: makes most free memory (but may be important, and causes starvation of large programs) 2. Oldest first: gives priority to new programs as more interesting but wastes time swapping small programs without making much free memory 3. SOLUTION: pick largest of 4 oldest processes a. QUESTION: Why works? i. old processes (haven't run in a while) often change phase, so not need old memory that was still resident FREE PAGE POOL: i. smoothes highfrequency component of memory demand by absorbing spikes of load without having to immediately swap. ii. decouple collection of pages from allocation; allocation has to meet average rate but not instantaneous rate
4 PERFORMANCE EVALUATION: i. paging performance depends as much on I/O performance as replacement ii. Need large, sequential streams of pages to swap in and out iii. SOLUTION: 1. prefetch data on miss to avoid future misses, transfer cheaply a. cluster pages going out to have longer sequential writes 2. Make prefetched pages unreferenced so can be reclaimed more quickly a. balance tension of having prefetched data with other uses of memory; if mark referenced then is too valuable iv. NOTE: Having a comparison system that is better made it easier to optimize Unix. 7. VAX/VMS: Use hybrid system described above buffer modfied pages selected for eviction for a while to "cluster" them for locality on writeout swapper swaps in the entire resident set when scheduling process (like working set) rather than demand paging; makes program more efficient Not load process unless there is enough space for it to run 8. NOTE: Problem in Unix: When memory fills up, has adhoc policy to swap out a whole program when things get bad Is there a more principled solution to keeping the system in better shape? i. Big idea: 1. It does little value to run a program if its memory is not available 9. Working set. Context: automatic resource and scheduling a pretty new thing, as was multiprogramming. Previously, applications handled it themselves (e.g. explicitly swap memory, reserve fixed amount). Key problem: efficiency, simple programming Efficiency: want full utilization of CPU it was the critical resource Simple programming: not have to deal with manual resource allocation. 10. Problems Prior work: automatically give pages to processes, use simple LRU or FIFO global page replacement. CLOCK problems: need to know how fast clock hands move to make memory available. If too fast for some programs, the memory it needs won't be there. If too slow, not enough free memory when needed.
5 Problem: thrashing. Every program takes a page fault, swaps waiting for a page, meanwhile somebody takes another page from it, and when it comes back, it faults again. 11. OVERALL GOAL/APPROACH: Estimate memory & CPU needed by a program Make sure you have that much available Have models to back up the idea 12. Other people: perhaps VM not worth it? Ask for advice? e.g. let programmer tell system how much memory it needs, when to bring in pages? Problem: i. Usage may depend on environment, hard for programmer ii. Modular compilation makes it hard for compilers. Observation: not worth scheduling a process that doesn't have enough memory to make progress. Need to make scheduler + memory manager work together. 13. Working Set Approach: build a model of program behavior, use model + measurements to make scheduling + allocation decisions. APPROACH (KEY): instead of figuring out what page to discard, figure out what pages should be there, and make sure they are. 14. Working set MODEL: 2 level memory Traverse time T == time to transfer a page between memory Goal of mem mgmt: i. Decide which pages are in core decide which pages to REMOVE (not load) ii. optimize to minize page traffic == pages/unit time moved between memories. iii. page in on demand only Prior work: LRU, Random, LFU, FIO,... Problem: susceptible to overload under heavy competition. EXPLAIN WHY 15. Working set == minimal set of pages that must be in main memory for a process to operate efficiently without unnecessary page faults Look at pages as the program executes (process time, not real time) o(t ~) 0 ---" 3"
6 Model drives a notion that over some time scale tau, you can capture the locality of a program: what is referenced? Locality is both size of wset and sensitivity how much does it change as tau is changed. This lets you capture memory, cpu demand i. QUESTION: How does graph change for different programs? 16. Give app what it demands, measure what it needs W(t, tau) of a process at time t is the pages referenced in time (ttau, t) == set of pages referenced in last interval of length tau. Working set size w(t,tau) = W(t,tau) Properties: i. Size: monotonically increasing, converging: w(t,2tau) <= 2w(t,tau) 1. show on plot 2. Prediction: immediate past behavior predicts the future: a. W(t,tau) is agood predictor for W(T+a,tau) for small a. b. For large a, it is not good. c. Probability that W(t+a,a) intersect W(t,tau) = null is small ii. Reentry rate: page fault rate for a page 1. As tau is reduces, w(t,tau) (size) reduces; probability that useful pages are not in W(t,tau) increases. 2. Can compute reentry rate from interreference interval distribution a. Given meantime between references to a page, can compute rate of page b. if mean time < tau; always in memory c. if mean time > tau; will always page in 3. Given page fault rate, can compute return traffic rate (in real time) a. number of pages fault in tau / (execution 4. Can compute the total page fault rate for a process as a function of tau a. reentry rate for all pages * time period / (time period + fault rate * time period * traverse time) i. = # of pages faulted / (execution time + fault time) 5. BIG PICTURE: starting from prediction of interpage reference intervals, can estimate page traffic for a given working set period tau. 17. Tausenstivity sigma(tau) = how sensitive reentry rate is to tau. tausensitivity = (d/dr)lambda(tau) = fx(tau)/average interval, i. fx(tau) = probability density of interval function Meaning: if tau is decreased by deltatau, lambda(tau) increases by sigma(ta)*deltatau i. Is always positive; decreasing tau always increases rate of faults
7 18. NOTE: Choice of tau: too small means pages may be removed while still useful too large, pages in memory too long, wasting memory (impacted by how many simultaneous working sets you need in memory) Recommmendation: tau comparable to traverse time T Example: interrefeence rate x: i. x < tau : page in memory 100% of time, always in W(t,tau) ii. tau < x < tau + T : page in memory for tau/(tau+2t) fraction of time: 1. in for tau, then paged out, during which it is referenced, 2. so begins return trip (e.g. 2T for out to disk and back), 3. page reappears tau+2t after previous reference iii. x > t+tau. Page in memory for tau/(x+t): 1. in memory for tau, 2. swapped out, 3. then referenced (at x) 4. then brough back in (time T) Residency function: interval time vs. residency fraction: Residency I00% T ~'+2T T -. i. To keep cliff at tau smaller, set tau =2T r 19. How do we detect W (the working set of pages)? W(t,tau) = pages process referenced in last tau interval i. Or: reference bits on page, shift at intervals adding up to tau. ii. Count = # refs since last interval iii. OR: clock, etc. 20. Resource allocation with working set: DEMAND = intrinsic need of program (independent of system) Memory demand of process i m i = min(w i /M,1) = fraction of main memory i. depends on tau for w i Processor demand = amount of quanta used before blocking. r+t FIG. 4. Residency
8 i. = Q(ti)/ NA == if was just given ti seconds, ii. how much more would it use before blocking / # of processors * standard time interval (NA = total capacity) iii. NOTE: demand percpu; ignores blocking time, because it always blocks for I/O or other processes. iv. Depends on quantum size (as it is a fraction of a standard quantum) Balance = total mem demand < 1, total CPU demand < SCHEDULING POLICY TO ACHIEVE BALANCE: block jobs on the ready list: pick the one that brings CPU, memory closest back to balance (e.g. amount used beta,...) avoid thrashing by balancing memory first, then balancing processor (avoid memory overcommit) 22. OVERALL BIG PICTURE: track pages in use by a process. Throw out anything not referenced in last window make sure every process gets its CPU, memory demand swap out jobs to bring machine back to utliization goal QUESTIONS: i. what happens during load, when no pages in memory? A: need to identify load phase, do something different
PAGE REPLACEMENT. Operating Systems 2015 Spring by Euiseong Seo
PAGE REPLACEMENT Operating Systems 2015 Spring by Euiseong Seo Today s Topics What if the physical memory becomes full? Page replacement algorithms How to manage memory among competing processes? Advanced
More informationVirtual Memory III. Jo, Heeseung
Virtual Memory III Jo, Heeseung Today's Topics What if the physical memory becomes full? Page replacement algorithms How to manage memory among competing processes? Advanced virtual memory techniques Shared
More informationLecture 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 informationCSE 153 Design of Operating Systems
CSE 153 Design of Operating Systems Winter 18 Lecture 18/19: Page Replacement Memory Management Memory management systems Physical and virtual addressing; address translation Techniques: Partitioning,
More informationCS420: Operating Systems
Virtual Memory James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne Background Code needs to be in memory
More informationVIRTUAL MEMORY READING: CHAPTER 9
VIRTUAL MEMORY READING: CHAPTER 9 9 MEMORY HIERARCHY Core! Processor! Core! Caching! Main! Memory! (DRAM)!! Caching!! Secondary Storage (SSD)!!!! Secondary Storage (Disk)! L cache exclusive to a single
More informationChapter 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 informationChapter 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 informationChapter 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 informationVirtual Memory Management
Virtual Memory Management CS-3013 Operating Systems Hugh C. Lauer (Slides include materials from Slides include materials from Modern Operating Systems, 3 rd ed., by Andrew Tanenbaum and from Operating
More informationCS 153 Design of Operating Systems Winter 2016
CS 153 Design of Operating Systems Winter 2016 Lecture 18: Page Replacement Terminology in Paging A virtual page corresponds to physical page/frame Segment should not be used anywhere Page out = Page eviction
More information!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?
Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!
More informationChapter 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 informationAll Paging Schemes Depend on Locality. VM Page Replacement. Paging. Demand Paging
3/14/2001 1 All Paging Schemes Depend on Locality VM Page Replacement Emin Gun Sirer Processes tend to reference pages in localized patterns Temporal locality» locations referenced recently likely to be
More informationLast Class: Demand Paged Virtual Memory
Last Class: Demand Paged Virtual Memory Benefits of demand paging: Virtual address space can be larger than physical address space. Processes can run without being fully loaded into memory. Processes start
More informationCS 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 informationOPERATING 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 informationCSE 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 informationMemory 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 informationPast: Making physical memory pretty
Past: Making physical memory pretty Physical memory: no protection limited size almost forces contiguous allocation sharing visible to program easy to share data gcc gcc emacs Virtual memory each program
More informationSwapping. 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 informationChapter 9: Virtual Memory
Chapter 9: Virtual Memory Chapter 9: Virtual Memory 9.1 Background 9.2 Demand Paging 9.3 Copy-on-Write 9.4 Page Replacement 9.5 Allocation of Frames 9.6 Thrashing 9.7 Memory-Mapped Files 9.8 Allocating
More informationPage Replacement. (and other virtual memory policies) Kevin Webb Swarthmore College March 27, 2018
Page Replacement (and other virtual memory policies) Kevin Webb Swarthmore College March 27, 2018 Today s Goals Making virtual memory virtual : incorporating disk backing. Explore page replacement policies
More informationMemory 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 informationCS307: Operating Systems
CS307: Operating Systems Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building 3-513 wuct@cs.sjtu.edu.cn Download Lectures ftp://public.sjtu.edu.cn
More informationVirtual 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 informationVirtual Memory Outline
Virtual Memory Outline Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations Operating-System Examples
More informationOperating Systems. Operating Systems Sina Meraji U of T
Operating Systems Operating Systems Sina Meraji U of T Recap Last time we looked at memory management techniques Fixed partitioning Dynamic partitioning Paging Example Address Translation Suppose addresses
More informationECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Memory Management
ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Memory Management 1 Hardware background The role of primary memory Program
More informationVirtual Memory. ICS332 Operating Systems
Virtual Memory ICS332 Operating Systems Virtual Memory Allow a process to execute while not completely in memory Part of the address space is kept on disk So far, we have assumed that the full address
More informationVirtual Memory. Overview: Virtual Memory. Virtual address space of a process. Virtual Memory. Demand Paging
TDDB68 Concurrent programming and operating systems Overview: Virtual Memory Virtual Memory [SGG7/8] Chapter 9 Background Demand Paging Page Replacement Allocation of Frames Thrashing and Data Access Locality
More informationVirtual Memory. Overview: Virtual Memory. Virtual address space of a process. Virtual Memory
TDIU Operating systems Overview: Virtual Memory Virtual Memory Background Demand Paging Page Replacement Allocation of Frames Thrashing and Data Access Locality [SGG7/8/9] Chapter 9 Copyright Notice: The
More informationOperating 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 informationLecture #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 informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 L20 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Questions from last time Page
More informationToday. Adding Memory Does adding memory always reduce the number of page faults? FIFO: Adding Memory with LRU. Last Class: Demand Paged Virtual Memory
Last Class: Demand Paged Virtual Memory Benefits of demand paging: Virtual address space can be larger than physical address space. Processes can run without being fully loaded into memory. Processes start
More informationOptimal Algorithm. Replace page that will not be used for longest period of time Used for measuring how well your algorithm performs
Optimal Algorithm Replace page that will not be used for longest period of time Used for measuring how well your algorithm performs page 1 Least Recently Used (LRU) Algorithm Reference string: 1, 2, 3,
More informationChapter 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 informationMemory 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 informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 23 Virtual memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Is a page replaces when
More informationLecture#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 informationChapter 9: Virtual-Memory
Chapter 9: Virtual-Memory Management Chapter 9: Virtual-Memory Management Background Demand Paging Page Replacement Allocation of Frames Thrashing Other Considerations Silberschatz, Galvin and Gagne 2013
More informationOperating 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 informationPaging algorithms. CS 241 February 10, Copyright : University of Illinois CS 241 Staff 1
Paging algorithms CS 241 February 10, 2012 Copyright : University of Illinois CS 241 Staff 1 Announcements MP2 due Tuesday Fabulous Prizes Wednesday! 2 Paging On heavily-loaded systems, memory can fill
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?
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 informationWhere are we in the course?
Previous Lectures Memory Management Approaches Allocate contiguous memory for the whole process Use paging (map fixed size logical pages to physical frames) Use segmentation (user s view of address space
More informationCS370 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 informationMemory Management. Virtual Memory. By : Kaushik Vaghani. Prepared By : Kaushik Vaghani
Memory Management Virtual Memory By : Kaushik Vaghani Virtual Memory Background Page Fault Dirty Page / Dirty Bit Demand Paging Copy-on-Write Page Replacement Objectives To describe the benefits of a virtual
More informationChapter 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 informationMemory - Paging. Copyright : University of Illinois CS 241 Staff 1
Memory - Paging Copyright : University of Illinois CS 241 Staff 1 Physical Frame Allocation How do we allocate physical memory across multiple processes? What if Process A needs to evict a page from Process
More informationChapter 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 informationRecall 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 informationChapter 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 informationHow to create a process? What does process look like?
How to create a process? On Unix systems, executable read by loader Compile time runtime Ken Birman ld loader Cache Compiler: generates one object file per source file Linker: combines all object files
More informationMemory management, part 2: outline. Operating Systems, 2017, Danny Hendler and Amnon Meisels
Memory management, part 2: outline 1 Page Replacement Algorithms Page fault forces choice o which page must be removed to make room for incoming page? Modified page must first be saved o unmodified just
More informationChapter 10: Virtual Memory
Chapter 10: Virtual Memory Chapter 10: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations
More informationChapter 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 informationBasic 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 informationVirtual Memory Design and Implementation
Virtual Memory Design and Implementation q q q Page replacement algorithms Design and implementation issues Next: Last on virtualization VMMs Loading pages When should the OS load pages? On demand or ahead
More informationOperating System - Virtual Memory
Operating System - Virtual Memory Virtual memory is a technique that allows the execution of processes which are not completely available in memory. The main visible advantage of this scheme is that programs
More informationOperating 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 informationVirtual Memory COMPSCI 386
Virtual Memory COMPSCI 386 Motivation An instruction to be executed must be in physical memory, but there may not be enough space for all ready processes. Typically the entire program is not needed. Exception
More informationReminder: 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 informationCSE 120. Translation Lookaside Buffer (TLB) Implemented in Hardware. July 18, Day 5 Memory. Instructor: Neil Rhodes. Software TLB Management
CSE 120 July 18, 2006 Day 5 Memory Instructor: Neil Rhodes Translation Lookaside Buffer (TLB) Implemented in Hardware Cache to map virtual page numbers to page frame Associative memory: HW looks up in
More informationChapter 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 informationBackground. Demand Paging. valid-invalid bit. Tevfik Koşar. CSC Operating Systems Spring 2007
CSC 0 - Operating Systems Spring 007 Lecture - XIII Virtual Memory Tevfik Koşar Background Virtual memory separation of user logical memory from physical memory. Only part of the program needs to be in
More informationMemory Management. Disclaimer: some slides are adopted from book authors slides with permission 1
Memory Management Disclaimer: some slides are adopted from book authors slides with permission 1 Recap Paged MMU: Two main Issues Translation speed can be slow TLB Table size is big Multi-level page table
More informationSMD149 - Operating Systems - VM Management
SMD149 - Operating Systems - VM Management Roland Parviainen November 17, 2005 1 / 35 Outline Overview Virtual memory management Fetch, placement and replacement strategies Placement strategies Paging,
More informationGlobal 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 information1. 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 informationMemory Management. Disclaimer: some slides are adopted from book authors slides with permission 1
Memory Management Disclaimer: some slides are adopted from book authors slides with permission 1 CPU management Roadmap Process, thread, synchronization, scheduling Memory management Virtual memory Disk
More informationPage replacement algorithms OS
Page replacement algorithms OS 2007-08 1 When a page fault occurs OS has to choose a page to evict from memory If the page has been modified, the OS has to schedule a disk write of the page The page just
More informationChapter 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 informationSwapping. 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 informationOperating 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 informationVirtual Memory - II. Roadmap. Tevfik Koşar. CSE 421/521 - Operating Systems Fall Lecture - XVI. University at Buffalo.
CSE 421/521 - Operating Systems Fall 2012 Lecture - XVI Virtual Memory - II Tevfik Koşar University at Buffalo October 25 th, 2012 1 Roadmap Virtual Memory Page Replacement Algorithms Optimal Algorithm
More informationMemory Management: Virtual Memory and Paging CS 111. Operating Systems Peter Reiher
Memory Management: Virtual Memory and Paging Operating Systems Peter Reiher Page 1 Outline Paging Swapping and demand paging Virtual memory Page 2 Paging What is paging? What problem does it solve? How
More informationVirtual 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 informationSwapping. 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 informationOperating Systems. Overview Virtual memory part 2. Page replacement algorithms. Lecture 7 Memory management 3: Virtual memory
Operating Systems Lecture 7 Memory management : Virtual memory Overview Virtual memory part Page replacement algorithms Frame allocation Thrashing Other considerations Memory over-allocation Efficient
More informationVirtual Memory #3 Oct. 10, 2018
15-410...The cow and Zaphod... Virtual Memory #3 Oct. 10, 2018 Dave Eckhardt Dave O'Hallaron 1 L19_VM3 Synchronization Exam Thursday! 18:30 Doherty A302 Homework 1 due tonight! Not at midnight! 2 Synchronization
More informationMemory 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 informationVirtual Memory. Reading: Silberschatz chapter 10 Reading: Stallings. chapter 8 EEL 358
Virtual Memory Reading: Silberschatz chapter 10 Reading: Stallings chapter 8 1 Outline Introduction Advantages Thrashing Principal of Locality VM based on Paging/Segmentation Combined Paging and Segmentation
More informationReadings and References. Virtual Memory. Virtual Memory. Virtual Memory VPN. Reading. CSE Computer Systems December 5, 2001.
Readings and References Virtual Memory Reading Chapter through.., Operating System Concepts, Silberschatz, Galvin, and Gagne CSE - Computer Systems December, Other References Chapter, Inside Microsoft
More informationChapter 6: Demand Paging
ADRIAN PERRIG & TORSTEN HOEFLER ( 5-006-00 ) Networks and Operating Systems Chapter 6: Demand Paging Source: http://redmine.replicant.us/projects/replicant/wiki/samsunggalaxybackdoor If you miss a key
More informationChapter 4: Memory Management. Part 1: Mechanisms for Managing Memory
Chapter 4: Memory Management Part 1: Mechanisms for Managing Memory Memory management Basic memory management Swapping Virtual memory Page replacement algorithms Modeling page replacement algorithms Design
More informationProcess size is independent of the main memory present in the system.
Hardware control structure Two characteristics are key to paging and segmentation: 1. All memory references are logical addresses within a process which are dynamically converted into physical at run time.
More informationPage Replacement Algorithms
Page Replacement Algorithms MIN, OPT (optimal) RANDOM evict random page FIFO (first-in, first-out) give every page equal residency LRU (least-recently used) MRU (most-recently used) 1 9.1 Silberschatz,
More informationModeling Page Replacement: Stack Algorithms. Design Issues for Paging Systems
Modeling Page Replacement: Stack Algorithms 7 4 6 5 State of memory array, M, after each item in reference string is processed CS450/550 Memory.45 Design Issues for Paging Systems Local page replacement
More informationVirtual Memory. Robert Grimm New York University
Virtual Memory Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? VAX/VMS VAX-11 Memory Hardware Each process
More informationChapters 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 informationChapter 9: Virtual-Memory Management. Operating System Concepts 8 th Edition,
Chapter 9: Virtual-Memory Management, Silberschatz, Galvin and Gagne 2009 Chapter 9: Virtual-Memory Management Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped
More informationMemory Management. Disclaimer: some slides are adopted from book authors slides with permission 1
Memory Management Disclaimer: some slides are adopted from book authors slides with permission 1 Demand paging Concepts to Learn 2 Abstraction Virtual Memory (VM) 4GB linear address space for each process
More informationCS 31: Intro to Systems Virtual Memory. Kevin Webb Swarthmore College November 15, 2018
CS 31: Intro to Systems Virtual Memory Kevin Webb Swarthmore College November 15, 2018 Reading Quiz Memory Abstraction goal: make every process think it has the same memory layout. MUCH simpler for compiler
More informationCS450/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 informationADRIAN PERRIG & TORSTEN HOEFLER Networks and Operating Systems ( ) Chapter 6: Demand Paging
ADRIAN PERRIG & TORSTEN HOEFLER Networks and Operating Systems (5-006-00) Chapter 6: Demand Paging http://redmine.replicant.us/projects/replicant/wiki/samsunggalaxybackdoor (0) # Inverted page table One
More informationChapter 9: Virtual Memory
Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Demand Segmentation Operating System Examples 9.2 Background
More informationMemory Management Virtual Memory
Memory Management Virtual Memory Part of A3 course (by Theo Schouten) Biniam Gebremichael http://www.cs.ru.nl/~biniam/ Office: A6004 April 4 2005 Content Virtual memory Definition Advantage and challenges
More informationECE7995 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 informationOperating 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