Memory Management Duties. Overview of Presentation. (User View: code segments) User View: address space
|
|
- Ashley Montgomery
- 7 years ago
- Views:
Transcription
1 Overview of Presentation responsibilities of a memory manager user view of memory management memory management strategies, algorithms fixed partitions, variable partitions algorithms, fragmentation, coalescing swapping and the relocation problem material adequately covered by the text dynamic address relocation, swapping memory management 3/5/03-1 Memory Management Duties allocate/assign memory to processes explicit requests: malloc implicit: program loading, stack extension map in and out of process address space when allocated, with each context switch manage migration to/from 2 nd ary storage optimize use of main storage minimize overhead (waste, migrations) memory management 3/5/03-2 User View: address space Code segment Data segment Hole Stack segment 0x xFFFFFFFF DLL DLL DLL ALL of these segments appear to be present whenever process runs memory management 3/5/03-3 (User View: code segments) program code allocated when program loaded initialized with contents of load module Dynamically Loadable Libraries automatically mapped in whenever needed somehow shared by multiple processes all are read-only and fixed size memory management 3/5/03-4
2 (User View: data segments) initialized data allocated when program loaded initialized from load module expansion/contraction of data segment requested via system calls (e.g. sbrk) only added/truncated part is affected process stack allocated and grown automatically memory management 3/5/03-5 Implementing: code segments program loader ask for memory (size and virtual location) copy code from load module into memory run-time loader request DLL be mapped (location and size) edit linkage pointers from program to DLL memory manager allocates memory, maps into process memory management 3/5/03-6 Implementing: data segments program loader ask for memory (location and size) copy data from load module into memory zero the BSS memory manager invoked for allocations and stack extensions allocates and deallocates memory adjusts process address space accordingly memory management 3/5/03-7 Memory Allocation Strategies fixed partitions pre-allocate partitions for N processes each process assigned to one partition variable allocation one massive "heap" of memory divided among processes based on their needs paged allocation... and in that moment he became enlightened memory management 3/5/03-8
3 Fixed Partition Memory Allocation very easy to implement common in old batch processing systems well suited to well-known job mix presumes largest possible process size must reconfigure system for larger processes likely to use memory inefficiently large internal fragmentation losses swapping results in convoys on partitions memory management 3/5/03-9 Internal Fragmentation partition 1 8mb waste 2mb proc 1 6mb partition 2 4mb waste 1mb proc 2 3mb partition 3 4mb waste 3mb proc 3 1mb total waste = = 6/16Mb = 37% memory management 3/5/03-10 (Internal Fragmentation) wasted space in fixed sized blocks caused by a mis-match between the chosen sizes of a fixed-sized blocks the actual sizes that programs request average waste: 50% of each block overall waste reduced by multiple sizes Frequency of allocation requests frequency suppose blocks come in sizes S 1 and S 2 average waste = ((S 1 /2) + (S 2 - S 1 )/2)/2 memory management 3/5/ size of request memory management 3/5/03-12
4 (distribution of allocation requests) fixed partition allocation revisited internal fragmentation in fixed partition allocation resulted from random requests but are memory allocations really random? if we know what the popular sizes are create/reserve special pools of fixed size buffers satisfy matching requests from those pools there are peaks in the frequency v.s. size curve, some sizes are used and reused very often many services use fixed size transient buffers benefit: improved efficiency much simpler than variable partition allocation reduces external fragmentation of heap OS: terminal I/O, network packets, disk blocks,... but... we must know how much to reserve applications: messages, request descriptors,... too little -> contention, too much -> wasted space memory management 3/5/03-13 memory management 3/5/03-14 fixed partition bit-map free list Variable Memory Allocation free partition bit map (one bit per partition) start with one large "heap" of memory when a process requests more memory find a large enough chunk of memory carve off a piece of the requested size partn 1 in use partn 2 free partn 3 free partn 4 in use actual memory partitions partn 5 in use a bit-map is a very simple and compact way to keep track of which partitions are free and in use memory management 3/5/03-15 put the remainder back on the free list when a process frees memory put it back on the free list eliminates internal fragmentation losses memory management 3/5/03-16
5 External Fragmentation P 0 P 0 P 0 P 5 P 1 P 3 P 3 P 3 P 2 P 2 P 2 P 2 P 4 P 4 memory management 3/5/03-17 (External/Global Fragmentation) each allocation creates left-overs over time they become smaller and smaller the small left-over fragments are useless they are too small to satisfy any request a second form of fragmentation waste solutions: try not to create tiny fragments try to recombine fragments into big chunks memory management 3/5/03-18 head variable partition free list free free free Each chunk begins with a header: size of chunk, pointer to next chunk, other optional diagnostic information List might contain only free chunks, or all chunks memory management 3/5/03-19 (Free lists: keeping track of it all) fixed sized blocks are easy to track a bit map indicating which blocks are free variable allocation requires more information a linked list of descriptors, one per chunk each lists size of chunk, whether it is free each has pointer to next chunk on list descriptors often at front of each chunk allocated memory often has descriptors too memory management 3/5/03-20
6 Which chunk: best fit Which chunk: worst fit search for the "best fit" chunk search for the "worst fit" chunk smallest size greater/equal to requested size largest size greater/equal to requested size advantages: advantages: might find a perfect fit tends to create very large fragments disadvantages: disadvantages: have to search entire list every time still have to search entire list every time quickly creates very small fragments memory management 3/5/03-21 memory management 3/5/03-22 Which chunk: first fit take first chunk that is big enough advantages: very short searches creates random sized fragments disadvantages: the first chunks quickly fragment searches become longer ultimately it fragments as badly as best fit memory management 3/5/03-23 head Which chunk: next fit guess free free free after search, leave guess pointing to next free chunk next search starts where previous search left off when guess reaches end of list, wrap back to start memory management 3/5/03-24
7 (next-fit... guess pointers) Coalescing de-fragmentation the best of both worlds all VP algorithms have external fragmentation short searches (maybe shorter than first fit) some do it faster, some spread them out spreads out fragmentation (like worst fit) we need a way to reassemble fragments guess pointers are a general technique check neighbors when ever a chunk is freed think of them as a lazy (non-coherent) cache recombine free neighbors whenever possible if they are right, they save a lot of time free list can be designed to make this easier if they are wrong, the algorithm still works e.g. where are the neighbors of this chunk? they can be used in a wide range of problems this counters forces of external fragmentation memory management 3/5/03-25 memory management 3/5/03-26 Free list must support coalescing Coalescing vs. Fragmentation coalescing happens at free time opposing processes operate in parallel when freeing a region, check its neighbors if either neighbor is free, recombine them which of the two processes will dominate? what fraction of space is typically allocated? it must be easy to find both adjacent regions coalescing works better with more free space e.g. doubly linked list of region descriptors how fast is allocated memory turned over? other coupling between neighbors chunks held for long time cannot be coalesced (e.g. buddy system, where all regions are paired) how variable are requested chunk sizes? high variability increases fragmentation rate memory management 3/5/03-27 memory management 3/5/03-28
8 fixed vs. variable partitions memory allocation within a process fixed partition allocation use OS allocation to get memory for process internal fragmentation is inevitable e.g. sbrk system call to extend data segment multiple sizes may greatly reduce the problem variable partition allocation UNIX malloc (user mode memory allocation) variable partition, first fit-allocation more complex free lists, possible long searches go back to OS to get more if heap is empty external fragmentation evolves over time coalescing can counteract the fragmentation UNIX mfree (return memory when done) return memory to free list w/neighbor coalescing at a cost of more complexity and longer operations memory management 3/5/03-30 memory management 3/5/03-29 Diagnostic Free lists garbage collection common mistakes made w/dynamic memory memory leaks (allocate it and never free it) programmers often forget to free memory garbage collection is an alternative to freeing overruns (use more memory than you allocated) applications allocate objects, but never free them clobbers (keep on using it after you free it) free list can help to catch these problems when we run out, start garbage collection search data space finding every object pointer all chunks in list (whether allocated or free) note address/size of all accessible objects record of who last allocated each chunk compute the compliment (what is inaccessible) guard zones at beginning and end of chunks add all inaccessible memory to the free list memory management 3/5/03-31 memory management 3/5/03-32
9 enabling garbage collection What to do when coalescing loses how to find all accessible data? garbage collection is just another way to free in the general case, this is impossible ongoing activity can always starve coalescing object oriented languages often enable this chunks reallocated before they can be combined all object references are tagged we could stop accepting new allocations all object descriptors include size information convoy on memory manager destroys throughput it is often possible for system resources we need a way to rearrange active memory where all possible references are known (e.g. do any processes still owned by this user) re-pack all processes in one end of memory create one big chunk of free space at other end memory management 3/5/03-33 memory management 3/5/03-34 Memory Compaction Reasons to Relocate a Process to compact fragmented free space P 5 when a process increases its data space size P 3 swap device P 5 P 4 for example, the UNIX sbrk system call migration to and from 2 nd ary storage P 2 P 3 primary memory needed for runnable processes P 4 P 2 swap blocked processes to 2 nd ary storage memory before compaction memory after compaction memory management 3/5/03-35 swap them back-in when they become runnable the original memory may no longer be available? memory management 3/5/03-36
10 The Relocation Problem... how to move a process from memory region where it was initially loaded into a new and different region of memory all addresses in the program will be wrong references in the code segment calls and branches to other parts of the code references to variables in the data segment plus new pointers in data and stack segments memory management 3/5/03-37 The Relocation Problem... it is not feasible to re-relocate a process maybe we could re-relocate references to code if we kept the relocation information around but how can we relocate references to data pointer values may have been changed new pointers may have been created we could never find/fix all address references like the general case of garbage collection can we make processes location independent? memory management 3/5/03-38 Virtual Address Translation physical address space addresses on CPU/memory bus NNNN memory management unit virtual address space addresses seen by processes MMMM memory management 3/5/03-39 Segment Relocation computer has special relocation registers they are called segment base registers used in IBM/360, still used in Intel Pentium point to start of code, data, stack in memory code and data references are relative to these OS initializes base registers when loading program if process must be moved to a new location reset base registers to point to start of new region all code/data references are automatically relocated memory management 3/5/03-40
11 Segment Relocation base registers memory code base code data base stack base data stack physical = virtual + base Paged Memory Management divide physical memory into fixed-size pages typically 1,024, 4,096 or 8,192 bytes long divide virtual memory into same sized pages paging Memory Management Unit maps virtual page #s into physical page #s more flexible than base register relocation consecutive virtual pages need not map to consecutive physical pages memory management 3/5/03-41 memory management 3/5/03-42 Paging Address Translation Paging and Fragmentation virtual pages physical pages A code or data segment is made up of multple pages memory management unit vpage = virtual/pagesize; offset = virtual%pagesize; ppage = map(vpage); physical = (ppage * pagesize) + offset; memory management 3/5/03-43 Internal fragmentation is limited to the unused portion of the last page of the segment. If a page is 4K, the average waste is 2K. If the average segment is 200K, the expected loss due to internal fragmentation is 1%. External fragmentation is non-existent because we only allocate whole pages, we don't carve them up. memory management 3/5/03-44
12 (Paging solves many problems) internal fragmentation average of ½ page per address space segment but there are many pages per segment e.g. a 200K segment and a 4K page yields 1% loss external fragmentation non-existent: pages are never carved up finding enough contiguous memory contiguous physical memory is not required mapping can make any pages appear contiguous memory management 3/5/03-45 For the next lecture read chapter 12 there will be a quiz on this material topics for next lecture paging virtual address translation page faults and demand paging replacement algorithms and working sets segmentation and shared memory user and kernel address spaces memory management 3/5/03-46 key points key points memory manager responsibilities allocation, map-in, map-out, migration fixed partitions, internal fragmentation estimating and mitigating fragmentation variable partition, external fragmentation algorithms, performance, free-lists, coalescing special pools of fixed size buffers garbage collection what it is, why it is done, how it is done the relocation problem what it is, why it is hard how virtual address spaces solve it segment relocation, paged relocation advantages of paged allocation memory management 3/5/03-47 memory management 3/5/03-48
Memory Allocation. Static Allocation. Dynamic Allocation. Memory Management. Dynamic Allocation. Dynamic Storage Allocation
Dynamic Storage Allocation CS 44 Operating Systems Fall 5 Presented By Vibha Prasad Memory Allocation Static Allocation (fixed in size) Sometimes we create data structures that are fixed and don t need
More informationOPERATING SYSTEM - MEMORY MANAGEMENT
OPERATING SYSTEM - MEMORY MANAGEMENT http://www.tutorialspoint.com/operating_system/os_memory_management.htm Copyright tutorialspoint.com Memory management is the functionality of an operating system which
More informationChapter 7 Memory Management
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 7 Memory Management Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall Memory Management Subdividing
More informationLecture 10: Dynamic Memory Allocation 1: Into the jaws of malloc()
CS61: Systems Programming and Machine Organization Harvard University, Fall 2009 Lecture 10: Dynamic Memory Allocation 1: Into the jaws of malloc() Prof. Matt Welsh October 6, 2009 Topics for today Dynamic
More informationChapter 7 Memory Management
Operating Systems: Internals and Design Principles Chapter 7 Memory Management Eighth Edition William Stallings Frame Page Segment A fixed-length block of main memory. A fixed-length block of data that
More informationMemory management basics (1) Requirements (1) Objectives. Operating Systems Part of E1.9 - Principles of Computers and Software Engineering
Memory management basics (1) Requirements (1) Operating Systems Part of E1.9 - Principles of Computers and Software Engineering Lecture 7: Memory Management I Memory management intends to satisfy the following
More informationOperating Systems, 6 th ed. Test Bank Chapter 7
True / False Questions: Chapter 7 Memory Management 1. T / F In a multiprogramming system, main memory is divided into multiple sections: one for the operating system (resident monitor, kernel) and one
More informationMemory Management Outline. Background Swapping Contiguous Memory Allocation Paging Segmentation Segmented Paging
Memory Management Outline Background Swapping Contiguous Memory Allocation Paging Segmentation Segmented Paging 1 Background Memory is a large array of bytes memory and registers are only storage CPU can
More informationCS5460: Operating Systems
CS5460: Operating Systems Lecture 13: Memory Management (Chapter 8) Where are we? Basic OS structure, HW/SW interface, interrupts, scheduling Concurrency Memory management Storage management Other topics
More informationSegmentation and Fragmentation
Segmentation and Fragmentation Operating System Design MOSIG 1 Instructor: Arnaud Legrand Class Assistants: Benjamin Negrevergne, Sascha Hunold September 16, 2010 A. Legrand Segmentation and Fragmentation
More informationThe Linux Virtual Filesystem
Lecture Overview Linux filesystem Linux virtual filesystem (VFS) overview Common file model Superblock, inode, file, dentry Object-oriented Ext2 filesystem Disk data structures Superblock, block group,
More information361 Computer Architecture Lecture 14: Cache Memory
1 361 Computer Architecture Lecture 14 Memory cache.1 The Motivation for s Memory System Processor DRAM Motivation Large memories (DRAM) are slow Small memories (SRAM) are fast Make the average access
More informationSystem Software Prof. Dr. H. Mössenböck
System Software Prof. Dr. H. Mössenböck 1. Memory Management 2. Garbage Collection 3. Linkers and Loaders 4. Debuggers 5. Text Editors Marks obtained by end-term exam http://ssw.jku.at/misc/ssw/ 1. Memory
More informationCOS 318: Operating Systems. Virtual Memory and Address Translation
COS 318: Operating Systems Virtual Memory and Address Translation Today s Topics Midterm Results Virtual Memory Virtualization Protection Address Translation Base and bound Segmentation Paging Translation
More informationVirtual vs Physical Addresses
Virtual vs Physical Addresses Physical addresses refer to hardware addresses of physical memory. Virtual addresses refer to the virtual store viewed by the process. virtual addresses might be the same
More informationComputer Architecture
Computer Architecture Slide Sets WS 2013/2014 Prof. Dr. Uwe Brinkschulte M.Sc. Benjamin Betting Part 11 Memory Management Computer Architecture Part 11 page 1 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin
More informationMemory unit sees only the addresses, and not how they are generated (instruction counter, indexing, direct)
Memory Management 55 Memory Management Multitasking without memory management is like having a party in a closet. Charles Petzold. Programming Windows 3.1 Programs expand to fill the memory that holds
More information& Data Processing 2. Exercise 3: Memory Management. Dipl.-Ing. Bogdan Marin. Universität Duisburg-Essen
Folie a: Name & Data Processing 2 3: Memory Management Dipl.-Ing. Bogdan Marin Fakultät für Ingenieurwissenschaften Abteilung Elektro-und Informationstechnik -Technische Informatik- Objectives Memory Management
More informationOPERATING SYSTEMS MEMORY MANAGEMENT
OPERATING SYSTEMS MEMORY MANAGEMENT Jerry Breecher 8: Memory Management 1 OPERATING SYSTEM Memory Management What Is In This Chapter? Just as processes share the CPU, they also share physical memory. This
More informationPART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General
More informationIntroduction Disks RAID Tertiary storage. Mass Storage. CMSC 412, University of Maryland. Guest lecturer: David Hovemeyer.
Guest lecturer: David Hovemeyer November 15, 2004 The memory hierarchy Red = Level Access time Capacity Features Registers nanoseconds 100s of bytes fixed Cache nanoseconds 1-2 MB fixed RAM nanoseconds
More informationFile Systems Management and Examples
File Systems Management and Examples Today! Efficiency, performance, recovery! Examples Next! Distributed systems Disk space management! Once decided to store a file as sequence of blocks What s the size
More informationFile-System Implementation
File-System Implementation 11 CHAPTER In this chapter we discuss various methods for storing information on secondary storage. The basic issues are device directory, free space management, and space allocation
More informationCOS 318: Operating Systems. I/O Device and Drivers. Input and Output. Definitions and General Method. Revisit Hardware
COS 318: Operating Systems I/O and Drivers Input and Output A computer s job is to process data Computation (, cache, and memory) Move data into and out of a system (between I/O devices and memory) Challenges
More informationCOS 318: Operating Systems
COS 318: Operating Systems File Performance and Reliability Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Topics File buffer cache
More informationW4118: segmentation and paging. Instructor: Junfeng Yang
W4118: segmentation and paging Instructor: Junfeng Yang Outline Memory management goals Segmentation Paging TLB 1 Uni- v.s. multi-programming Simple uniprogramming with a single segment per process Uniprogramming
More informationGarbage Collection in the Java HotSpot Virtual Machine
http://www.devx.com Printed from http://www.devx.com/java/article/21977/1954 Garbage Collection in the Java HotSpot Virtual Machine Gain a better understanding of how garbage collection in the Java HotSpot
More informationMemory Management 1. Memory Management. Multitasking without memory management is like having a party in a closet.
Memory Management 1 Memory Management Multitasking without memory management is like having a party in a closet. Charles Petzold. Programming Windows 3.1 Programs expand to fill the memory that holds them.
More informationSegmentation. 16.1 Segmentation: Generalized Base/Bounds
16 Segmentation So far we have been putting the entire address space of each process in memory. With the base and bounds registers, the OS can easily relocate processes to different parts of physical memory.
More informationLinux Process Scheduling Policy
Lecture Overview Introduction to Linux process scheduling Policy versus algorithm Linux overall process scheduling objectives Timesharing Dynamic priority Favor I/O-bound process Linux scheduling algorithm
More informationPage 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems
Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how
More informationCS 61C: Great Ideas in Computer Architecture Virtual Memory Cont.
CS 61C: Great Ideas in Computer Architecture Virtual Memory Cont. Instructors: Vladimir Stojanovic & Nicholas Weaver http://inst.eecs.berkeley.edu/~cs61c/ 1 Bare 5-Stage Pipeline Physical Address PC Inst.
More informationTechnical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.
Overview Concepts of Mobile Operating Systems Lecture 11 Concepts of Mobile Operating Systems Mobile Business I (WS 2007/08) Prof Dr Kai Rannenberg Chair of Mobile Business and Multilateral Security Johann
More informationIntel P6 Systemprogrammering 2007 Föreläsning 5 P6/Linux Memory System
Intel P6 Systemprogrammering 07 Föreläsning 5 P6/Linux ory System Topics P6 address translation Linux memory management Linux page fault handling memory mapping Internal Designation for Successor to Pentium
More informationRecord Storage and Primary File Organization
Record Storage and Primary File Organization 1 C H A P T E R 4 Contents Introduction Secondary Storage Devices Buffering of Blocks Placing File Records on Disk Operations on Files Files of Unordered Records
More informationLecture 17: Virtual Memory II. Goals of virtual memory
Lecture 17: Virtual Memory II Last Lecture: Introduction to virtual memory Today Review and continue virtual memory discussion Lecture 17 1 Goals of virtual memory Make it appear as if each process has:
More informationTwo Parts. Filesystem Interface. Filesystem design. Interface the user sees. Implementing the interface
File Management Two Parts Filesystem Interface Interface the user sees Organization of the files as seen by the user Operations defined on files Properties that can be read/modified Filesystem design Implementing
More information1 File Management. 1.1 Naming. COMP 242 Class Notes Section 6: File Management
COMP 242 Class Notes Section 6: File Management 1 File Management We shall now examine how an operating system provides file management. We shall define a file to be a collection of permanent data with
More informationMemory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual Machine Sun Microsystems April 2006 2 Table of Contents Table of Contents 1 Introduction.....................................................................
More informationUnderstanding Java Garbage Collection
TECHNOLOGY WHITE PAPER Understanding Java Garbage Collection And What You Can Do About It Table of Contents Executive Summary... 3 Introduction.... 4 Why Care About the Java Garbage Collector?.... 5 Classifying
More informationVirtual Memory Behavior in Red Hat Linux Advanced Server 2.1
Virtual Memory Behavior in Red Hat Linux Advanced Server 2.1 Bob Matthews Red Hat, Inc. Kernel Development Team Norm Murray Red Hat, Inc. Client Engineering Team This is an explanation of the virtual memory
More informationScheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum
Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods
More informationOperating Systems. Virtual Memory
Operating Systems Virtual Memory Virtual Memory Topics. Memory Hierarchy. Why Virtual Memory. Virtual Memory Issues. Virtual Memory Solutions. Locality of Reference. Virtual Memory with Segmentation. Page
More informationFile System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System
CS341: Operating System Lect 36: 1 st Nov 2014 Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati File System & Device Drive Mass Storage Disk Structure Disk Arm Scheduling RAID
More informationJava's garbage-collected heap
Sponsored by: This story appeared on JavaWorld at http://www.javaworld.com/javaworld/jw-08-1996/jw-08-gc.html Java's garbage-collected heap An introduction to the garbage-collected heap of the Java
More informationCS 464/564 Introduction to Database Management System Instructor: Abdullah Mueen
CS 464/564 Introduction to Database Management System Instructor: Abdullah Mueen LECTURE 14: DATA STORAGE AND REPRESENTATION Data Storage Memory Hierarchy Disks Fields, Records, Blocks Variable-length
More informationCOS 318: Operating Systems. File Layout and Directories. Topics. File System Components. Steps to Open A File
Topics COS 318: Operating Systems File Layout and Directories File system structure Disk allocation and i-nodes Directory and link implementations Physical layout for performance 2 File System Components
More informationChapter 12 File Management
Operating Systems: Internals and Design Principles Chapter 12 File Management Eighth Edition By William Stallings Files Data collections created by users The File System is one of the most important parts
More informationTopics in Computer System Performance and Reliability: Storage Systems!
CSC 2233: Topics in Computer System Performance and Reliability: Storage Systems! Note: some of the slides in today s lecture are borrowed from a course taught by Greg Ganger and Garth Gibson at Carnegie
More informationNode-Based Structures Linked Lists: Implementation
Linked Lists: Implementation CS 311 Data Structures and Algorithms Lecture Slides Monday, March 30, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks CHAPPELLG@member.ams.org
More informationPERFORMANCE TIPS FOR BATCH JOBS
PERFORMANCE TIPS FOR BATCH JOBS Here is a list of effective ways to improve performance of batch jobs. This is probably the most common performance lapse I see. The point is to avoid looping through millions
More informationPractical Performance Understanding the Performance of Your Application
Neil Masson IBM Java Service Technical Lead 25 th September 2012 Practical Performance Understanding the Performance of Your Application 1 WebSphere User Group: Practical Performance Understand the Performance
More informationVirtual Memory Paging
COS 318: Operating Systems Virtual Memory Paging Kai Li Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Today s Topics Paging mechanism Page replacement algorithms
More information1 The Java Virtual Machine
1 The Java Virtual Machine About the Spec Format This document describes the Java virtual machine and the instruction set. In this introduction, each component of the machine is briefly described. This
More informationCS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
More informationMemory management. Chapter 4: Memory Management. Memory hierarchy. In an ideal world. Basic memory management. Fixed partitions: multiple programs
Memory management Chater : Memory Management Part : Mechanisms for Managing Memory asic management Swaing Virtual Page relacement algorithms Modeling age relacement algorithms Design issues for aging systems
More informationOutline: Operating Systems
Outline: Operating Systems What is an OS OS Functions Multitasking Virtual Memory File Systems Window systems PC Operating System Wars: Windows vs. Linux 1 Operating System provides a way to boot (start)
More informationPart III Storage Management. Chapter 11: File System Implementation
Part III Storage Management Chapter 11: File System Implementation 1 Layered File System 2 Overview: 1/4 A file system has on-disk and in-memory information. A disk may contain the following for implementing
More informationStorage in Database Systems. CMPSCI 445 Fall 2010
Storage in Database Systems CMPSCI 445 Fall 2010 1 Storage Topics Architecture and Overview Disks Buffer management Files of records 2 DBMS Architecture Query Parser Query Rewriter Query Optimizer Query
More informationW4118 Operating Systems. Instructor: Junfeng Yang
W4118 Operating Systems Instructor: Junfeng Yang Outline x86 segmentation and paging hardware Linux address space translation Copy-on-write Linux page replacement algorithm Linux dynamic memory allocation
More informationSecondary Storage. Any modern computer system will incorporate (at least) two levels of storage: magnetic disk/optical devices/tape systems
1 Any modern computer system will incorporate (at least) two levels of storage: primary storage: typical capacity cost per MB $3. typical access time burst transfer rate?? secondary storage: typical capacity
More information(Refer Slide Time: 02:17)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #06 IP Subnetting and Addressing (Not audible: (00:46)) Now,
More informationChapter 5 Cloud Resource Virtualization
Chapter 5 Cloud Resource Virtualization Contents Virtualization. Layering and virtualization. Virtual machine monitor. Virtual machine. Performance and security isolation. Architectural support for virtualization.
More informationChapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
More information- An Essential Building Block for Stable and Reliable Compute Clusters
Ferdinand Geier ParTec Cluster Competence Center GmbH, V. 1.4, March 2005 Cluster Middleware - An Essential Building Block for Stable and Reliable Compute Clusters Contents: Compute Clusters a Real Alternative
More informationHP Service Manager Shared Memory Guide
HP Service Manager Shared Memory Guide Shared Memory Configuration, Functionality, and Scalability Document Release Date: December 2014 Software Release Date: December 2014 Introduction to Shared Memory...
More informationAPP INVENTOR. Test Review
APP INVENTOR Test Review Main Concepts App Inventor Lists Creating Random Numbers Variables Searching and Sorting Data Linear Search Binary Search Selection Sort Quick Sort Abstraction Modulus Division
More informationChapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
More informationOverlapping Data Transfer With Application Execution on Clusters
Overlapping Data Transfer With Application Execution on Clusters Karen L. Reid and Michael Stumm reid@cs.toronto.edu stumm@eecg.toronto.edu Department of Computer Science Department of Electrical and Computer
More informationOperating System Overview. Otto J. Anshus
Operating System Overview Otto J. Anshus A Typical Computer CPU... CPU Memory Chipset I/O bus ROM Keyboard Network A Typical Computer System CPU. CPU Memory Application(s) Operating System ROM OS Apps
More informationVirtual Memory. How is it possible for each process to have contiguous addresses and so many of them? A System Using Virtual Addressing
How is it possible for each process to have contiguous addresses and so many of them? Computer Systems Organization (Spring ) CSCI-UA, Section Instructor: Joanna Klukowska Teaching Assistants: Paige Connelly
More informationChapter 12 File Management
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Overview File organisation and Access
More informationThe Deadlock Problem. Deadlocks. Deadlocks. Bridge Crossing Example
The Deadlock Problem Deadlocks A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set. Example System has 2 tape drives. P 1 and P 2 each
More informationChapter 12 File Management. Roadmap
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Overview Roadmap File organisation and Access
More informationMemory Management CS 217. Two programs can t control all of memory simultaneously
Memory Management CS 217 Memory Management Problem 1: Two programs can t control all of memory simultaneously Problem 2: One program shouldn t be allowed to access/change the memory of another program
More informationI/O Device and Drivers
COS 318: Operating Systems I/O Device and Drivers Prof. Margaret Martonosi Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/ Announcements Project
More informationLinux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
More informationGeneral Purpose Operating System Support for Multiple Page Sizes
The following paper was originally published in the Proceedings of the USENIX Annual Technical Conference (NO 98) New Orleans, Louisiana, June 1998 General Purpose Operating System Support for Multiple
More informationELEC 377. Operating Systems. Week 1 Class 3
Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation
More informationEnery Efficient Dynamic Memory Bank and NV Swap Device Management
Enery Efficient Dynamic Memory Bank and NV Swap Device Management Kwangyoon Lee and Bumyong Choi Department of Computer Science and Engineering University of California, San Diego {kwl002,buchoi}@cs.ucsd.edu
More informationOperating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University
Operating Systems CSE 410, Spring 2004 File Management Stephen Wagner Michigan State University File Management File management system has traditionally been considered part of the operating system. Applications
More informationChapter 12. Paging an Virtual Memory Systems
Chapter 12 Paging an Virtual Memory Systems Paging & Virtual Memory Virtual Memory - giving the illusion of more physical memory than there really is (via demand paging) Pure Paging - The total program
More informationProcess Scheduling CS 241. February 24, 2012. Copyright University of Illinois CS 241 Staff
Process Scheduling CS 241 February 24, 2012 Copyright University of Illinois CS 241 Staff 1 Announcements Mid-semester feedback survey (linked off web page) MP4 due Friday (not Tuesday) Midterm Next Tuesday,
More informationCS 6290 I/O and Storage. Milos Prvulovic
CS 6290 I/O and Storage Milos Prvulovic Storage Systems I/O performance (bandwidth, latency) Bandwidth improving, but not as fast as CPU Latency improving very slowly Consequently, by Amdahl s Law: fraction
More informationObjectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
More informationHardware Assisted Virtualization
Hardware Assisted Virtualization G. Lettieri 21 Oct. 2015 1 Introduction In the hardware-assisted virtualization technique we try to execute the instructions of the target machine directly on the host
More information2) Write in detail the issues in the design of code generator.
COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage
More informationIntroduction to Virtual Machines
Introduction to Virtual Machines Introduction Abstraction and interfaces Virtualization Computer system architecture Process virtual machines System virtual machines 1 Abstraction Mechanism to manage complexity
More informationProcesses and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus 1 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have
More informationOPERATING SYSTEM - VIRTUAL MEMORY
OPERATING SYSTEM - VIRTUAL MEMORY http://www.tutorialspoint.com/operating_system/os_virtual_memory.htm Copyright tutorialspoint.com A computer can address more memory than the amount physically installed
More informationChapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization
More informationWhitepaper: performance of SqlBulkCopy
We SOLVE COMPLEX PROBLEMS of DATA MODELING and DEVELOP TOOLS and solutions to let business perform best through data analysis Whitepaper: performance of SqlBulkCopy This whitepaper provides an analysis
More informationCS161: Operating Systems
CS161: Operating Systems Matt Welsh mdw@eecs.harvard.edu Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different
More informationChapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
More informationThis Unit: Virtual Memory. CIS 501 Computer Architecture. Readings. A Computer System: Hardware
This Unit: Virtual CIS 501 Computer Architecture Unit 5: Virtual App App App System software Mem CPU I/O The operating system (OS) A super-application Hardware support for an OS Virtual memory Page tables
More informationMemory Usage Performance Guidelines
Memory Usage Performance Guidelines Contents Introduction 5 Organization of This Document 5 About the Virtual Memory System 6 About Virtual Memory 6 Details of the Virtual Memory System 7 Wired Memory
More informationThe World According to the OS. Operating System Support for Database Management. Today s talk. What we see. Banking DB Application
The World According to the OS Operating System Support for Database Management App1 App2 App3 notes from Stonebraker s paper that appeared in Computing Practices, 1981 Operating System Anastassia Ailamaki
More informationFAT32 vs. NTFS Jason Capriotti CS384, Section 1 Winter 1999-2000 Dr. Barnicki January 28, 2000
FAT32 vs. NTFS Jason Capriotti CS384, Section 1 Winter 1999-2000 Dr. Barnicki January 28, 2000 Table of Contents List of Figures... iv Introduction...1 The Physical Disk...1 File System Basics...3 File
More informationAn Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
More information