Outlook. Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium
|
|
- Jennifer Jacobs
- 5 years ago
- Views:
Transcription
1 Main Memory
2 Outlook Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium 2
3 Backgound
4 Background So far we considered how to share the resource CPU among processes. Processes require an additional vital resource: RAM. Active processes must be kept in memory. They must share the amount of available physical memory. Physical memory Large array of words/bytes Each is identified by one address Contiguous sequence of addresses (0,,2 n -1) How is this memory used? Fetch, decode, execute, write back Decode: possibly load more memory contents into registers Write back: possibly store register into memory (Some architectures: direct operations on memory) Here we are however concerned about just memory accesses but not their meaning. 4
5 Basic Hardware Support Support for (quick) memory access definitively required Memory and registers are the only storage that the CPU can access directly (with appropriate machine instructions) Operations on registers are fast (typically one clock cycle) Operations on RAM is very slow (many CPU cycles). Access requires a CPU stall since data required is not available. Because memory access is so frequent CPUs have caches (faster but also more expensive memory) in between registers and RAM Another question: how to protect several concurrently executing processes from Overwriting data and code of each other? Overwriting the kernel space? We need some hardware support! 5
6 Basic Hardware Support Each process gets a separate space in memory Determine the range of legal access Two register solution Base and limit can only be overwritten in supervisor mode Base and limit are deactivated in supervisor mode 6
7 Motivation: Address Binding On execution each instruction needs to be referable by a unique address requires address binding Where does such binding take place? see steps a user program typically goes through Possible steps for address binding Compile time absolute code (example old MS-DOS.COMformat) Load time relocatable code Execution time movable during execution (special hardware must be available, most general purpose operating systems use this scheme) 7
8 Virtual and Physical Addresses Physical address the true address value which is to be loaded into the MAR Virtual address the value used by the processor We also speak of physical address space and logical address space. Compile and load time binding physical address space = virtual address space Execution time Requires mapping from virtual address space into physical address space Requires hardware support: Memory Management Unit (MMU) 8
9 A simple MMU Scheme A combination of relocation and limit register Virtual address space: 0 to max Physical address space: 0+R to max+r 9
10 Remark: Dynamic Loading, Linking and Shared Libraries In general: dynamic loading a program does not reside completely in memory dynamically load called routines if called for the first time advantage: routines never called to not occupy any memory Library specific: static linking: loader combines system language libraries into the binary program image waste of memory and disk space Library specific: dynamic linking: similar to dynamic loading, but linking process instead of loading is postponed until the first call postpone linking until execution time (see figure on slide 7 again) Advantage: keep only one copy of the library code in memory instead of linking library routines into each program using it (Shared library) Stubs for library reference Locate the memory resident library or load it into memory (if not present) Replace themselfes with address of the desired routine next time that particular code segment calls library routine directly incurs no further cost 10
11 Swapping
12 Swapping Temporarily move process and its address space to backing store And bring it back to memory later for continued execution Enables execution of more processes than would fit into memory Dispatcher is responsible for swapping in the selected process and possibly swapping out of another one 12
13 Swapping Address binding at compile or load time? Process has to be swapped in at the same memory space Execution time binding is much better! Process can be swapped into a different location But be careful: swapping of a process waiting for I/O?!? Asynchronous I/O swapping new process into memory region accessed by I/O request Solutions: Never swap such a process or use I/O buffer in kernel space Typically (consider for instance UNIX) swapping is disabled when system load is low and only used when many processes are using a threshold or more amount of memory Reason: swapping is expensive (swapping time versus CPU execution time) 13
14 Contiguous Memory Allocation
15 Our Model for this Section 15
16 Motivation Assumption for now Each process is contained in a single contiguous section of memory Each process has exclusive access on this region Managing free and occupied space? Fixed partition scheme Contiguous memory allocation 16
17 Fixed Partition Scheme Fixed partition scheme (simple but outdated) Equal sized memory partitions Each process is located in one partition Example: p1 p2 p3 p4 Partition 1 Partition 2 Partition 3 Partition 4 Partition 5 17
18 Contiguous Memory Allocation Variable partition scheme Organize free memory space in a table of memory holes Initially one large hole of free memory On process arrival search hole which is large enough Allocate as much as required only Possibly splitting the hole On process termination release block of memory Possibly merging holes Example: processes p1, p2, p3, p4 enter, process p2 leaves again, processes p5, p6 enter,. 18
19 Contiguous Memory Allocation Dynamic storage allocation problem which of the free holes to select? First fit find the first matching hole (the next time continue from there or start from the beginning) Best fit find the smallest hole the process fits in Worst fit find the largest hole Simulation results: first and best fit are better than worst fit First fit and best fit are comparable but first fit is generally faster In general two problems can occur with contiguous memory allocation Internal fragmentation External fragmentation 19
20 Internal Fragmentation Example: allocate bytes given a hole of Remaining hole of 2 bytes Small holes make no sense and increase overhead to keep track of all holes Solution: Use fixed sized blocks and allocate a sequence of such blocks This leads however to some internal fragmentation Allocated memory might be more than needed: Required memory Unused memory 20
21 External Fragmentation As processes are loaded and removed from memory free memory space is broken into little pieces Problem: enough total free memory but no contiguous space of the required space exists An extreme case: P 1 P 2 P 3 P 4 P 5 P 6? P 1 P 2 P 3 P 4 P 5 ok 21
22 Solutions for External Fragmentation Compactation Not possible for compile and load time address binding Expensive scheme Non-contiguous address space Paging Segmentation 22
23 Paging
24 Paging Partition physical memory into fixed sized blocks frames Logical memory is a contiguous address space build from fixed sized blocks pages page number page offset Page size has to be a power of two. Why? Frame 4KB and 4-byte page table entries: addressable physical memory? 24
25 Example: 32-byte memory and 4-byte pages Examples: Logical Physical 25
26 Properties A form of dynamic relocation (similar to table of base registers for each frame) No external fragmentation Internal fragmentation possible (maximum: page size - 1) average ½ page size Hardware requires a page table only for the currently running process However, operating system has to maintain a page table for each process Used when mapping logical address to physical address manually (e.g. when user process provides a logical address in an IO system call) Used for restoring the page table to be used after a context switch 26
27 Hardware Support Every access to memory goes thought the paging map efficiency is a mayor consideration Solution 1: Dedicated registers Fast access Expensive context switch (reload the whole table into dedicated registers) Useful for small tables Example PDP-11: 16-Bit address, 8KB page size 8 table entries 3 Bit Page NR 8KB 13 Bit offset 27
28 Hardware Support Solution 2: Keep page table in memory Reasonable for large page tables e.g. 32 Bit address, 4 KB page tables 20 Bit Page Number 12 Bit Offset more than one million entries Only one register points to the page table Context switch: load only one register! (State of the art) 28
29 The Problem with Solution 2 Logical address PNR Offset + PTBR physical + address Data Page Table Frame Address One memory access requires two ones! Memory access is slowed by factor 2! 29
30 Solution Caching: translation look-aside buffer (TLB) 30
31 TLB issues What happens on a TLB miss? Lookup page NR in memory Insert NR in Cache for next use TLB full? OS has to follow a replacement policy (LRU, Random, ) Some TLB allow wired down entries which are not replaced TLB and Context switches? Erase complete table to avoid wrong mappings Or use ASIDs to associate entries with processes 31
32 TLB Hit Ratio Hit ratio percentage of times a number is found Effective memory access time (example) Memory access: 100 ns TLB search: 20 ns Hit ratio: 80% Access time on TLB hit: = 120 Access time on TLB miss: = 220 Effective access time = 0.8 * * 220 = percent slowdown Reference locality hit ratio more than 98% here it would mean a slow down less than 22 % 32
33 Protection Page table may contain additional flags Read, write, execute, validinvalid The first three mentioned flags limit memory use to reading, writing, executing The valid-invalid bit: limit memory usage to valid pages Alternative/supplementing solution: page table length register (PTLR) The use of PTLR reduces memory overhead of the page table in case a process uses only the first n pages. 33
34 Shared Pages Shared Code must be reentrant code does not change during execution (e.g. clear write flag in each page table register) Example 40 users 150 KB editor + 50 KB data per user total memory required: 8000 KB Sharing the editor code 150 KB + 40 * 50 KB = 2150 KB significant savings! 34
35 Hierarchical Paging Recall: 32 Bit logical address, 4 KB page size 2 32 / 2 12 Page table entries (about one million) Reducing the page table size 2 level paging scheme 35
36 Quiz Consider a two level paging scheme for 32 Bit adresses Let the first 10 Bits be used for the outer page Let the next 8 Bits be used for the inner pages Let the remaining 14 Bits be used for the page offset Ignoring any additional flags, what is (measured in Bytes): the size of the outer page? the size of an inner page? the size of a page? 36
37 2 Level Paging Scheme and 64 Bit Addresses? Outer Page Index 42 Bit Inner Page Index 10 Bit 2^42 entries in the outer page! Offset 12 Bit Solution: n-level paging (e.g. 7-level paging) Prohibitive number of memory accesses in case of a TLB miss! We need other solutions here... 37
38 Hashed Page Tables 38
39 Example Consider 4kByte frames. What is the physical address of (32,17) in the depicted example?
40 Inverted Page Tables 40
41 Example 16 Bit Addresses, 8-entry inverted page table. Size of a page/frame? Physical address in this example? PID P
42 Segmentation
43 Segmentation Recall the simple hardware solution: relocation (sometimes also called base register) and limit register 43
44 Segmentation Extending this idea to a table of base and limit values 44
45 Segmentation Example 45
46 Segmentation Example 46
47 Quiz Where is address 3 22 mapped to? 47
48 Quiz Where is address mapped to? 48
49 Example: Intel Pentium
50 Example: Intel Pentium This architecture supports both Pure segmentation and Segmentation with paging We do not consider the whole memory management structure of the Pentium but rather the major ideas on what it is based Logical to physical address translation 50
51 Example: Intel Pentium 51
52 Example: Intel Pentium Two types of pages possible Page types are determined by a page directory flag 52
53 Summary and References
54 Summary Memory management typically includes Checking an address and address use (e.g. writing to an address) for legality Mapping an address to a physical address This can not be realized efficiently in software Thus, memory management provided by an operating system is always constrained by the available hardware features (e.g. limit/base-register, translation tables, TLB) We have considered two major techniques Paging Segmentation (and a combination of both) The study of memory management also includes Fragmentation (internal, external) Support for relocation to solve external fragmentation Swapping to allow more process than would fit into memory Sharing code or data Protection (execute-only, read-only, read-write) 54
55 References Silberschatz, Galvin, Gagne, Operating System Concepts, Seventh Edition, Wiley, 2005 Chapter 8 Main Memory 55
Chapter 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 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 Operating System Concepts 8 th Edition,! Silberschatz, Galvin and Gagne 2009! Chapter 8: 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 Paging Structure of the Page Table Segmentation Example: The Intel Pentium 8.2 Silberschatz, Galvin
More informationChapter 8: Memory Management Strategies
Chapter 8: Memory- Management Strategies, Silberschatz, Galvin and Gagne 2009 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table
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 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 informationModule 8: Memory Management
Module 8: Memory Management Background Logical versus Physical Address Space Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging Operating System Concepts 8.1 Silberschatz and Galvin
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 informationLogical versus Physical Address Space
CHAPTER 8: MEMORY MANAGEMENT Background Logical versus Physical Address Space Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging Operating System Concepts, Addison-Wesley 1994
More informationChapter 8 Memory Management
Chapter 8 Memory Management Da-Wei Chang CSIE.NCKU Source: Abraham Silberschatz, Peter B. Galvin, and Greg Gagne, "Operating System Concepts", 9th Edition, Wiley. 1 Outline Background Swapping Contiguous
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 informationMemory Management. CSCI 315 Operating Systems Design Department of Computer Science
Memory Management CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture are based on those from Operating Systems Concepts, 9th ed., by Silberschatz, Galvin,
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 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 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 informationChapter 8: Memory Management. Operating System Concepts with Java 8 th Edition
Chapter 8: Memory Management 8.1 Silberschatz, Galvin and Gagne 2009 Background Program must be brought (from disk) into memory and placed within a process for it to be run Main memory and registers are
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 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 information8.1 Background. Part Four - Memory Management. Chapter 8: Memory-Management Management Strategies. Chapter 8: Memory Management
Part Four - Memory Management 8.1 Background Chapter 8: Memory-Management Management Strategies Program must be brought into memory and placed within a process for it to be run Input queue collection of
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 informationModule 8: Memory Management
Module 8: Memory Management Background Logical versus Physical Address Space Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging 8.1 Background Program must be brought into memory
More informationMemory Management. Contents: Memory Management. How to generate code? Background
TDIU11 Operating systems Contents: Memory Management Memory Management [SGG7/8/9] Chapter 8 Background Relocation Dynamic loading and linking Swapping Contiguous Allocation Paging Segmentation Copyright
More informationModule 9: Memory Management. Background. Binding of Instructions and Data to Memory
Module 9: Memory Management Background Logical versus Physical Address Space Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging 9.1 Background Program must be brought into memory
More informationPart Three - Memory Management. Chapter 8: Memory-Management Strategies
Part Three - Memory Management Chapter 8: Memory-Management Strategies Chapter 8: Memory-Management Strategies 8.1 Background 8.2 Swapping 8.3 Contiguous Memory Allocation 8.4 Segmentation 8.5 Paging 8.6
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 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 informationMemory Management. Memory Management
Memory Management Gordon College Stephen Brinton Memory Management Background Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging 1 Background Program must be brought into memory
More informationChapter 9: Memory Management. Background
1 Chapter 9: Memory Management Background Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging 9.1 Background Program must be brought into memory and placed within a process for
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 informationI.-C. Lin, Assistant Professor. Textbook: Operating System Concepts 8ed CHAPTER 8: MEMORY
I.-C. Lin, Assistant Professor. Textbook: Operating System Concepts 8ed CHAPTER 8: MEMORY MANAGEMENT Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure of the
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 informationBackground Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation
Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Basic Hardware Address Binding Logical VS Physical Address Space Dynamic Loading Dynamic Linking and Shared
More informationChapter 8: Memory Management
Chapter 8: Memory Management Chapter 8: Memory Management Background Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging 8.2 Background Program must be brought into memory and placed
More informationChapter 8: Memory Management. Background Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging
Chapter 8: Memory Management Background Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging 1 Background Memory management is crucial in better utilizing one of the most important
More informationI.-C. Lin, Assistant Professor. Textbook: Operating System Principles 7ed CHAPTER 8: MEMORY
I.-C. Lin, Assistant Professor. Textbook: Operating System Principles 7ed CHAPTER 8: MEMORY MANAGEMENT Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure of
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 informationChapter 8 Main Memory
COP 4610: Introduction to Operating Systems (Spring 2014) Chapter 8 Main Memory Zhi Wang Florida State University Contents Background Swapping Contiguous memory allocation Paging Segmentation OS examples
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 informationTopics: Memory Management (SGG, Chapter 08) 8.1, 8.2, 8.3, 8.5, 8.6 CS 3733 Operating Systems
Topics: Memory Management (SGG, Chapter 08) 8.1, 8.2, 8.3, 8.5, 8.6 CS 3733 Operating Systems Instructor: Dr. Turgay Korkmaz Department Computer Science The University of Texas at San Antonio Office: NPB
More informationPerformance of Various Levels of Storage. Movement between levels of storage hierarchy can be explicit or implicit
Memory Management All data in memory before and after processing All instructions in memory in order to execute Memory management determines what is to be in memory Memory management activities Keeping
More informationChapter 8: Memory- Manage g me m nt n S tra r t a e t gie i s
Chapter 8: Memory- Management Strategies Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium 2009/12/16
More informationPrinciples of Operating Systems
Principles of Operating Systems Lecture 18-20 - Main Memory Ardalan Amiri Sani (ardalan@uci.edu) [lecture slides contains some content adapted from previous slides by Prof. Nalini Venkatasubramanian, and
More informationCS 3733 Operating Systems:
CS 3733 Operating Systems: Topics: Memory Management (SGG, Chapter 08) Instructor: Dr Dakai Zhu Department of Computer Science @ UTSA 1 Reminders Assignment 2: extended to Monday (March 5th) midnight:
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 super big to hold a program
More informationMain Memory (Part I)
Main Memory (Part I) Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Main Memory 1393/8/5 1 / 47 Motivation and Background Amir
More informationFile Systems. OS Overview I/O. Swap. Management. Operations CPU. Hard Drive. Management. Memory. Hard Drive. CSI3131 Topics. Structure.
File Systems I/O Management Hard Drive Management Virtual Memory Swap Memory Management Storage and I/O Introduction CSI3131 Topics Process Management Computing Systems Memory CPU Peripherals Processes
More informationMain Memory. CISC3595, Spring 2015 X. Zhang Fordham University
Main Memory CISC3595, Spring 2015 X. Zhang Fordham University 1 Memory Management! Background!! Contiguous Memory Allocation!! Paging!! Structure of the Page Table!! Segmentation!! Example: The Intel Pentium
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 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 informationCS307 Operating Systems Main Memory
CS307 Main Memory Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2018 Background Program must be brought (from disk) into memory and placed within a process
More informationMemory Management Cache Base and Limit Registers base limit Binding of Instructions and Data to Memory Compile time absolute code Load time
Memory Management To provide a detailed description of various ways of organizing memory hardware To discuss various memory-management techniques, including paging and segmentation To provide a detailed
More informationChapter 8: Memory Management
Chapter 8: Memory Management Chapter 8: Memory Management Background Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging 8.2 Silberschatz, Galvin and Gagne 2005 Background Program/Code
More informationCS420: Operating Systems
Main Memory James Moscola Department of Engineering & Computer Science York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne Background Program must
More informationGoals of Memory Management
Memory Management Goals of Memory Management Allocate available memory efficiently to multiple processes Main functions Allocate memory to processes when needed Keep track of what memory is used and what
More informationOperating Systems. 09. Memory Management Part 1. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 09. Memory Management Part 1 Paul Krzyzanowski Rutgers University Spring 2015 March 9, 2015 2014-2015 Paul Krzyzanowski 1 CPU Access to Memory The CPU reads instructions and reads/write
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 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 informationMain Memory (Part II)
Main Memory (Part II) Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Main Memory 1393/8/17 1 / 50 Reminder Amir H. Payberah
More informationSHANDONG UNIVERSITY 1
Chapter 8 Main Memory SHANDONG UNIVERSITY 1 Contents Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium SHANDONG UNIVERSITY 2 Objectives
More informationMemory and multiprogramming
Memory and multiprogramming COMP342 27 Week 5 Dr Len Hamey Reading TW: Tanenbaum and Woodhull, Operating Systems, Third Edition, chapter 4. References (computer architecture): HP: Hennessy and Patterson
More informationCS420: Operating Systems. Paging and Page Tables
Paging and Page Tables James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne Paging Paging is a memory-management
More informationCSE 4/521 Introduction to Operating Systems. Lecture 14 Main Memory III (Paging, Structure of Page Table) Summer 2018
CSE 4/521 Introduction to Operating Systems Lecture 14 Main Memory III (Paging, Structure of Page Table) Summer 2018 Overview Objective: To discuss how paging works in contemporary computer systems. Paging
More informationCSE 4/521 Introduction to Operating Systems. Lecture 12 Main Memory I (Background, Swapping) Summer 2018
CSE 4/521 Introduction to Operating Systems Lecture 12 Main Memory I (Background, Swapping) Summer 2018 Overview Objective: 1. To provide a detailed description of various ways of organizing memory hardware.
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 informationP r a t t hr h ee e : e M e M m e o m r o y y M a M n a a n g a e g m e e m n e t 8.1/72
Part three: Memory Management programs, together with the data they access, must be in main memory (at least partially) during execution. the computer keeps several processes in memory. Many memory-management
More information12: Memory Management
12: Memory Management Mark Handley Address Binding Program goes through multiple steps from compilation to execution. At some stage, addresses in the program must be bound to physical memory addresses:
More informationMain Memory Yi Shi Fall 2017 Xi an Jiaotong University
Main Memory Yi Shi Fall 2017 Xi an Jiaotong University Goals Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Background Program must be brought (from disk)
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 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 informationMemory Management. Memory
Memory Management These slides are created by Dr. Huang of George Mason University. Students registered in Dr. Huang s courses at GMU can make a single machine readable copy and print a single copy of
More informationUNIT-III VIRTUAL MEMORY
MEMORY MANAGEMENT: The main purpose of a computer system is to execute programs. These programs, together with the data they access, must be at least partially in main memory during execution. To improve
More informationMemory Management. Minsoo Ryu. Real-Time Computing and Communications Lab. Hanyang University.
Memory Management Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Topics Covered Introduction Memory Allocation and Fragmentation Address Translation Paging
More informationMemory Management Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University
Memory Management Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Topics Covered Introduction Memory Allocation and Fragmentation Address Translation Paging
More informationCOSC Operating Systems Design, Fall 2001, Byunggu Yu. Chapter 9 Memory Management (Lecture Note #8) 1. Background
COSC4740 01 Operating Systems Design, Fall 2001, Byunggu Yu Chapter 9 Memory Management (Lecture Note #8) 1. Background The computer programs, together with the data they access, must be in main memory
More informationPaging & Segmentation
& Frédéric Haziza Department of Computer Systems Uppsala University Spring 2008 Outline 1 Paging Implementation Protection Sharing 2 Setup Implementation 2 OSKomp 08 Paging & Definition
More informationMemory Management (1) Memory Management
EECS 3221 Operating System Fundamentals No.8 Memory Management (1) Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University Memory Management A program usually resides on a
More informationMemory Management (1) Memory Management. CPU vs. memory. No.8. Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University
EECS 3221 Operating System Fundamentals No.8 Memory Management (1) Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University Memory Management A program usually resides on a
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 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 informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 20 Main Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Pages Pages and frames Page
More informationChapter 8: Memory- Management Strategies Dr. Varin Chouvatut
Part I: Overview Part II: Process Management Part III : Storage Management Chapter 8: Memory- Management Strategies Dr. Varin Chouvatut, Silberschatz, Galvin and Gagne 2010 Chapter 8: Memory Management
More informationCS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University
Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [MEMORY MANAGEMENT] Shrideep Pallickara Computer Science Colorado State University MS-DOS.COM? How does performing fast
More informationCS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University
Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [MEMORY MANAGEMENT] Matrices in Banker s algorithm Max, need, allocated Shrideep Pallickara Computer Science Colorado
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 informationChapter 8: Main Memory. Operating System Concepts 8th Edition
Chapter 8: Main Memory Operating System Concepts 8th Edition Silberschatz, Galvin and Gagne 2009 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure of the Page
More informationChapter 8 Main Memory
Chapter 8 Main Memory 8.1, 8.2, 8.3, 8.4, 8.5 Chapter 9 Virtual memory 9.1, 9.2, 9.3 https://www.akkadia.org/drepper/cpumemory.pdf Images from Silberschatz Pacific University 1 How does the OS manage 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 information9.1 Background. In Chapter 6, we showed how the CPU can be shared by a set of processes. As a result of
Chapter 9 MEMORY MANAGEMENT In Chapter 6, we showed how the CPU can be shared by a set of processes. As a result of CPU scheduling, we can improve both the utilization of the CPU and the speed of the computer's
More informationMemory Management (2)
EECS 3221.3 Operating System Fundamentals No.9 Memory Management (2) Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University Memory Management Approaches Contiguous Memory
More informationHardware Address Binding Memory Allocation References. Physical Memory. Daniel Bosk 1
Physical Memory Daniel Bosk 1 Department of Information and Communication Systems (ICS), Mid Sweden University, Sundsvall. physmem.tex 233 2018-02-18 21:20:05Z jimahl 1 1 This work is licensed under the
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 informationMain Memory (II) Operating Systems. Autumn CS4023
Operating Systems Autumn 2017-2018 Outline 1 Main Memory (II) Outline Main Memory (II) 1 Main Memory (II) Paging Main Memory (II) Physical address space of a process can be noncontiguous; process is allocated
More informationCS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS SPRING 2013 Lecture 13: Paging Prof. Alan Mislove (amislove@ccs.neu.edu) Paging Physical address space of a process can be noncontiguous; process is allocated physical memory
More informationRoadmap. Tevfik Koşar. CSC Operating Systems Spring Lecture - XII Main Memory - II. Louisiana State University
CSC 4103 - Operating Systems Spring 2007 Lecture - XII Main Memory - II Tevfik Koşar Louisiana State University March 8 th, 2007 1 Roadmap Dynamic Loading & Linking Contiguous Memory Allocation Fragmentation
More informationCompile: compiler. Load: loader. compiler linker loader memory. source object load code module module 2
Part III Storage Management Chapter 8: Memory Management Fall 2010 1 Address Generation Address generation has three stages: Compile: compiler Link: linker or linkage editor Load: loader compiler linker
More informationMemory management: outline
Memory management: outline Concepts Swapping Paging o Multi-level paging o TLB & inverted page tables 1 Memory size/requirements are growing 1951: the UNIVAC computer: 1000 72-bit words! 1971: the Cray
More informationMemory management: outline
Memory management: outline Concepts Swapping Paging o Multi-level paging o TLB & inverted page tables 1 Memory size/requirements are growing 1951: the UNIVAC computer: 1000 72-bit words! 1971: the Cray
More informationUnit-03 Deadlock and Memory Management Unit-03/Lecture-01
1 Unit-03 Deadlock and Memory Management Unit-03/Lecture-01 The Deadlock Problem 1. A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set.
More information