Wednesday, November 22, 2017
|
|
- Abigayle Williams
- 6 years ago
- Views:
Transcription
1 Wednesday, November 22, 2017 Topics for today Storage management (Chapter 9) Main memory (3) Variable-partition multiprogramming (4) Paging (5) Virtual memory Page turning algorithms Summary of 5 memory models (3) Variable partition multiprogramming No real Operating System would adopt fixed partitions because it is too inflexible. It is better to let the number and size of the partitions be determined dynamically by the sizes of the programs being run. We thus have an environment similar to the way in which a dynamic memory heap operates. Requests for space of a certain size are made as programs are loaded and space is released as programs terminate. The operating system knows where the user programs are in memory so it keeps track of appropriate BASE and LIMIT values for each one and also where the free space is. The table of BASE and LIMIT values is variable in size and the entries are also variable (compare with Model 2). Free size 10 Free size 8 Free size 12 If we attempt to load a program of size B bytes there are three cases (i) there are one or more free areas of size B bytes or greater. For example, in the diagram we want to load a program of size 6. The operating system selects a partition. Strategies for doing this include: First fit - pick the first partition at least B bytes long (the one of size 10) Best fit pick the smallest partition at least B bytes long (the one of size 8) The program is loaded into the selected partition. Comp 162 Notes Page 1 of 11 November 22, 2017
2 (ii) (iii) the total free space available is < B bytes. For example, in the diagram we want to load a program of size 31. We have to wait until some current program(s) finish and frees up space The total free space is at least B bytes but there is no single free area of size B or greater. For example, in the diagram we want to load a program of size 20. If we could combine two or more free areas, we could get a free area large enough. The operating system could move programs to create the space but this is very time consuming. We probably have to wait as in case (ii). Problem with memory model 3 - requiring the program to occupy consecutive locations leads to instances of case (iii). Comp 162 Notes Page 2 of 11 November 22, 2017
3 (4) Paging If we can devise an appropriate address translation mechanism then there is no requirement that a program occupy consecutive locations; we can scatter a program in several pieces all over memory. Thus, we can load a program if the total amount of free space is sufficient, even if it is in disjoint pieces. In order to make address translation efficient, we need to standardize the way in which the program address space (the set of addresses a program can reference) and main memory address space (the actual physical memory) are divided. We will divide main memory into "page frames" of size 2 k bytes (e.g., 512 bytes or 2048 bytes). We divide user programs (transparently to the user) into "pages" also 2 k bytes in size so that any page can go into any page frame. Suppose we have a 4-page program A (pages designated A0, A1, A2, and A3) and a 2-page program B (pages designated B0 and B1). A snap-shot of a main memory containing 7 page frames for user programs might be Frame Contents 0 A1 1 <empty> 2 A0 3 A2 4 B1 5 A3 6 B0 The Operating System would also maintain a Page Table for each program showing where its pages are in main memory. The page table for program A in the above example is Address Translation Page Frame # How is a logical address (the address the program thinks it is referencing) translated into a physical address (the address used to access real memory)? If we assume that there are N bits in an address and that the page size is 2 k bytes then a logical (program) address has two parts: Comp 162 Notes Page 3 of 11 November 22, 2017
4 Page Number (N-k bits) Address-within-Page (k bits) The address-within-page gives us the least significant k bits of the physical address (addresswithin-page frame). The most significant part of the physical address (page frame number) we get by using the page number part of the logical address as an index into the page table. The number we find there is the page frame number. Thus Logical Address Page Number (N-k bits) Address-within-Page (k bits) Page table for program Page # Frame # Page Frame Number (M-k bits) Address-within-Page-frame (k bits) Physical Address This also solves the problem of programs interfering with each other. If the page number gives an index beyond the size of the page table for the program we flag an error. The Operating System maintains a Page Frame Table. When a particular program terminates it marks the appropriate frames as free. A program can be loaded if there is a sufficient number of empty frames. Problem of memory model 4 - a program having more pages than there are empty page frames cannot be loaded even though there is room for part of the program in memory. Comp 162 Notes Page 4 of 11 November 22, 2017
5 (5) Virtual memory In a Virtual Memory system it is not necessary to have all of a program in memory at once. In theory we only need the page containing the current instruction and the page containing the data item it refers to. If we permit partial programs in main memory then: (i) (ii) The Operating System can hold parts of many programs and have more to choose from when deciding which program to run next programs can be bigger than main memory so programmers are writing programs for a "virtual" memory which the operating system then maps onto the real one. This makes programs more portable, they do not require actual memories of a certain size to run. We need to have more sophisticated Page Tables (for user programs) and Page Frame Table (for the operating system. Consider the following snap-shot of main memory Frame Contents 0 C2 1 B1 2 <empty> 3 D1 4 A0 5 C0 6 A3 The Virtual Memory Page Table for program A might look like Page In memory? Frame Disc Address 0 Y 4 nnnnnn 1 N - nnnnnn 2 N - nnnnnn 3 Y 6 nnnnnn What if a program attempts to access a page that is not in main memory? That is, what happens when we access the page table and we find "N" in the "In memory?" field? This situation is termed a "page fault" (it is not really an error or fault on the programmer's part or the program's part). The Operating System suspends the program until the required page is brought into memory then it is restarted at the instruction that caused the fault. Comp 162 Notes Page 5 of 11 November 22, 2017
6 Page turning If, when we need to bring a page in, there is an empty page frame then there is no problem. Q: What if the page frames are all full? A: We need an algorithm to decide which page to kick out of memory to make room for the new one. Q: Can we just overwrite the page frame we have chosen? A: Not if its contents have changed since it was brought into memory Q: How can we tell if we have to save the page frame contents back to disc? A: Use a flag ("dirty bit") in the page frame table to indicate if the page is dirty (has been modified) or clean (has not been modified). The Page Frame Table now has more columns than before Frame Contents Dirty? Sticky? Disc Address Usage The Sticky bit enables us to exempt certain frames from being swapped out. Perhaps they contain part of a program that needs to be in memory (real-time control?). The disc address field tells us where to write the page back. The "Usage" field may be needed by one or more of the algorithms that we use to decide which page frame to overwrite. Analogy The algorithm the operating system uses to decide which frame to overwrite is similar to (a) One a supermarket manager might use to determine which of N brands of cereal to stop selling when a new brand comes along. (b) One you might use when your Rolodex TM is full and a new phone number needs to be recorded. Which card do you get rid of? Page-turning algorithms. Here are four possible algorithms for choosing a frame to overwrite: (a) Random - pick a frame at random. This is a low-overhead solution. We don t need to keep any records. We can use some bits from the system clock to give us a random enough value. However, this algorithm may throw out a valued page so its use is not recommended. Comp 162 Notes Page 6 of 11 November 22, 2017
7 (b) FIFO (First-In-First-Out) pick the page that has been in memory longest. Requires that we timestamp a frame when we bring in a page. Search for the frame with that has been in the memory longest. However, the page chosen by FIFO might turn out to be a page that is heavily used. Consider the supermarket analogy (c) LFU (Least Frequently Used) This requires that we keep a counter on each frame. Reset it to zero when we load in a page and increment it every time we use the frame. Pick the page that has been accessed the smallest number of times. However, LFU discriminates against pages brought in recently. (d) LRU (Least Recently Used) - i.e. idle longest. Like (b) timestamp a frame when we bring in a page. However, we change the timestamp whenever we use the frame. This algorithm seems reasonable and gives good results in practice. A fifth algorithm: Optimal (theoretical interest only) (e) Discard the page whose next reference is furthest in the future (this is why it is theoretical). If the stream of page references is known, this is an algorithm against which the others can be measured. Least Recently Used: implementation One way to implement an LRU algorithm is to have a (conceptual) queue of page frame numbers. When a frame is accessed it is moved to the front of the queue. When we need to pick a frame to overwrite we pick the one at the end of the queue this will be the one least recently used. Example - memory with 4 frames for user programs. The frame references marked with * above are the ones that cause a page fault. The first four of these do not require a call on the page-turning algorithm. Comp 162 Notes Page 7 of 11 November 22, 2017
8 Time Page * * * * * * * * * * * Referenced Frame Frame Frame Frame "Queue" Note that at the point where page 7 is referenced, the Optimal algorithm would discard page 2 because it is never referenced again. Another way to implement LRU is with an array of bits. If we have N frames then we use an N by N bit matrix initially set to all 0s. When frame I is referenced we set row I to all 1s and column I to all 0s. The LRU frame has all zeros in its row (there may be more than one such frame). Summary of the five memory models >1 program in memory? A program is in contiguous area? All of a program must be in memory? Uniprogramming No Yes Yes Partitioned main memory Yes Yes Yes Paging Yes No Yes Virtual memory Yes No No Virtual memory: Working set model We have seen "demand paging" - no page is brought into memory until it is required. An alternative strategy would anticipate the pages that a program will need when it runs next and arrange for these to be pre-loaded into the memory. While it is possible that a page will be loaded that the program will not use, in general this strategy would reduce page faults. The OS will base its guess as to the pages required on a record of the pages the program has been using in the recent past. This is the "working set" of pages for the program. The working set changes relatively slowly over time for most programs. It is defined at the set of pages used by the Comp 162 Notes Page 8 of 11 November 22, 2017
9 program in the last k memory references. Here is an example for k=4. In our example the set changes much faster than in a real program. time page-reference ws(t,4) 0 6 { 6 } 1 1 { 1 6 } 2 6 { 1 6 } 3 1 { 1 6 } 4 6 { 1 6 } 5 2 { } 6 6 { } 7 2 { 2 6 } 8 6 { 2 6 } 9 3 { } 10 7 { } 11 3 { } 12 7 { 3 7 } 13 2 { } 14 7 { } 15 4 { } 16 8 { } 17 2 { } 18 8 { } 19 3 { } 20 8 { } 21 3 { 3 8 } 22 6 { } 23 4 { } Note that if this program were suspended at time t=15, we would assume that it is using page 7 and arrange for that to be loaded ahead of the program running again. In fact the program never used page 7 again. Reading Read end of 9.2 for virtual memory. If you want to read ahead, look at 9.4 and 9.5. Comp 162 Notes Page 9 of 11 November 22, 2017
10 Review Questions 1. If we have the page table, can we determine the virtual address that mapped to a particular physical address? 2. In what way does a self-modifying program negatively impact virtual memory? 3. Consider the example memory trace on page 8. If the next reference is to page 7, (a) what pages are then in memory (b) what does the queue look like? 4. Think of another situation where a user may have to choose an item to be removed from a finite list in order to make room for a new one. 5. In what ways is model 3 similar to a heap (C implementation)? Any differences? Comp 162 Notes Page 10 of 11 November 22, 2017
11 Review Answers 1. Yes. Just reverse the process by which the physical address is derived. 2. By making code pages dirty. 3. (a) (b) For example, a car navigation system with room for a finite number of addresses or a TV box with room fora finite number of favorite channnels. 5. When a program is loaded, the space request is similar to malloc When a program ends and its space is released, this is similar to free. There is no memory that is neither free nor in use so there is no equivalent to memory leaks. Comp 162 Notes Page 11 of 11 November 22, 2017
Wednesday, November 4, 2009
Wednesday, November 4, 2009 Topics for today Storage management Main memory (1) Uniprogramming (2) Fixed-partition multiprogramming (3) Variable-partition multiprogramming (4) Paging (5) Virtual memory
More informationModule 9: Virtual Memory
Module 9: Virtual Memory Background Demand Paging Performance of Demand Paging Page Replacement Page-Replacement Algorithms Allocation of Frames Thrashing Other Considerations Demand Segmenation 9.1 Background
More informationModule 9: Virtual Memory
Module 9: Virtual Memory Background Demand Paging Performance of Demand Paging Page Replacement Page-Replacement Algorithms Allocation of Frames Thrashing Other Considerations Demand Segmentation Operating
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 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 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 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 informationVirtual 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 informationVirtual 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 were based on those Operating Systems Concepts, 9th ed., by Silberschatz, Galvin, and
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 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 informationDemand Paging. Valid-Invalid Bit. Steps in Handling a Page Fault. Page Fault. Transfer of a Paged Memory to Contiguous Disk Space
Demand Paging Transfer of a Paged Memory to Contiguous Disk Space Bring a page into memory only when it is needed. Less I/O needed Less memory needed Faster response More users Page is needed reference
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 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 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 informationLecture 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 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 informationPAGE 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 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 informationPage 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 informationBasic Page Replacement
Basic Page Replacement 1. Find the location of the desired page on disk 2. 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
More informationPrinciples of Operating Systems
Principles of Operating Systems Lecture 21-23 - Virtual Memory Ardalan Amiri Sani (ardalan@uci.edu) [lecture slides contains some content adapted from previous slides by Prof. Nalini Venkatasubramanian,
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 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 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 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 informationBackground. Virtual Memory (2/2) Demand Paging Example. First-In-First-Out (FIFO) Algorithm. Page Replacement Algorithms. Performance of Demand Paging
Virtual Memory (/) Background Page Replacement Allocation of Frames Thrashing Background Virtual memory separation of user logical memory from physical memory. Only part of the program needs to be in memory
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 informationChapter 4 Memory Management
Chapter 4 Memory Management 4.1 Basic memory management 4.2 Swapping 4.3 Virtual memory 4.4 Page replacement algorithms 4.5 Modeling page replacement algorithms 4.6 Design issues for paging systems 4.7
More informationLast Class. Demand Paged Virtual Memory. Today: Demand Paged Virtual Memory. Demand Paged Virtual Memory
Last Class Segmentation User view of programs Each program consists of a number of segments Segmented Paging: combine the best features of paging and segmentation Today: Demand Paged Virtual Memory Up
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 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 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 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 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 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 informationVirtual 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 informationCSC Operating Systems Spring Lecture - XIV Virtual Memory - II. Tevfik Ko!ar. Louisiana State University. March 27 th, 2008.
CSC 0 - Operating Systems Spring 008 Lecture - XIV Virtual Memory - II Tevfik Ko!ar Louisiana State University March 7 th, 008 Background Virtual memory separation of user logical memory from physical
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: 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 informationVirtual Memory - Overview. Programmers View. Virtual Physical. Virtual Physical. Program has its own virtual memory space.
Virtual Memory - Overview Programmers View Process runs in virtual (logical) space may be larger than physical. Paging can implement virtual. Which pages to have in? How much to allow each process? Program
More informationLecture 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 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 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 informationCS162 Operating Systems and Systems Programming Lecture 11 Page Allocation and Replacement"
CS162 Operating Systems and Systems Programming Lecture 11 Page Allocation and Replacement" October 3, 2012 Ion Stoica http://inst.eecs.berkeley.edu/~cs162 Lecture 9 Followup: Inverted Page Table" With
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 informationChapter 8 Virtual Memory
Operating Systems: Internals and Design Principles Chapter 8 Virtual Memory Seventh Edition William Stallings Operating Systems: Internals and Design Principles You re gonna need a bigger boat. Steven
More informationChapter 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 informationCISC 7310X. C08: Virtual Memory. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/22/2018 CUNY Brooklyn College
CISC 7310X C08: Virtual Memory Hui Chen Department of Computer & Information Science CUNY Brooklyn College 3/22/2018 CUNY Brooklyn College 1 Outline Concepts of virtual address space, paging, virtual page,
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 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 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 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 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 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 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 informationPage 1. Goals for Today" TLB organization" CS162 Operating Systems and Systems Programming Lecture 11. Page Allocation and Replacement"
Goals for Today" CS162 Operating Systems and Systems Programming Lecture 11 Page Allocation and Replacement" Finish discussion on TLBs! Page Replacement Policies! FIFO, LRU! Clock Algorithm!! Working Set/Thrashing!
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 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 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 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 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 informationToday s class. Operating System Machine Level. Informationsteknologi. Friday, November 16, 2007 Computer Architecture I - Class 12 1
Today s class Operating System Machine Level Friday, November 16, 2007 Computer Architecture I - Class 12 1 Operating System Machine Friday, November 16, 2007 Computer Architecture I - Class 12 2 Paging
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 information3/3/2014! Anthony D. Joseph!!CS162! UCB Spring 2014!
Post Project 1 Class Format" CS162 Operating Systems and Systems Programming Lecture 11 Page Allocation and Replacement" Mini quizzes after each topic Not graded Simple True/False Immediate feedback for
More informationMemory Management. Memory Management. G53OPS: Operating Systems. Memory Management Monoprogramming 11/27/2008. Graham Kendall.
Memory Management Memory Management Introduction Graham Kendall Memory Management consists of many tasks, including Being aware of what parts of the memory are in use and which parts are not Allocating
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 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 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 informationChapter 9: Virtual Memory
Chapter 9: Virtual Memory Multiprogramming Memory Management so far 1. Dynamic Loading The main Program gets loaded into memory Routines are stored in Relocatable Load format on disk As main program (or
More informationCS510 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 informationMemory 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 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 informationMemory 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 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 informationOperating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy
Operating Systems Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. AL-AZHAR University Website : eaymanelshenawy.wordpress.com Email : eaymanelshenawy@yahoo.com Reference
More informationCS 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 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 informationVirtual Memory. Chapter 8
Virtual Memory 1 Chapter 8 Characteristics of Paging and Segmentation Memory references are dynamically translated into physical addresses at run time E.g., process may be swapped in and out of main memory
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 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 informationCOMPUTER SCIENCE 4500 OPERATING SYSTEMS
Last update: 1/6/2017 COMPUTER SCIENCE 4500 OPERATING SYSTEMS 2017 Stanley Wileman Module 10: Memory Management Part 2 In This Module 2! We conclude our study of memory management by considering how to!
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 informationVirtual 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 informationMEMORY 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 informationCSCI 4500/8506 Operating Systems
CSCI 4500/8506 Operating Systems Module 10 Memory Management Part 2 Updated: August 21, 2014 2008 Stanley A. Wileman, Jr. Operating Systems Slide 1 1 In This Module We conclude our study of memory management
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 informationQ. How can we remove, or at least reduce, the relationship between program size and physical memory size?
CSCI 4500/8506 Operating Systems Module 10 Memory Management Part 2 Updated: August 21, 2014 2008 Stanley A. Wileman, Jr. Operating Systems Slide 1 In This Module We conclude our study of memory management
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 informationFirst-In-First-Out (FIFO) Algorithm
First-In-First-Out (FIFO) Algorithm Reference string: 7,0,1,2,0,3,0,4,2,3,0,3,0,3,2,1,2,0,1,7,0,1 3 frames (3 pages can be in memory at a time per process) 15 page faults Can vary by reference string:
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 informationChapter 3 - Memory Management
Chapter 3 - Memory Management Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 3 - Memory Management 1 / 222 1 A Memory Abstraction: Address Spaces The Notion of an Address Space Swapping
More informationCS 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 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 informationOutline. 1 Paging. 2 Eviction policies. 3 Thrashing 1 / 28
Outline 1 Paging 2 Eviction policies 3 Thrashing 1 / 28 Paging Use disk to simulate larger virtual than physical mem 2 / 28 Working set model # of accesses virtual address Disk much, much slower than memory
More informationChapter 8 Virtual Memory
Chapter 8 Virtual Memory Contents Hardware and control structures Operating system software Unix and Solaris memory management Linux memory management Windows 2000 memory management Characteristics of
More informationCOMP 346 WINTER 2018 MEMORY MANAGEMENT (VIRTUAL MEMORY)
COMP 346 WINTER 2018 1 MEMORY MANAGEMENT (VIRTUAL MEMORY) VIRTUAL MEMORY A process may be broken up into pieces (pages or segments) that do not need to be located contiguously in main memory. Memory references
More informationECE519 Advanced Operating Systems
IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (8 th Week) (Advanced) Operating Systems 8. Virtual Memory 8. Outline Hardware and Control Structures Operating
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 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 information