Virtual Memory. Chapter 8
|
|
- Silas Caldwell
- 6 years ago
- Views:
Transcription
1 Chapter 8 Virtual Memory What are common with paging and segmentation are that all memory addresses within a process are logical ones that can be dynamically translated into physical addresses at run time. This facilitates the need of swapping such a process in and out of different places of main memory during its course of execution. Moreover, a process is broken into a number of pieces that are not stored in adjacent memory locations, with the help of the address translation mechanism and the use of a segment, or page, table. Indeed, it is not necessary that all of the pieces of a process be in the memory at the same time, as long as the pieces containing the next instruction and its associated data are there. 1
2 A general idea To bring in a process into the memory, OS starts by bringing in only one or a few pieces, including the piece containing the start of the program. At any time, the portion that stays in the memory is refereed to as the resident set of the process. As the process continues its execution, things proceed smoothly as long as all the memory references are made to the locations included in the resident set. 2
3 What happen if the processor sees a logical address that is not in the main memory, it generates an interrupt indicating a memory access fault. Then, the OS will place this process into a Blocked state and takes control to bring in that missing page. More specifically, OS will issue a disk I/O read request, and dispatch another process to run while the I/O operation is performed. Once the needed, but missing, page is brought in, another I/O related interrupt is issued, giving control back to the OS, which will then place the blocked process back to the Ready queue. The rest is just a technical issue... 3
4 Implication 1. More processes may be maintained in the main memory. Since we will only load part of a process into the memory, there is room for parts of the other processes. This will lead to a better utilization of the processor, since it is more likely that at least one process is ready to run. 2. A process now can be larger than the memory. A programmer once had to make sure that her program is not too large, or design some sophisticated way to split the program into pieces so that they can be loaded separately into the memory. Now, she can let the OS worry about all this mess. As far as she is concerned, the memory size is no longer a problem. This potentially much larger memory exists in the hard disk, thus, it is referred to as virtual memory, in contrast to the main memory, the real memory, since a process has to run there. 4
5 Locality Although it sounds great, is the idea of virtual memory really practical? The answer is definitely yes, based on the locality principle. Over any short period of time, execution has to be confined to a small portion of a program, and access to only a small portion of its data. Hence, we only need to bring in a few pieces at a time to avoid waste of time and resource. When there is a need, we can always swap in the needed piece. To make the whole idea work, we need hardware support for paging/segmentation mechanism, and OS support for managing the movement of pages between main memory and secondary memory. 5
6 Page table again? Since only some pages are in the memory, a (P) bit is needed for each table entry in the PPT to indicate if that page is present in the memory at the moment. If it is, a frame number is provided for this loaded page. To further raise the efficiency, another modify(m) bit is included for each entry to indicate whether that page is modified since the page was last loaded. If it is not modified, then there is no need to write it back to the disk when swapped out. Other bits may be included as well, such as those for protection and/or sharing at the page level. 6
7 Address translation The basic mechanism of reading a word from memory involves the translation of a logical address, (page number, offset), into a physical one, (frame number, offset), with help of a page table. We went through this stuff in the previous chapter... Since the size of a page table varies with the number of pages of a process, a page table has to be loaded into the main memory, together with the associated process, while a register holds the starting address of such a table. This has to be done for all the processes... 7
8 A possible hardware structure The following process is essentially the same as we went through in the last chapter for the paging mechanism. Homework: Problem
9 Where is the page table? When there are lots of processes in the system, this might not be practical. For example, in the VAX architecture, each process can access to 2 31, namely, 2 GB of virtual memory. If each page is 512 bytes big, it would mean that each process could have up to 2 22 pages. Hence, each process has to be associated with a page table with this many entries, taking a huge amount of space. To overcome this problem, most virtual memory schemes actually store page tables in virtual memory, instead of main memory. Then, page tables will also be paged, in the sense that when a process is running, only part of its page table is loaded, while the rest stays in the disk. 9
10 An example In some systems, a two level structure is used to manage large page tables, including a page directory table, containing addresses of page tables. In 32 bit address machine, if each process can get to all the 4GB space, assuming byte-level addressing, and 4 KB (2 12 ) page size, then a 4 GB (2 32 ) virtual space consists of 2 20 (= 2 32 /2 12 ) pages. If each page is referred with a 4 Byte page table entry (PTE), we need a page table of size equal to = 4 MB, namely, 2 10 pages for each process. We might not want to keep all such page tables in the memory. 10
11 What do we do? We can keep this huge page table in the virtual memory, and create a root page with 2 10 PTEs, i.e., 4 KB (= ) worth, fitting in a page, to manage this page table. Is this part of the page table in memory? If not, bring it in... The root page itself stays with the process in the main memory. In this case, we need a 2 level table system: a root page, together with a second layer containing 2 10 PTE s pointing to this many pages of space. When the space is much bigger, we could extend this to a deeper directory structure. Homework: Problem
12 Example (Con d) Below shows the steps involved in address translation under this 2 level scheme. An alternative approach, called inverted page table, based on the hashing table technique is also used in practice. Homework: Problem
13 How big should be a page? In the previous example, we use 4K as the page size, so that a root table can fit in one page. In general, to decide the appropriate size of a page, we have to consider a few factors. 1. Clearly, the smaller the size is, the less the amount of internal fragmentation, thus, the better the memory utilization is. 2. But, smaller page size leads to more pages per process, i.e., a larger page table. Then, we are enforced to adopt virtual memory. This may lead to double page faults for a memory access: If the page directory segment is out, we have to bring it in, then, perhaps, the missing page as well. Hence, a larger page size is also justifiable. 13
14 3. The locality principle also plays a part, as the following chart shows: 4. Another factor is that the page fault rate also has something to do with the number of frames assigned to a process. Generally, if the page size is fixed, then the fault rate will drop as the number of frames increases, as each process can be allocated more frames. 14
15 5. The hardware design issue of page size also depends on the size of physical main memory, and program size. 6. Another complicating issue is that modern programming techniques tend to decrease the effect of locality of reference within a process. For example, OOP techniques encourage the use of many small programs and data modules, thus leading to references scattered over a large number of objects over a short period of time These issues lead to investigation of multiple page sizes, and several existing architectures actually support this new idea as we will see near the end. 15
16 OS software The design of memory management software depends on the following basic choices: Whether to use virtual memory techniques; whether to use paging, segmentation, or both; which algorithm to use to support various aspects of memory management. The decision also depends on hardware support. For example, earlier UNIX implementation did not support virtual memory because the processor did not support either paging or segmentation. Two more points: most of the OS supports virtual memory; and pure segmentation is rarely used in today s OS design. Hence, we will focus on paging. 16
17 Choice of algorithms The fetch policy decides when a page should be loaded into the main memory. Two popular alternatives are demand paging and prepaging. With demand paging, a page is brought in when a reference is made to a location within that page. Under such a policy, when a process starts, there will be a lot of page faults. But, when time goes on, more and more pages will be loaded on demand, the locality principle suggests that things will calm down. With prepaging, other pages will be brought in as well. The physical characteristics of secondary memory, mostly disk, suggest that it will be more efficient to bring in those pages that are stored contiguously, rather than brought in one at a time. This policy can be applied when a process just starts, or every time a page fault occurs. 17
18 Placement policy This policy tries to decide where in the main memory a process piece should be put. In a pure segmentation system, we have to seriously decide which one, among best-fit, firstfit, next-fit, even worst-fit, to adopt. You have thoroughly discussed them in your homework for the last chapter... For a paging based system, this issue is almost irrelevant since the address translation hardware and the main memory access hardware can perform their functions equally well for any page-frame combination. 18
19 Replacement policy This policy deals with selecting a page in memory to kick out when a new page must be brought in. The objective of any such policy should be that the page to be removed is the one least likely to be referenced in the future. Again, the locality principle suggests a relationship between recent referencing history and near-future reference predication. Thus, most policy tries to predict future behavior, based on the past behavior. One issue we have to consider is that some of the frames in the main memory might be locked, and the pages stored there can not be replaced. For example, much of the OS kernel is kept in locked frames. Also, I/O buffers and other critical information may also be locked. 19
20 Basic algorithms The optimal policy selects for replacement the page for which to the next reference is the longest. Although it is impossible to implement, it can be used as a yardstick with the collected data. The least recently used policy replaces the page that has not been used for the longest time. By the locality principle, this is the least likely referenced page in the future. This policy does nearly as well as the optimal policy, it is difficult to implement and involves with large overhead. The first-in-first-out policy treats the page frames used as a circular queue, and take things out in round-robin style. This policy is very simple, but usually performs quite poorly. 20
21 The clock policy The simplest form requires an additional bit, the use bit, with each frame. When a page is loaded into a frame for the first time, its use bit is set to 1. When the page is used again, its use bit is set to 0. From the viewpoint of the policy, all the frames are organized as a circular queue, associated with a pointer. When it is time to replace a page, if the pointer is pointing to a page with its use bit being 0, this page is replaced; otherwise, it is reset to 0, and the pointer moves to next frame. Next slide shows an example of adding in a page
22 An clock policy example Homework: Problems 8.4, 8.5 and
23 Comparison The following chart compares the operation of the four policies, assume that the order of page access is the following: 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2. 23
24 Homework Self-study the case of variable allocation with a local scope, in pp. 371 (Eighty Ed.), and answer the following questions: 1. What is a working set? 2. Why is this policy useful? 3. How is it used to guide the above policy? 4. Paraphrase the page fault frequency algorithm, after acquiring and studying the original paper(denn80b), i.e., Denning, P., Working set past and present, IEEE Trans. Software Engineering 6(1) (1980)
25 UNIX memory management UNIX is intended to be machine independent, thus its memory management scheme varies from one system to the next. Earlier versions simply used variable partitioning with no virtual memory scheme. Newer versions, such as SVR4 and Solaris 2.x, adopt paged virtual memory system. More specifically, those two systems use paging system, based on a refined clock policy, to allocate pages to processes, and to disk block buffers; and use a kernel memory allocator, based on a buddy system, to manage memory allocation for the kernel. Kernel uses a separate policy since it frequently generates and destroys smaller data structures, which are often significantly smaller than a typical page, thus a dynamic memory allocation scheme is needed. 25
26 Linux memory management The memory management system of Linux shares many features of a typical UNIX system, but does have some unique features. Since, it was designed for the 64 bit Alpha box, it adopts a three level page table structure for its paging virtual memory, and it also accommodates the 32 bit Pentinum system by shrinking the middle level directory to the minimum of only 1. It adopts the buddy system to enhance the efficiency of page-frame mapping, by essentially allocate contiguous blocks of frames to contiguous blocks of pages. It also adopts the clock replacement algorithm to replace pages for both its virtual memory and kernel memory allocation. 26
27 For the latter, it refines the algorithm by introducing slab allocation, which essentially cuts a page into much smaller allocatable chunks. On Pentinum system, the page size is 4K bytes, which can be further divided into chunks of sizes 32, 64, 128, 252, 508, 2040, and 4080 bytes. Basically, it maintains a set of linked lists, one for each size of chunks. Chunks can be split, combined, and moved between lists when size change occurs, similar to the buddy system. 27
28 Windows memory management The Windows memory management system is designed for a variety of platforms. It uses page sizes between 4K bytes to 64 bytes. Each process sees a separate 32 bit virtual space, and has 2 GB of space for itself, while all processes share a 2 GB system space. Each user space is cut into fixed-size pages, any of which can be brought into the main memory. From a user s point of view, any page will be in one of the three states: Available: not currently used. Reserved: The system has reserved space for it in the memory, but not loaded yet. Committed: The system has actually assigned space for it. The state of being reserved minimizes the space set aside for a particular process, and can quickly assign it when the need actually materializes. 28
29 Resident set management This follows the variable allocation with a local scope. When a process is first activated, it is assigned a certain number of frames of main memory as its working set. When a process wants to reference a page that is not in, one of the resident pages is swapped out and the new page is brought in. Working sets of active processes are adjusted as follows: 1) When main memory is plentiful, the virtual memory manager allows working sets to grow. Thus, even though a new page is brought in, old pages stay. 2) When main memory becomes a hot commodity, working sets start to shrink by kicking out those less recently used pages. 29
a process may be swapped in and out of main memory such that it occupies different regions
Virtual Memory Characteristics of Paging and Segmentation A process may be broken up into pieces (pages or segments) that do not need to be located contiguously in main memory Memory references are dynamically
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 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 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 informationChapter 8 Virtual Memory
Operating Systems: Internals and Design Principles Chapter 8 Virtual Memory Seventh Edition William Stallings Modified by Rana Forsati for CSE 410 Outline Principle of locality Paging - Effect of page
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 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 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 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 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 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 informationOperating Systems CSE 410, Spring Virtual Memory. Stephen Wagner Michigan State University
Operating Systems CSE 410, Spring 2004 Virtual Memory Stephen Wagner Michigan State University Virtual Memory Provide User an address space that is larger than main memory Secondary storage is used to
More information20-EECE-4029 Operating Systems Spring, 2013 John Franco
20-EECE-4029 Operating Systems Spring, 2013 John Franco Second Exam name: Question 1: Translation Look-aside Buffer (a) Describe the TLB. Include its location, why it is located there, its contents, and
More informationVirtual Memory. control structures and hardware support
Virtual Memory control structures and hardware support 1 Hardware and Control Structures Memory references are dynamically translated into physical addresses at run time A process may be swapped in and
More informationChapter 8. Virtual Memory
Operating System Chapter 8. Virtual Memory Lynn Choi School of Electrical Engineering Motivated by Memory Hierarchy Principles of Locality Speed vs. size vs. cost tradeoff Locality principle Spatial Locality:
More informationVirtual to physical address translation
Virtual to physical address translation Virtual memory with paging Page table per process Page table entry includes present bit frame number modify bit flags for protection and sharing. Page tables can
More informationRole 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 informationUNIT III MEMORY MANAGEMENT
UNIT III MEMORY MANAGEMENT TOPICS TO BE COVERED 3.1 Memory management 3.2 Contiguous allocation i Partitioned memory allocation ii Fixed & variable partitioning iii Swapping iv Relocation v Protection
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 informationPROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18
PROCESS VIRTUAL MEMORY CS124 Operating Systems Winter 2015-2016, Lecture 18 2 Programs and Memory Programs perform many interactions with memory Accessing variables stored at specific memory locations
More informationAddresses in the source program are generally symbolic. A compiler will typically bind these symbolic addresses to re-locatable addresses.
1 Memory Management Address Binding The normal procedures is to select one of the processes in the input queue and to load that process into memory. As the process executed, it accesses instructions and
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 informationLecture 7. Memory Management
Lecture 7 Memory Management 1 Lecture Contents 1. Memory Management Requirements 2. Memory Partitioning 3. Paging 4. Segmentation 2 Memory Memory is an array of words or bytes, each with its own address.
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 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 informationCS6401- 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 informationMemory Management. Dr. Yingwu Zhu
Memory Management Dr. Yingwu Zhu Big picture Main memory is a resource A process/thread is being executing, the instructions & data must be in memory Assumption: Main memory is infinite Allocation of memory
More informationOperating Systems Unit 6. Memory Management
Unit 6 Memory Management Structure 6.1 Introduction Objectives 6.2 Logical versus Physical Address Space 6.3 Swapping 6.4 Contiguous Allocation Single partition Allocation Multiple Partition Allocation
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 informationBasic Memory Management. Basic Memory Management. Address Binding. Running a user program. Operating Systems 10/14/2018 CSC 256/456 1
Basic Memory Management Program must be brought into memory and placed within a process for it to be run Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester Mono-programming
More informationReducing Hit Times. Critical Influence on cycle-time or CPI. small is always faster and can be put on chip
Reducing Hit Times Critical Influence on cycle-time or CPI Keep L1 small and simple small is always faster and can be put on chip interesting compromise is to keep the tags on chip and the block data off
More informationChapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1
Chapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1 Chapter 9: Memory Management Background Swapping Contiguous Memory Allocation Segmentation
More informationMemory Management william stallings, maurizio pizzonia - sistemi operativi
Memory Management 1 summary goals and requirements techniques that do not involve virtual memory 2 memory management tracking used and free memory primitives allocation of a certain amount of memory de-allocation
More informationChapter 7: Main Memory. Operating System Concepts Essentials 8 th Edition
Chapter 7: Main Memory Operating System Concepts Essentials 8 th Edition Silberschatz, Galvin and Gagne 2011 Chapter 7: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure
More informationChapter 8: Main Memory
Chapter 8: Main Memory Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and 64-bit Architectures Example:
More informationCS399 New Beginnings. Jonathan Walpole
CS399 New Beginnings Jonathan Walpole Memory Management Memory Management Memory a linear array of bytes - Holds O.S. and programs (processes) - Each cell (byte) is named by a unique memory address Recall,
More informationChapter 8: Memory-Management Strategies
Chapter 8: Memory-Management Strategies Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and
More informationPage Size Page Size Design Issues
Paging: design and implementation issues 1 Effect of page size More small pages to the same memory space References from large pages more probable to go to a page not yet in memory References from small
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 informationOperating Systems, Fall Lecture 5 1. Overhead due to page table and internal fragmentation. Tbl 8.2 [Stal05] 4.
Paging: design and implementation issues Effect of page size More small pages to the same memory space References from large pages more probable to go to a page not yet in memory References from small
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 I. Jo, Heeseung
Virtual Memory I Jo, Heeseung Today's Topics Virtual memory implementation Paging Segmentation 2 Paging Introduction Physical memory Process A Virtual memory Page 3 Page 2 Frame 11 Frame 10 Frame 9 4KB
More informationOperating Systems, Fall Lecture 5 1
Paging: design and implementation issues 1 Effect of page size More small pages to the same memory space References from large pages more probable to go to a page not yet in memory References from small
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 L17 Main Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Was Great Dijkstra a magician?
More informationCHAPTER 8 - MEMORY MANAGEMENT STRATEGIES
CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES OBJECTIVES Detailed description of various ways of organizing memory hardware Various memory-management techniques, including paging and segmentation To provide
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 informationThe memory of a program. Paging and Virtual Memory. Swapping. Paging. Physical to logical address mapping. Memory management: Review
The memory of a program Paging and Virtual Memory Operating Systems Spring 4 Source-code is compiled into linkable object modules Memory addresses given as relative offsets Libraries contain object modules
More informationChapter 8: Main Memory. Operating System Concepts 9 th Edition
Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel
More informationChapter 9 Memory Management
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
More informationMemory management. Requirements. Relocation: program loading. Terms. Relocation. Protection. Sharing. Logical organization. Physical organization
Requirements Relocation Memory management ability to change process image position Protection ability to avoid unwanted memory accesses Sharing ability to share memory portions among processes Logical
More informationMemory Management Topics. CS 537 Lecture 11 Memory. Virtualizing Resources
Memory Management Topics CS 537 Lecture Memory Michael Swift Goals of memory management convenient abstraction for programming isolation between processes allocate scarce memory resources between competing
More information6 - Main Memory EECE 315 (101) ECE UBC 2013 W2
6 - Main Memory EECE 315 (101) ECE UBC 2013 W2 Acknowledgement: This set of slides is partly based on the PPTs provided by the Wiley s companion website (including textbook images, when not explicitly
More informationPaging. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University
Paging Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Virtual memory implementation Paging Segmentation 2 Paging (1) Paging Permits
More informationChapter 8: Main Memory
Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel
More information! What is main memory? ! What is static and dynamic allocation? ! What is segmentation? Maria Hybinette, UGA. High Address (0x7fffffff) !
Memory Questions? CSCI [4 6]730 Operating Systems Main Memory! What is main memory?! How does multiple processes share memory space?» Key is how do they refer to memory addresses?! What is static and dynamic
More informationCHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 8: MEMORY MANAGEMENT By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the
More informationMemory Management. Memory Management
Memory Management Chapter 7 1 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated efficiently to pack as many processes into memory as possible 2 1 Memory
More informationCPS104 Computer Organization and Programming Lecture 16: Virtual Memory. Robert Wagner
CPS104 Computer Organization and Programming Lecture 16: Virtual Memory Robert Wagner cps 104 VM.1 RW Fall 2000 Outline of Today s Lecture Virtual Memory. Paged virtual memory. Virtual to Physical translation:
More informationPaging 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 informationChapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition
Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation
More informationVIRTUAL MEMORY. Operating Systems 2015 Spring by Euiseong Seo
VIRTUAL MEMORY Operating Systems 2015 Spring by Euiseong Seo Today s Topics Virtual memory implementation Paging Segmentation Paging Permits the physical address space of a process to be noncontiguous
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 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 informationMain Memory. Electrical and Computer Engineering Stephen Kim ECE/IUPUI RTOS & APPS 1
Main Memory Electrical and Computer Engineering Stephen Kim (dskim@iupui.edu) ECE/IUPUI RTOS & APPS 1 Main Memory Background Swapping Contiguous allocation Paging Segmentation Segmentation with paging
More informationMemory Management. Reading: Silberschatz chapter 9 Reading: Stallings. chapter 7 EEL 358
Memory Management Reading: Silberschatz chapter 9 Reading: Stallings chapter 7 1 Outline Background Issues in Memory Management Logical Vs Physical address, MMU Dynamic Loading Memory Partitioning Placement
More informationWeek 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 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 informationMemory Management (Chaper 4, Tanenbaum)
Memory Management (Chaper 4, Tanenbaum) Memory Mgmt Introduction The CPU fetches instructions and data of a program from memory; therefore, both the program and its data must reside in the main (RAM and
More informationBackground. Contiguous Memory Allocation
Operating System Lecture 8 2017.5.9 Chapter 8 (Main Memory) Background Swapping Contiguous Memory Allocation Segmentation - Paging Memory Management Selection of a memory-management method for a specific
More informationCPS 104 Computer Organization and Programming Lecture 20: Virtual Memory
CPS 104 Computer Organization and Programming Lecture 20: Virtual Nov. 10, 1999 Dietolf (Dee) Ramm http://www.cs.duke.edu/~dr/cps104.html CPS 104 Lecture 20.1 Outline of Today s Lecture O Virtual. 6 Paged
More informationOperating Systems, Fall
Policies and methods Virtual memory Operations and policies Chapters 3.4. 3.6 Week 2: 17.9.2009 Tiina Niklander 1 Fetch policy (Noutopolitiikka) When to load page to memory? Placement policy (Sijoituspolitiikka
More information4.1 Paging suffers from and Segmentation suffers from. Ans
Worked out Examples 4.1 Paging suffers from and Segmentation suffers from. Ans: Internal Fragmentation, External Fragmentation 4.2 Which of the following is/are fastest memory allocation policy? a. First
More informationOperating Systems Design Exam 2 Review: Spring 2012
Operating Systems Design Exam 2 Review: Spring 2012 Paul Krzyzanowski pxk@cs.rutgers.edu 1 Question 1 Under what conditions will you reach a point of diminishing returns where adding more memory may improve
More informationMemory management. Knut Omang Ifi/Oracle 10 Oct, 2012
Memory management Knut Omang Ifi/Oracle 1 Oct, 212 (with slides from V. Goebel, C. Griwodz (Ifi/UiO), P. Halvorsen (Ifi/UiO), K. Li (Princeton), A. Tanenbaum (VU Amsterdam), and M. van Steen (VU Amsterdam))
More informationLocality and The Fast File System. Dongkun Shin, SKKU
Locality and The Fast File System 1 First File System old UNIX file system by Ken Thompson simple supported files and the directory hierarchy Kirk McKusick The problem: performance was terrible. Performance
More informationCSE 4/521 Introduction to Operating Systems. Lecture 27 (Final Exam Review) Summer 2018
CSE 4/521 Introduction to Operating Systems Lecture 27 (Final Exam Review) Summer 2018 Overview Objective: Revise topics and questions for the final-exam. 1. Main Memory 2. Virtual Memory 3. Mass Storage
More informationMemory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts
Memory management Last modified: 26.04.2016 1 Contents Background Logical and physical address spaces; address binding Overlaying, swapping Contiguous Memory Allocation Segmentation Paging Structure of
More informationOperating Systems. Memory Management. Lecture 9 Michael O Boyle
Operating Systems Memory Management Lecture 9 Michael O Boyle 1 Memory Management Background Logical/Virtual Address Space vs Physical Address Space Swapping Contiguous Memory Allocation Segmentation Goals
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 8: Memory- Management Strategies. Operating System Concepts 9 th Edition
Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation
More informationChapter 8: Memory- Management Strategies
Chapter 8: Memory Management Strategies Chapter 8: Memory- Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and
More informationOperating Systems Memory Management. Mathieu Delalandre University of Tours, Tours city, France
Operating Systems Memory Management Mathieu Delalandre University of Tours, Tours city, France mathieu.delalandre@univ-tours.fr 1 Operating Systems Memory Management 1. Introduction 2. Contiguous memory
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 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 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 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 informationPaging. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Paging Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Virtual memory implementation Paging Segmentation 2 Paging (1) Paging Permits
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 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 informationLecture 8 Memory Management Strategies (chapter 8)
Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 8 Memory Management Strategies (chapter 8) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The
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 informationRequirements, Partitioning, paging, and segmentation
Requirements, Partitioning, paging, and segmentation Main Memory: The Big Picture kernel memory proc struct kernel stack/u area Stack kernel stack/u area Stack kernel stack/u area Stack Data Text (shared)
More informationCS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck
Main memory management CMSC 411 Computer Systems Architecture Lecture 16 Memory Hierarchy 3 (Main Memory & Memory) Questions: How big should main memory be? How to handle reads and writes? How to find
More informationEmbedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi
Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 13 Virtual memory and memory management unit In the last class, we had discussed
More informationOperating System Support
Operating System Support Objectives and Functions Convenience Making the computer easier to use Efficiency Allowing better use of computer resources Layers and Views of a Computer System Operating System
More informationFile System Implementation. Sunu Wibirama
File System Implementation Sunu Wibirama File-System Structure Outline File-System Implementation Directory Implementation Allocation Methods Free-Space Management Discussion File System Structure File
More informationMemory Management and Protection
Part IV Memory Management and Protection Sadeghi, Cubaleska RUB 2008-09 Course Operating System Security Memory Management and Protection Main Memory Virtual Memory Roadmap of Chapter 4 Main Memory Background
More informationChapter 8. Operating System Support. Yonsei University
Chapter 8 Operating System Support Contents Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management 8-2 OS Objectives & Functions OS is a program that Manages the
More informationMemory Management (Chaper 4, Tanenbaum)
Memory Management (Chaper 4, Tanenbaum) Copyright 1996 25 Eskicioglu and Marsland (and Prentice-Hall and Paul Lu) Memory Mgmt Introduction The CPU fetches instructions and data of a program from memory;
More informationCS370: Operating Systems [Spring 2016] Dept. Of Computer Science, Colorado State University
Frequently asked questions from the previous class survey CS 7: OPERATING SYSTEMS [MEMORY MANAGEMENT] Shrideep Pallickara Computer Science Colorado State University TLB Does the TLB work in practice? n
More information