Operating System Design and Implementation Memory Management Part III
|
|
- Magnus Berry
- 5 years ago
- Views:
Transcription
1 Operating System Design and Implemation Memory Managem Part III Shiao Li Tsao Memory access in a program Cache Managem Regions Virtual to physical address X86/Linux example APIs Page fault handling Segma tion and paging Physical X86/Linux kernel mmap and cache Page table and TLB Internal and external fragma tion Process address space Page frame reclaim 國立交通大學資訊工程學系曹孝櫟老師 1
2 Space vs. User Space Linux User/ Windows, default Windows booted with 3GB switch Space (1GB) Space (2GB) Space (1GB) User Space (3GB) User Space (2GB) User Space (3GB) Virtual Addresses Before/After Context Switches Space (1GB) Process Switch Space (1GB) Process Switch Space (1GB) Firefox /bin/ls Firefox 國立交通大學資訊工程學系曹孝櫟老師 2
3 Per Process Address Space 1GB Stack Memory Mapping 3GB Heap BSS Data Text task_struct and mm_struct Stack Memory Mapping task_struct mm_struct Heap BSS Data Text 國立交通大學資訊工程學系曹孝櫟老師 3
4 struct file (ld.so) struct file (libc.so) struct file VMA Stack Memory Mapping Memory Mapping Heap BSS Data File backed Text File backed mm_struct Segmation Fault Segmation fault Page fault Normal access 國立交通大學資訊工程學系曹孝櫟老師 4
5 Page Fault OS Find page in backing store 3 2 CPU 6 1 v 1 0 Page table 5 Update page table trap Load into 4 Allocation of MM Related Structures 國立交通大學資訊工程學系曹孝櫟老師 5
6 Linux Thread and mm_struct threads do not have a process address space mm field of a kernel thread's process descriptor is NULL Lack of an address space is fine, because kernel threads do not ever access any user space Better performance Memory access in a program Cache Managem Regions Virtual to physical address X86/Linux example APIs Page fault handling Segma tion and paging Physical X86/Linux kernel mmap and cache Page table and TLB Internal and external fragma tion Process address space Page frame reclaim 國立交通大學資訊工程學系曹孝櫟老師 6
7 mm_struct,, and page mm_struct struct file struct address_space struct page VMA, Page and Frame 3GB Virtual User Space =4KB(perpage)* 786,432 (pages) page.. page page page Page 5 Page 4 Page 3 Page 2 Page 1 Frame Frame 2913 Frame 102 國立交通大學資訊工程學系曹孝櫟老師 7
8 Memory Region Linear Address Space Memory Regions Red Black Tree O(log n) By Cburnett,CC BY SA 3.0, via Wikimedia Commons" 國立交通大學資訊工程學系曹孝櫟老師 8
9 VMA Search Using R B Tree vm_end=300 vm_end=100 vm_end=400 vm_end=30 vm_end=150 vm_end=490 Ref: w4118/lectures/l20 adv mm.pdf malloc() and Heap Managem 國立交通大學資訊工程學系曹孝櫟老師 9
10 Process Address Space Memory Access contiguous Memory Region Grow original region Access discrete Create new regions Remove at the back Shrink original region Remove in the middle Split into two regions 19 Enlarge VMA Call brk() to grow its heap Page fault Ref: the kernel manages your / 國立交通大學資訊工程學系曹孝櫟老師 10
11 Memory access in a program Cache Managem Regions Virtual to physical address X86/Linux example APIs Page fault handling Segma tion and paging Physical X86/Linux kernel mmap and cache Page table and TLB Internal and external fragma tion Process address space Page frame reclaim Segmation Fault Segmation fault Page fault Normal access 國立交通大學資訊工程學系曹孝櫟老師 11
12 Page Fault Handler No Belong to this process? Yes No User mode? Yes No Access right granted? Yes Bug Illegal access, send SIGSEGV legal access, allocate page frame Memory access in a program Cache Managem Regions Virtual to physical address X86/Linux example APIs Page fault handling Segma tion and paging Physical X86/Linux kernel mmap and cache Page table and TLB Internal and external fragma tion Process address space Page frame reclaim 國立交通大學資訊工程學系曹孝櫟老師 12
13 Memory Mapped Virtual Memory mapped Backing store Data Structure for File Memory Mapping address_space struct page struct inode Page frame struct struct file Ref: Understanding the Linux, Daniel P. Bovet, Marco Cesati 國立交通大學資訊工程學系曹孝櫟老師 13
14 Two Types of Memory Mapping A file mapping maps a region to a region of a file backing store = file as long as the mapping is established, the cont of the file can be read from or written to using direct access ( as if they were variables ) An mappings maps a region to a fresh virtual area filled with 0 backing store = zero ed area Ref: Programmation Systèmes /Memory Mapping, Stefano Zacchiroli Having mapped pages in common Thanks to virtual, differ processes can have mapped pages in common More precisely, mapped pages in differ processes can refer to physical pages that have the same backing store That can happen in two ways: through fork, as mappings are inherited by children when multiple processes map the same region of a file Ref: Programmation Systèmes /Memory Mapping, Stefano Zacchiroli 國立交通大學資訊工程學系曹孝櫟老師 14
15 Shared vs private mappings With mapped pages in common, the involved processes might see changes performed by others to mapped pages in common, depending on whether the mapping is: private mapping in this case modifications are not visible to other processes. pages are initially the same, but modification are not shared, as it happens with copy on write after fork private mappings are also known as copy on write mappings shared mapping in this case modifications to mapped pages in common are visible to all involved processes i.e. pages are not copied on write Ref: Programmation Systèmes /Memory Mapping, Stefano Zacchiroli File mapping and layout Virtual file Memory mapped Memory mapped portion of file Ref: Programmation Systèmes /Memory Mapping, Stefano Zacchiroli 國立交通大學資訊工程學系曹孝櫟老師 15
16 Effects: Shared file mapping (#2) processes mapping the same region of a file share physical frames more precisely: they have virtual pages that map to the same physical frames additionally, the involved physical frames have the mapped file as ultimate backing store i.e. modifications to the (shared) physical frames are saved to the mapped file on disk Ref: Programmation Systèmes /Memory Mapping, Stefano Zacchiroli Shared file mapping (#2) Process A page table Physical Mapped region Open file Process B page table Mapped pages I/O Managed by Mapped pages Mapped region 國立交通大學資訊工程學系曹孝櫟老師 16
17 Shared file mapping (#2) (cont.) Use cases mapped I/O, as an alternative to read/write as in the case of private file mapping, but here it works for both reading and writing data Inter process communication, with the following characteristics: data transfer (not byte stream) with filesystem persistence among unrelated processes Ref: Programmation Systèmes /Memory Mapping, Stefano Zacchiroli Memory mapped I/O Given that: cont is initialized from file changes to are reflected to file we can perform I/O by simply changing bytes of. Access to file mappings is less intuitive than sequial read/write operations the mal model is that of working on your data as a huge byte array (which is what is, after all) a best practice to follow is that of defining struct s that correspond to elems stored in the mapping, and copy them around with memcpy & co Ref: Programmation Systèmes /Memory Mapping, Stefano Zacchiroli 國立交通大學資訊工程學系曹孝櫟老師 17
18 Memory mapped I/O advantages performance gain: 1 copy with read/write I/O each action involves 2 copies: 1 between user space and kernel buffers + 1 between kernel buffers and the I/O device with mapped I/O only the 2nd copy remains flash exercise: how many copies for standard I/O? performance gain: no context switch no syscall and no context switch is involved in accessing mapped page faults are possible, though reduced usage we avoid user space buffers! less needed if mapped region is shared, we use only one set of buffers for all processes seeking is simplified no need of explicit lseek, just pointer manipulation Ref: Programmation Systèmes /Memory Mapping, Stefano Zacchiroli Memory mapped I/O disadvantages garbage the size of mapped regions is a multiple of system page size mapping regions which are way smaller than that can result in a significant waste of mapping must fit in the process address space on 32 bits systems, a large number of mappings of various sizes might result in fragmation it then becomes harder to find continuous space to grant large mappings the problem is substantially diminished on 64 bits systems there is kernel overhead in maintaining mappings for small mappings, the overhead can dominate the advantages mapped I/O is best used with large files and random access Ref: Programmation Systèmes /Memory Mapping, Stefano Zacchiroli 國立交通大學資訊工程學系曹孝櫟老師 18
19 Page Cache A read(abc.dat, buf, 512) Search for abc.dat #0 libc.so /bin/ls libc.so libc.so abc.dat /bin/ls libc.so disk A read(abc.dat, buf, 512) Ref: cache the affair between and files/ Read only Read/write A abc.dat #2 abc.dat #1 abc.dat #0 B A write abc.dat #2 abc.dat #1 abc.dat #0 B A abc.dat #2 abc.dat #1 abc.dat #0 B A write abc.dat #2 abc.dat #1 abc.dat #0 B Page fault, copy on write Ref: cache the affair between and files/ 國立交通大學資訊工程學系曹孝櫟老師 19
20 stack A B stack libc.so /lib/libc.so, #1 /lib/libc.so, #0 libc.so abc.dat abc.dat, #1 abc.dat, #2 abc.dat abc.dat, #0 heap heap text A, #1 A, #0 text Ref: cache the affair between and files/ Memory access in a program Cache Managem Regions Virtual to physical address X86/Linux example APIs Page fault handling Segma tion and paging Physical X86/Linux kernel mmap and cache Page table and TLB Internal and external fragma tion Process address space Page frame reclaim 國立交通大學資訊工程學系曹孝櫟老師 20
21 The Types of Pages Considered by the PFRA Ref: Understanding the Linux, Daniel P. Bovet, Marco Cesati Ref: CS161: Operating Systems, Matt Welsh 國立交通大學資訊工程學系曹孝櫟老師 21
22 Implemation of PFRA Ref: Understanding the Linux, Daniel P. Bovet, Marco Cesati 國立交通大學資訊工程學系曹孝櫟老師 22
Operating System Design and Implementation
Operating System Design and Implementation Kernel Synchronization Shiao Li Tsao Why Kernel Synchroni zation Semaphor es and Mutexes Atomic Operation s Other mechanis ms Spin Lock Summary 國立交通大學資訊工程學系曹孝櫟老師
More informationCS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2015 Lecture 25
CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 2015 Lecture 25 LAST TIME: PROCESS MEMORY LAYOUT! Explored how Linux uses IA32! All processes have a similar layout Each process has its own page table structure
More informationMemory Management. Fundamentally two related, but distinct, issues. Management of logical address space resource
Management Fundamentally two related, but distinct, issues Management of logical address space resource On IA-32, address space may be scarce resource for a user process (4 GB max) Management of physical
More informationP6/Linux Memory System Nov 11, 2009"
P6/Linux Memory System Nov 11, 2009" REMEMBER" 2! 3! Intel P6" P6 Memory System" DRAM" external system bus (e.g. PCI)" L2" cache" cache bus! bus interface unit" inst" TLB" instruction" fetch unit" L1"
More informationCSE506: Operating Systems CSE 506: Operating Systems
CSE 506: Operating Systems Memory Management Review We ve seen how paging works on x86 Maps virtual addresses to physical pages These are the low-level hardware tools This lecture: build up to higher-level
More informationProtection and System Calls. Otto J. Anshus
Protection and System Calls Otto J. Anshus Protection Issues CPU protection Prevent a user from using the CPU for too long Throughput of jobs, and response time to events (incl. user interactive response
More informationCS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2018 Lecture 24
CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 2018 Lecture 24 LAST TIME Extended virtual memory concept to be a cache of memory stored on disk DRAM becomes L4 cache of data stored on L5 disk Extend page
More informationCIS Operating Systems Memory Management Cache and Demand Paging. Professor Qiang Zeng Spring 2018
CIS 3207 - Operating Systems Memory Management Cache and Demand Paging Professor Qiang Zeng Spring 2018 Process switch Upon process switch what is updated in order to assist address translation? Contiguous
More informationMemory Mapping. Sarah Diesburg COP5641
Memory Mapping Sarah Diesburg COP5641 Memory Mapping Translation of address issued by some device (e.g., CPU or I/O device) to address sent out on memory bus (physical address) Mapping is performed by
More informationCIS Operating Systems Memory Management Cache. Professor Qiang Zeng Fall 2017
CIS 5512 - Operating Systems Memory Management Cache Professor Qiang Zeng Fall 2017 Previous class What is logical address? Who use it? Describes a location in the logical memory address space Compiler
More informationProcess. Heechul Yun. Disclaimer: some slides are adopted from the book authors slides with permission
Process Heechul Yun Disclaimer: some slides are adopted from the book authors slides with permission 1 Recap OS services Resource (CPU, memory) allocation, filesystem, communication, protection, security,
More informationCSE506: Operating Systems CSE 506: Operating Systems
CSE 506: Operating Systems Memory Management Review We ve seen how paging works on x86 Maps virtual addresses to physical pages These are the low-level hardware tools This lecture: build up to higher-level
More informationPROCESS VIRTUAL MEMORY PART 2. CS124 Operating Systems Winter , Lecture 19
PROCESS VIRTUAL MEMORY PART 2 CS24 Operating Systems Winter 25-26, Lecture 9 2 Virtual Memory Abstraction Last time, officially introduced concept of virtual memory Programs use virtual addresses to refer
More informationApplications of. Virtual Memory in. OS Design
Applications of Virtual Memory in OS Design Nima Honarmand Introduction Virtual memory is a powerful level of indirection Indirection: IMO, the most powerful concept in Computer Science Fundamental Theorem
More informationVirtual Memory: Systems
Virtual Memory: Systems 5-23: Introduction to Computer Systems 8 th Lecture, March 28, 27 Instructor: Franz Franchetti & Seth Copen Goldstein Recap: Hmmm, How Does This Work?! Process Process 2 Process
More informationSegmentation with Paging. Review. Segmentation with Page (MULTICS) Segmentation with Page (MULTICS) Segmentation with Page (MULTICS)
Review Segmentation Segmentation Implementation Advantage of Segmentation Protection Sharing Segmentation with Paging Segmentation with Paging Segmentation with Paging Reason for the segmentation with
More informationProcess Environment. Pradipta De
Process Environment Pradipta De pradipta.de@sunykorea.ac.kr Today s Topic Program to process How is a program loaded by the kernel How does kernel set up the process Outline Review of linking and loading
More informationPentium/Linux Memory System March 17, 2005
15-213 The course that gives CMU its Zip! Topics Pentium/Linux Memory System March 17, 2005 P6 address translation x86-64 extensions Linux memory management Linux page fault handling Memory mapping 17-linuxmem.ppt
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 informationCS 261 Fall Mike Lam, Professor. Virtual Memory
CS 261 Fall 2016 Mike Lam, Professor Virtual Memory Topics Operating systems Address spaces Virtual memory Address translation Memory allocation Lingering questions What happens when you call malloc()?
More informationCIS Operating Systems Memory Management Cache. Professor Qiang Zeng Fall 2015
CIS 5512 - Operating Systems Memory Management Cache Professor Qiang Zeng Fall 2015 Previous class What is logical address? Who use it? Describes a location in the logical address space Compiler and CPU
More informationClassifying Information Stored in Memory! Memory Management in a Uniprogrammed System! Segments of a Process! Processing a User Program!
Memory Management in a Uniprogrammed System! A! gets a fixed segment of (usually highest )"! One process executes at a time in a single segment"! Process is always loaded at "! Compiler and linker generate
More informationMemory System Case Studies Oct. 13, 2008
Topics 15-213 Memory System Case Studies Oct. 13, 2008 P6 address translation x86-64 extensions Linux memory management Linux page fault handling Memory mapping Class15+.ppt Intel P6 (Bob Colwell s Chip,
More informationProcess Address Spaces and Binary Formats
Process Address Spaces and Binary Formats Don Porter CSE 506 Binary Formats RCU Memory Management Logical Diagram File System Memory Threads Allocators Today s Lecture System Calls Device Drivers Networking
More informationCSE506: Operating Systems CSE 506: Operating Systems
CSE 506: Operating Systems What Software Expects of the OS What Software Expects of the OS Shell Memory Address Space for Process System Calls System Services Launching Program Executables Shell Gives
More informationseven Virtual Memory Introduction
Virtual Memory seven Exercise Goal: You will study how Linux implements virtual memory. A general architecture-independent memory model is the basis of all Linux virtual memory implementations, though
More informationThe cow and Zaphod... Virtual Memory #2 Feb. 21, 2007
15-410...The cow and Zaphod... Virtual Memory #2 Feb. 21, 2007 Dave Eckhardt Bruce Maggs 1 L16_VM2 Wean Synchronization Watch for exam e-mail Please answer promptly Computer Club demo night Thursday (2/22)
More informationMemory Mapped I/O. Michael Jantz. Prasad Kulkarni. EECS 678 Memory Mapped I/O Lab 1
Memory Mapped I/O Michael Jantz Prasad Kulkarni EECS 678 Memory Mapped I/O Lab 1 Introduction This lab discusses various techniques user level programmers can use to control how their process' logical
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 informationCSE 120 Principles of Operating Systems
CSE 120 Principles of Operating Systems Spring 2018 Lecture 10: Paging Geoffrey M. Voelker Lecture Overview Today we ll cover more paging mechanisms: Optimizations Managing page tables (space) Efficient
More informationThe UtePC/Yalnix Memory System
The UtePC/Yalnix Memory System This document describes the UtePC memory management hardware subsystem and the operations that your Yalnix kernel must perform to control it. Please refer to Handout 3 for
More informationCS510 Operating System Foundations. Jonathan Walpole
CS510 Operating System Foundations Jonathan Walpole File System Performance File System Performance Memory mapped files - Avoid system call overhead Buffer cache - Avoid disk I/O overhead Careful data
More informationMulti-Process Systems: Memory (2) Memory & paging structures: free frames. Memory & paging structures. Physical memory
Multi-Process Systems: Memory (2) What we will learn A detailed description of various ways of organizing memory Discuss various memory-management techniques, including paging and segmentation To provide
More informationIntel P The course that gives CMU its Zip! P6/Linux Memory System November 1, P6 memory system. Review of abbreviations
15-213 The course that gives CMU its Zip! P6/Linux ory System November 1, 01 Topics P6 address translation Linux memory management Linux fault handling memory mapping Intel P6 Internal Designation for
More informationRecall: Address Space Map. 13: Memory Management. Let s be reasonable. Processes Address Space. Send it to disk. Freeing up System Memory
Recall: Address Space Map 13: Memory Management Biggest Virtual Address Stack (Space for local variables etc. For each nested procedure call) Sometimes Reserved for OS Stack Pointer Last Modified: 6/21/2004
More informationECE 598 Advanced Operating Systems Lecture 10
ECE 598 Advanced Operating Systems Lecture 10 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 17 February 2015 Announcements Homework #1 and #2 grades, HW#3 Coming soon 1 Various
More informationMemory Management Day 2. SWE3015 Sung- hun Kim
Memory Management Day 2 SWE3015 Sung- hun Kim VIRTUAL MEMORY IMPLEMENTATION 2 Linux 32 bit address space layout Process Address Space 3/39 Linux 64 bit address space layout Process Address Space 4/39 Process
More informationSYSTEM CALL IMPLEMENTATION. CS124 Operating Systems Fall , Lecture 14
SYSTEM CALL IMPLEMENTATION CS124 Operating Systems Fall 2017-2018, Lecture 14 2 User Processes and System Calls Previously stated that user applications interact with the kernel via system calls Typically
More informationDesign Overview of the FreeBSD Kernel CIS 657
Design Overview of the FreeBSD Kernel CIS 657 Organization of the Kernel Machine-independent 86% of the kernel (80% in 4.4BSD) C code Machine-dependent 14% of kernel Only 0.6% of kernel in assembler (2%
More informationDesign Overview of the FreeBSD Kernel. Organization of the Kernel. What Code is Machine Independent?
Design Overview of the FreeBSD Kernel CIS 657 Organization of the Kernel Machine-independent 86% of the kernel (80% in 4.4BSD) C C code Machine-dependent 14% of kernel Only 0.6% of kernel in assembler
More informationMemory management, part 3: outline
Memory management, part 3: outline Segmentation Case studies o MULTICS o x86 (Pentium) o Unix o Linux o Windows 1 Segmentation Several address spaces per process a compiler needs segments for o source
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 informationCSE506: Operating Systems CSE 506: Operating Systems
CSE 506: Operating Systems What Software Expects of the OS What Software Expects of the OS Memory System Calls System Services Launching Program Executables Shell Memory Abstraction CSE506: Operating Systems
More informationProcess. Heechul Yun. Disclaimer: some slides are adopted from the book authors slides with permission 1
Process Heechul Yun Disclaimer: some slides are adopted from the book authors slides with permission 1 Recap OS services Resource (CPU, memory) allocation, filesystem, communication, protection, security,
More informationMemory management, part 3: outline
Memory management, part 3: outline Segmentation Case studies o MULTICS o Pentium o Unix o Linux o Windows 1 Segmentation Several address spaces per process a compiler needs segments for o source text o
More informationOS COMPONENTS OVERVIEW OF UNIX FILE I/O. CS124 Operating Systems Fall , Lecture 2
OS COMPONENTS OVERVIEW OF UNIX FILE I/O CS124 Operating Systems Fall 2017-2018, Lecture 2 2 Operating System Components (1) Common components of operating systems: Users: Want to solve problems by using
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 informationP6 memory system P6/Linux Memory System October 31, Overview of P6 address translation. Review of abbreviations. Topics. Symbols: ...
15-213 P6/Linux ory System October 31, 00 Topics P6 address translation Linux memory management Linux fault handling memory mapping DRAM bus interface unit instruction fetch unit processor package P6 memory
More informationOptimizing Dynamic Memory Management
Optimizing Dynamic Memory Management 1 Goals of this Lecture Help you learn about: Details of K&R heap mgr Heap mgr optimizations related to Assignment #5 Faster free() via doubly-linked list, redundant
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 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 informationOS lpr. www. nfsd gcc emacs ls 1/27/09. Process Management. CS 537 Lecture 3: Processes. Example OS in operation. Why Processes? Simplicity + Speed
Process Management CS 537 Lecture 3: Processes Michael Swift This lecture begins a series of topics on processes, threads, and synchronization Today: processes and process management what are the OS units
More informationMemory Management - Demand Paging and Multi-level Page Tables
Memory Management - Demand Paging and Multi-level Page Tables CS 416: Operating Systems Design, Spring 2011 Department of Computer Science Rutgers Sakai: 01:198:416 Sp11 (https://sakai.rutgers.edu) Topics
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 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 informationEECS 482 Introduction to Operating Systems
EECS 482 Introduction to Operating Systems Fall 2018 Baris Kasikci Slides by: Harsha V. Madhyastha Base and bounds Load each process into contiguous region of physical memory Prevent process from accessing
More informationwe are here I/O & Storage Layers Recall: C Low level I/O Recall: C Low Level Operations CS162 Operating Systems and Systems Programming Lecture 18
I/O & Storage Layers CS162 Operating Systems and Systems Programming Lecture 18 Systems April 2 nd, 2018 Profs. Anthony D. Joseph & Jonathan Ragan-Kelley http://cs162.eecs.berkeley.edu Application / Service
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 Paging Allows the physical address space of a process to be noncontiguous Divide virtual
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 informationCS533 Concepts of Operating Systems. Jonathan Walpole
CS533 Concepts of Operating Systems Jonathan Walpole Improving IPC by Kernel Design & The Performance of Micro- Kernel Based Systems The IPC Dilemma IPC is very import in µ-kernel design - Increases modularity,
More informationFile System Internals. Jo, Heeseung
File System Internals Jo, Heeseung Today's Topics File system implementation File descriptor table, File table Virtual file system File system design issues Directory implementation: filename -> metadata
More information2 nd Half. Memory management Disk management Network and Security Virtual machine
Final Review 1 2 nd Half Memory management Disk management Network and Security Virtual machine 2 Abstraction Virtual Memory (VM) 4GB (32bit) linear address space for each process Reality 1GB of actual
More informationProcess Address Spaces and Binary Formats
Process Address Spaces and Binary Formats Don Porter Background We ve talked some about processes This lecture: discuss overall virtual memory organizafon Key abstracfon: Address space We will learn about
More informationVirtual Memory. Motivations for VM Address translation Accelerating translation with TLBs
Virtual Memory Today Motivations for VM Address translation Accelerating translation with TLBs Fabián Chris E. Bustamante, Riesbeck, Fall Spring 2007 2007 A system with physical memory only Addresses generated
More informationCS 5460/6460 Operating Systems
CS 5460/6460 Operating Systems Fall 2009 Instructor: Matthew Flatt Lecturer: Kevin Tew TAs: Bigyan Mukherjee, Amrish Kapoor 1 Join the Mailing List! Reminders Make sure you can log into the CADE machines
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 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 informationChapter 9: Virtual Memory. Operating System Concepts 9th Edition
Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations
More informationCS 550 Operating Systems Spring Interrupt
CS 550 Operating Systems Spring 2019 Interrupt 1 Revisit -- Process MAX Stack Function Call Arguments, Return Address, Return Values Kernel data segment Kernel text segment Stack fork() exec() Heap Data
More informationModeling Page Replacement: Stack Algorithms. Design Issues for Paging Systems
Modeling Page Replacement: Stack Algorithms 7 4 6 5 State of memory array, M, after each item in reference string is processed CS450/550 Memory.45 Design Issues for Paging Systems Local page replacement
More informationIntel P6 (Bob Colwell s Chip, CMU Alumni) The course that gives CMU its Zip! Memory System Case Studies November 7, 2007.
class.ppt 15-213 The course that gives CMU its Zip! ory System Case Studies November 7, 07 Topics P6 address translation x86-64 extensions Linux memory management Linux fault handling ory mapping Intel
More informationAddress spaces and memory management
Address spaces and memory management Review of processes Process = one or more threads in an address space Thread = stream of executing instructions Address space = memory space used by threads Address
More informationMemory management. Johan Montelius KTH
Memory management Johan Montelius KTH 2017 1 / 22 C program # include int global = 42; int main ( int argc, char * argv []) { if( argc < 2) return -1; int n = atoi ( argv [1]); int on_stack
More informationChapter 10: Virtual Memory
Chapter 10: Virtual Memory Chapter 10: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations
More information2018/10/29 22:25 1/5 Linux Processes vs NuttX Tasks
2018/10/29 22:25 1/5 Linux Processes vs NuttX Tasks Linux Processes vs NuttX Tasks You may be used to running programs that are stored in files on Linux or Windows. If you transition to using NuttX tasks
More informationFile Systems: Consistency Issues
File Systems: Consistency Issues File systems maintain many data structures Free list/bit vector Directories File headers and inode structures res Data blocks File Systems: Consistency Issues All data
More informationOpal. Robert Grimm New York University
Opal Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? The Three Questions What is the problem? Applications
More informationvirtual memory Page 1 CSE 361S Disk Disk
CSE 36S Motivations for Use DRAM a for the Address space of a process can exceed physical memory size Sum of address spaces of multiple processes can exceed physical memory Simplify Management 2 Multiple
More informationPROCESS MANAGEMENT. Operating Systems 2015 Spring by Euiseong Seo
PROCESS MANAGEMENT Operating Systems 2015 Spring by Euiseong Seo Today s Topics Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication
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 informationOperating System Concepts 9 th Edition
Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating
More informationCSE 560 Computer Systems Architecture
This Unit: CSE 560 Computer Systems Architecture App App App System software Mem I/O The operating system () A super-application Hardware support for an Page tables and address translation s and hierarchy
More informationCS 550 Operating Systems Spring File System
1 CS 550 Operating Systems Spring 2018 File System 2 OS Abstractions Process: virtualization of CPU Address space: virtualization of memory The above to allow a program to run as if it is in its own private,
More informationCS 153 Design of Operating Systems Winter 2016
CS 153 Design of Operating Systems Winter 2016 Lecture 17: Paging Lecture Overview Recap: Today: Goal of virtual memory management: map 2^32 byte address space to physical memory Internal fragmentation
More informationChapter 11: Implementing File Systems. Operating System Concepts 8 th Edition,
Chapter 11: Implementing File Systems, Silberschatz, Galvin and Gagne 2009 Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory Implementation Allocation Methods
More informationOPERATING SYSTEM. Chapter 4: Threads
OPERATING SYSTEM Chapter 4: Threads Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples Objectives To
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 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 informationLecture 13: Address Translation
CS 422/522 Design & Implementation of Operating Systems Lecture 13: Translation Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken from previous versions of the
More informationChapter 10 User Datagram Protocol (UDP)
CSC521 Communication Protocols 網路通訊協定 Chapter 10 User Datagram Protocol (UDP) 吳俊興國立高雄大學資訊工程學系 Internetworking With TCP/IP, Vol I: Sixth Edition, Douglas E. Comer Outline 1 Introduction 2 Using A Protocol
More informationOutline. V Computer Systems Organization II (Honors) (Introductory Operating Systems) Advantages of Multi-level Page Tables
Outline V22.0202-001 Computer Systems Organization II (Honors) (Introductory Operating Systems) Lecture 15 Memory Management (cont d) Virtual Memory March 30, 2005 Announcements Lab 4 due next Monday (April
More informationLearning Outcomes. An understanding of page-based virtual memory in depth. Including the R3000 s support for virtual memory.
Virtual Memory 1 Learning Outcomes An understanding of page-based virtual memory in depth. Including the R3000 s support for virtual memory. 2 Memory Management Unit (or TLB) The position and function
More informationPhysical memory vs. Logical memory Process address space Addresses assignment to processes Operating system tasks Hardware support CONCEPTS 3.
T3-Memory Index Memory management concepts Basic Services Program loading in memory Dynamic memory HW support To memory assignment To address translation Services to optimize physical memory usage COW
More informationADVANCED OPERATING SYSTEMS
ADVANCED OPERATING SYSTEMS UNIT 2 FILE AND DIRECTORY I/O BY MR.PRASAD SAWANT Prof.Prasad Sawant,Assitiant Professor,Dept. Of CS PCCCS Chichwad Prof.Prasad Sawant,Assitiant Professor,Dept. Of CS PCCCS Chichwad
More informationVirtual Memory Oct. 29, 2002
5-23 The course that gives CMU its Zip! Virtual Memory Oct. 29, 22 Topics Motivations for VM Address translation Accelerating translation with TLBs class9.ppt Motivations for Virtual Memory Use Physical
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 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 informationLearning Outcomes. An understanding of page-based virtual memory in depth. Including the R3000 s support for virtual memory.
Virtual Memory Learning Outcomes An understanding of page-based virtual memory in depth. Including the R000 s support for virtual memory. Memory Management Unit (or TLB) The position and function of the
More informationmemory management Vaibhav Bajpai
memory management Vaibhav Bajpai OS 2013 motivation virtualize resources: multiplex CPU multiplex memory (CPU scheduling) (memory management) why manage memory? controlled overlap processes should NOT
More informationLecture 19: Virtual Memory: Concepts
CSCI-UA.2-3 Computer Systems Organization Lecture 9: Virtual Memory: Concepts Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Some slides adapted (and slightly modified) from: Clark Barrett
More information