Virtual Memory. How is it possible for each process to have contiguous addresses and so many of them? A System Using Virtual Addressing
|
|
- Nathan Lambert
- 8 years ago
- Views:
Transcription
1 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 & Carlos Guzman Slides adapted from Andrew Case, Jinyang Li, Mohamed Zahran, Stewart Weiss, Randy Bryant and Dave O Hallaron Image source: A System Using ing A System Using ing Main : : address : () : : : : 7: 8: Chip () management unit address () Main : : : : : : : 7: 8: M-: M-: word Used in simple systems like embedded microcontrollers in devices like cars, elevators, and digital picture frames word Used in all modern servers, desktops, and laptops One of the great ideas in computer science Spaces Why (VM)? Linear address space: Ordered set of contiguous non-negative integer addresses: {,,, } space: Set of N = n virtual addresses {,,,,, N-} address space: Set of M = m physical addresses {,,,,, M-} Uses main efficiently Use DRAM as a cache for the parts of a virtual address space Simplifies management Each process gets the same uniform linear address space Clean distinction between data (bytes) and their attributes (addresses) Each object can now have multiple addresses Every byte in main : one physical address, one (or more) virtual addresses Isolates address spaces One process can t interfere with another s User program cannot access privileged kernel information
2 7 8 VM as a Tool for Caching DRAM Cache Organization is an array of N contiguous bytes stored on disk. The contents of the array on disk are cached in physical (DRAM cache) These cache blocks are called pages (size is P = p bytes) VP Unallocated VP Cached Uncached n-p - Unallocated Cached Uncached Cached Uncached N- pages (VPs) stored on disk M- Empty Empty Empty PP PP pages (PPs) cached in DRAM PP m-p - DRAM cache organization driven by the enormous miss penalty DRAM is about x slower than SRAM Disk is about,x slower than DRAM Consequences Large page (block) size: typically -8 KB, sometimes MB Fully associative Any VP can be placed in any PP Requires a large mapping function different from caches Highly sophisticated, expensive replacement algorithms Too complicated and open-ended to be implemented in hardware Write-back rather than write-through 9 Page Tables Page Hit A is an array of entries (s) that maps virtual pages to physical pages. Per-process kernel data structure in DRAM page disk address null null 7 VP VP PP PP Page hit: reference to VM word that is in physical (DRAM cache hit) page disk address null null 7 VP VP PP PP Page Fault Handling Page Fault Page fault: reference to VM word that is not in physical (DRAM cache miss) Page miss causes page fault page disk address null null 7 VP VP PP PP page disk address null null 7 VP VP PP PP
3 Handling Page Fault Handling Page Fault Page miss causes page fault Page fault handler selects a victim to be evicted (here ) Page miss causes page fault (an exception) Page fault handler selects a victim to be evicted (here ) page disk address null null 7 VP VP PP PP page disk address null null 7 VP VP PP PP Handling Page Fault Locality to the Rescue Again! Page miss causes page fault (an exception) Page fault handler selects a victim to be evicted (here ) Offending instruction is restarted: page hit! page disk address null null 7 VP VP PP PP works because of locality At any point in time, programs tend to access a set of active virtual pages called the working set Programs with better temporal locality will have smaller working sets If (working set size < main size) Good performance for one process after compulsory misses If ( SUM(working set sizes) > main size ) Thrashing: Performance meltdown where pages are swapped (copied) in and out continuously 7 8 VM as a Tool for Management VM as a Tool for Management Key idea: each process has its own virtual address space It can view as a simple linear array Mapping function scatters addresses through physical Well chosen mappings simplify allocation and management allocation Each virtual page can be mapped to any physical page A virtual page can be stored in different physical pages at different times Sharing code and data among processes Map virtual pages to the same physical page (here: ) Space for Process : VP translation PP Space Space for Process : VP translation PP Space Space for Process : N- VP PP 8 (e.g., read-only library code) Space for Process : N- VP PP 8 (e.g., read-only library code) N- M- N- M-
4 9 Simplifying Linking and Loading Linking Each program has similar virtual address space Code, stack, and shared libraries always start at the same address Loading execve() allocates virtual pages for.text and.data sections = creates s marked as invalid The.text and.data sections are copied, page by page, on demand by the system xc x x88 Kernel User stack (created at runtime) -mapped region for shared libraries Run-time heap (created by malloc) Read/write segment (.data,.bss) Read-only segment (.init,.text,.rodata) Unused invisible to user code %esp (stack pointer) brk Loaded from the executable file VM as a Tool for Protection Extend s with permission bits Page fault handler checks these before remapping If violated, send process SIGSEGV (segmentation fault) Process i: Process j: VP : VP : : VP : VP : : SUP SUP READ WRITE READ WRITE PP PP PP 9 PP Space PP PP PP 8 PP 9 PP VM Translation VM Translation Space V = {,,, N} Space P = {,,, M} Translation MAP: V P U { } For virtual address a: MAP(a) = a if data at virtual address a is at physical address a in P MAP(a) = if data at virtual address a is not in physical Either invalid or stored on disk Summary of Translation Symbols Translation With a Page Table Basic Parameters N = n : Number of addresses in virtual address space M = m : Number of addresses in physical address space P = p : Page size (bytes) Components of the virtual address () TLBI: TLB index TLBT: TLB tag : page offset : page number Components of the physical address () : page offset (same as ) : page number CO: Byte offset within cache line CI: Cache index CT: Cache tag Page table base register (PTBR) Page table address for process bit = : page not in (page fault) n- page number () Page table page number () m- page number () address p p p- page offset () p- page offset ()
5 Translation: Page Hit Translation: Page Fault Chip Cache/ Chip 7 Exception Cache/ Page fault handler Victim page New page Disk ) Processor sends virtual address to -) fetches from in ) sends physical address to cache/ ) Cache/ sends data word to processor : page tale entry address : entry : physical address : virtual address ) Processor sends virtual address to -) fetches from in ) bit is zero, so triggers page fault exception ) Handler identifies victim (and, if dirty, pages it out to disk) ) Handler pages in new page and updates in 7) Handler returns to original process, restarting faulting instruction 7 8 Integrating VM and Cache Speeding up Translation with a TLB Chip hit hit miss L cache miss Page table entries (s) are cached in L like any other word s may be evicted by other data references hit still requires a small L delay Solution: Translation Lookaside Buffer (TLB) Small hardware cache in Maps virtual page numbers to physical page numbers Contains complete entries for small number of pages : page tale entry address : entry : physical address : virtual address 9 TLB Hit Chip TLB : page tale entry address : entry : physical address : virtual address : virtual page number TLB Miss Chip TLB : page tale entry address : entry : physical address : virtual address : virtual page number Cache/ Cache/ A TLB hit eliminates a access A TLB miss incurs an additional access (the ) Fortunately, TLB misses are rare.
6 Multi-Level Page Tables A Two-Level Page Table Hierarchy Suppose: KB ( ) page size, 8-bit address space, 8-byte Level Tables Level Level s VP Problem: Would need a GB! 8 * - * = 9 bytes Level Table Common solution: Multi-level s Example: -level Level table: each points to a (always resident) Level table: each points to a page (paged in and out like any other data) (null) (null) (null) (null) (null) 7 (null) 8 (K - 9) null s null s bit addresses, KB pages, -byte s 7 Gap unallocated pages VP 9 K allocated VM pages for code and data K unallocated VM pages unallocated pages allocated VM page for the stack Why Two-level Page Table Reduces Requirement? Review of Symbols If a in the level table is null, then the corresponding level does not even have to exist. Only the level table needs to be in main at all times. The level s can be created and paged in and out by the VM system as they are needed. Basic Parameters N = n : Number of addresses in virtual address space M = m : Number of addresses in physical address space P = p : Page size (bytes) Components of the virtual address () TLBI: TLB index TLBT: TLB tag : page offset : page number Components of the physical address () : page offset (same as ) : page number CO: Byte offset within cache line CI: Cache index CT: Cache tag Simple System Example Simple System Page Table ing -bit virtual addresses -bit physical address Page size = bytes Only show first entries (out of ) A 7 9 B C Page Number Page Offset D E D 7 F D Page Number Page Offset
7 7 8 Simple System TLB entries -way associative TLBT TLBI Simple System Cache lines, -byte block size ly addressed Direct mapped CT CI CO Set 7 D 9 8 D D A 7 A Idx 7 9 B D B 99 B D 7 C B 8F F DF B 8 9 D Idx 8 9 A B C D E F D D B B A 9 8 B 9 77 B DA B B 89 B D 9 Translation Example # Translation Example # : xd : xb8f TLBT TLBI TLBT TLBI xf x x Y N xd TLBI TLBT TLB Hit? Page Fault? : xe xb N Y TBD TLBI TLBT TLB Hit? Page Fault? : CT CI CO CT CI CO x xd Y x CO CI CT Hit? Byte: CO CI CT Hit? Byte: Translation Example # : x TLBT TLBI Intel Core i7 System Processor package Core x Registers L d-cache KB, 8-way Instruction fetch L i-cache KB, 8-way L d-tlb entries, -way (addr translation) L i-tlb 8 entries, -way x x N N x8 TLBI TLBT TLB Hit? Page Fault? : CT CI CO L unified cache KB, 8-way L unified cache 8 MB, -way (shared by all cores) L unified TLB entries, -way QuickPath interconnect GB/s each DDR controller x GB/s GB/s total (shared by all cores) To other cores To I/O bridge x8 x8 N Mem CO CI CT Hit? Byte: Main 7
8 Review of Symbols Basic Parameters N = n : Number of addresses in virtual address space M = m : Number of addresses in physical address space P = p : Page size (bytes) Components of the virtual address () TLBI: TLB index TLBT: TLB tag : page offset : page number Components of the physical address () : page offset (same as ) : page number CO: Byte offset within cache line CI: Cache index CT: Cache tag CR End-to-end Core i7 Translation () TLBT TLBI TLB miss Page tables L TLB ( sets, entries/set) TLB hit / Result L hit address () L d-cache ( sets, 8 lines/set) L, L, and main L miss CT CI CO of a Linux Process Different for each process Identical for each process Process-specific data structs (ptables, task and mm structs, kernel stack) Kernel code and data Kernel virtual Linux Organizes VM as Collection of Areas task_struct mm mm_struct pgd mmap vm_area_struct Process Shared libraries %esp brk x88 () x () User stack mapped region for shared libraries Runtime heap (malloc) Uninitialized data (.bss) Initialized data (.data) Program text (.text) Process virtual pgd: Page global directory address Points to L : Read/write permissions for this area Pages shared with other processes or private to this process Text 7 8 Linux Page Fault Handling Mapping vm_area_struct Process shared libraries data text read read write Segmentation fault: accessing a non-existing page rmal page fault Protection exception: e.g., violating permission by writing to a read-only page (Linux reports as Segmentation fault) VM areas initialized by associating them with disk objects. Process is known as mapping. Area can be backed by (i.e., get its initial values from) : Regular file on disk (e.g., an executable object file) Initial page bytes come from a section of a file Anonymous file (e.g., nothing) First fault will allocate a physical page full of 's (demand-zero page) Once the page is written to (dirtied), it is like any other page Dirty pages are copied back and forth between and a special swap file. 8
9 9 Demand paging Sharing Revisited: Shared Objects Key point: no virtual pages are copied into physical until they are referenced! Known as demand paging Crucial for time and space efficiency Process Process Process maps the shared object. Shared object Sharing Revisited: Shared Objects Sharing Revisited: Private Copy-on-write (COW) Objects Process Shared object Process Process maps the shared object. tice how the virtual addresses can be different. Process Private copy-on-write object Process Private copy-on-write area Two processes mapping a private copy-onwrite (COW) object. Area flagged as private copy-onwrite s in private areas are flagged as read-only Sharing Revisited: Private Copy-on-write (COW) Objects Process Copy-on-write Private copy-on-write object Process Write to private copy-on-write page Instruction writing to private page triggers protection fault. Handler creates new R/W page. Instruction restarts upon handler return. Copying deferred as long as possible! 9
Intel 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 informationThe Quest for Speed - Memory. Cache Memory. A Solution: Memory Hierarchy. Memory Hierarchy
The Quest for Speed - Memory Cache Memory CSE 4, Spring 25 Computer Systems http://www.cs.washington.edu/4 If all memory accesses (IF/lw/sw) accessed main memory, programs would run 20 times slower And
More informationCarnegie Mellon Virtual Memory of a Linux Process Process-specific data structs (ptables, Different for
Outline CS 6V81-05: System Security and Malicious Code Analysis Understanding the Implementation of Virtual Memory 1 Zhiqiang Lin Department of Computer Science University of Texas at Dallas February 29
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 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 informationMemory ICS 233. Computer Architecture and Assembly Language Prof. Muhamed Mudawar
Memory ICS 233 Computer Architecture and Assembly Language Prof. Muhamed Mudawar College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals Presentation Outline Random
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 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 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 informationHow To Write To A Linux Memory Map On A Microsoft Zseries 2.2.2 (Amd64) On A Linux 2.3.2 2.4.2 3.5.2 4.5 (Amd32) (
Understanding Linux Memory Management SHARE 102 Session 9241 Dr. Ulrich Weigand Linux on zseries Development, IBM Lab Böblingen Ulrich.Weigand@de.ibm.com Linux Memory Management - A Mystery? What does
More informationVirtual Memory. Chapter 4
Chapter 4 Virtual Memory Linux processes execute in a virtual environment that makes it appear as if each process had the entire address space of the CPU available to itself. This virtual address space
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 informationPutting it all together: Intel Nehalem. http://www.realworldtech.com/page.cfm?articleid=rwt040208182719
Putting it all together: Intel Nehalem http://www.realworldtech.com/page.cfm?articleid=rwt040208182719 Intel Nehalem Review entire term by looking at most recent microprocessor from Intel Nehalem is code
More informationSlide Set 8. for ENCM 369 Winter 2015 Lecture Section 01. Steve Norman, PhD, PEng
Slide Set 8 for ENCM 369 Winter 2015 Lecture Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Winter Term, 2015 ENCM 369 W15 Section
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 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 informationComputer Organization and Architecture. Characteristics of Memory Systems. Chapter 4 Cache Memory. Location CPU Registers and control unit memory
Computer Organization and Architecture Chapter 4 Cache Memory Characteristics of Memory Systems Note: Appendix 4A will not be covered in class, but the material is interesting reading and may be used in
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 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 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 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 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 informationChapter 1 Computer System Overview
Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides
More informationVM Architecture. Jun-Chiao Wang, 15 Apr. 2002 NCTU CIS Operating System lab. 2002 Linux kernel trace seminar
VM Architecture Jun-Chiao Wang, 15 Apr. 2002 NCTU CIS Operating System lab. 2002 Linux kernel trace seminar Outline Introduction What is VM? Segmentation & Paging in Linux Memory Management Page Frame
More informationCS/COE1541: Introduction to Computer Architecture. Memory hierarchy. Sangyeun Cho. Computer Science Department University of Pittsburgh
CS/COE1541: Introduction to Computer Architecture Memory hierarchy Sangyeun Cho Computer Science Department CPU clock rate Apple II MOS 6502 (1975) 1~2MHz Original IBM PC (1981) Intel 8080 4.77MHz Intel
More informationThe Big Picture. Cache Memory CSE 675.02. Memory Hierarchy (1/3) Disk
The Big Picture Cache Memory CSE 5.2 Computer Processor Memory (active) (passive) Control (where ( brain ) programs, Datapath data live ( brawn ) when running) Devices Input Output Keyboard, Mouse Disk,
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 informationChapter 10: Virtual Memory. Lesson 03: Page tables and address translation process using page tables
Chapter 10: Virtual Memory Lesson 03: Page tables and address translation process using page tables Objective Understand page tables Learn the offset fields in the virtual and physical addresses Understand
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 informationVirtual Machines. COMP 3361: Operating Systems I Winter 2015 http://www.cs.du.edu/3361
s COMP 3361: Operating Systems I Winter 2015 http://www.cs.du.edu/3361 1 Virtualization! Create illusion of multiple machines on the same physical hardware! Single computer hosts multiple virtual machines
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 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 informationWe r e going to play Final (exam) Jeopardy! "Answers:" "Questions:" - 1 -
. (0 pts) We re going to play Final (exam) Jeopardy! Associate the following answers with the appropriate question. (You are given the "answers": Pick the "question" that goes best with each "answer".)
More informationMidterm Exam #2 Solutions November 10, 1999 CS162 Operating Systems
Fall 1999 Your Name: SID: University of California, Berkeley College of Engineering Computer Science Division EECS Midterm Exam #2 November 10, 1999 CS162 Operating Systems Anthony D. Joseph Circle the
More informationAddendum Intel Architecture Software Developer s Manual
Addendum Intel Architecture Software Developer s Manual Volume 3: System Programming Guide Order Number: 243690-001 NOTE: The Intel Architecture Software Developer s Manual consists of the following volumes:
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 informationApplication Note 195. ARM11 performance monitor unit. Document number: ARM DAI 195B Issued: 15th February, 2008 Copyright ARM Limited 2007
Application Note 195 ARM11 performance monitor unit Document number: ARM DAI 195B Issued: 15th February, 2008 Copyright ARM Limited 2007 Copyright 2007 ARM Limited. All rights reserved. Application Note
More informationCOMPUTER HARDWARE. Input- Output and Communication Memory Systems
COMPUTER HARDWARE Input- Output and Communication Memory Systems Computer I/O I/O devices commonly found in Computer systems Keyboards Displays Printers Magnetic Drives Compact disk read only memory (CD-ROM)
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 informationIntel s Virtualization Extensions (VT-x) So you want to build a hypervisor?
Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor? Mr. Jacob Torrey February 26, 2014 Dartmouth College 153 Brooks Road, Rome, NY 315.336.3306 http://ainfosec.com @JacobTorrey
More informationStrongARM** SA-110 Microprocessor Instruction Timing
StrongARM** SA-110 Microprocessor Instruction Timing Application Note September 1998 Order Number: 278194-001 Information in this document is provided in connection with Intel products. No license, express
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 informationPaging: Introduction. 18.1 A Simple Example And Overview
18 Paging: Introduction It is sometimes said that the operating system takes one of two approaches when solving most any space-management problem. The first approach is to chop things up into variable-sized
More informationImproving System Scalability of OpenMP Applications Using Large Page Support
Improving Scalability of OpenMP Applications on Multi-core Systems Using Large Page Support Ranjit Noronha and Dhabaleswar K. Panda Network Based Computing Laboratory (NBCL) The Ohio State University Outline
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 informationData Storage - I: Memory Hierarchies & Disks
Data Storage - I: Memory Hierarchies & Disks W7-C, Spring 2005 Updated by M. Naci Akkøk, 27.02.2004 and 23.02.2005, based upon slides by Pål Halvorsen, 11.3.2002. Contains slides from: Hector Garcia-Molina,
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 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 informationHow To Write A Page Table
12 Paging: Introduction Remember our goal: to virtualize memory. Segmentation (a generalization of dynamic relocation) helped us do this, but has some problems; in particular, managing free space becomes
More informationThis Unit: Main Memory. CIS 501 Introduction to Computer Architecture. Memory Hierarchy Review. Readings
This Unit: Main Memory CIS 501 Introduction to Computer Architecture Unit 4: Memory Hierarchy II: Main Memory Application OS Compiler Firmware CPU I/O Memory Digital Circuits Gates & Transistors Memory
More informationPOSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)
RTOSes Part I Christopher Kenna September 24, 2010 POSIX Portable Operating System for UnIX Application portability at source-code level POSIX Family formally known as IEEE 1003 Originally 17 separate
More informationVirtualization in Linux KVM + QEMU
CS695 Topics in Virtualization and Cloud Computing KVM + QEMU Senthil, Puru, Prateek and Shashank 1 Topics covered KVM and QEMU Architecture VTx support CPU virtualization in KMV Memory virtualization
More informationOperating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program
More informationCS:APP Chapter 4 Computer Architecture. Wrap-Up. William J. Taffe Plymouth State University. using the slides of
CS:APP Chapter 4 Computer Architecture Wrap-Up William J. Taffe Plymouth State University using the slides of Randal E. Bryant Carnegie Mellon University Overview Wrap-Up of PIPE Design Performance analysis
More information18-548/15-548 Associativity 9/16/98. 7 Associativity. 18-548/15-548 Memory System Architecture Philip Koopman September 16, 1998
7 Associativity 18-548/15-548 Memory System Architecture Philip Koopman September 16, 1998 Required Reading: Cragon pg. 166-174 Assignments By next class read about data management policies: Cragon 2.2.4-2.2.6,
More informationWHITE PAPER. AMD-V Nested Paging. AMD-V Nested Paging. Issue Date: July, 2008 Revision: 1.0. Advanced Micro Devices, Inc.
Issue Date: July, 2008 Revision: 1.0 2008 All rights reserved. The contents of this document are provided in connection with ( AMD ) products. AMD makes no representations or warranties with respect to
More informationBasic Performance Measurements for AMD Athlon 64, AMD Opteron and AMD Phenom Processors
Basic Performance Measurements for AMD Athlon 64, AMD Opteron and AMD Phenom Processors Paul J. Drongowski AMD CodeAnalyst Performance Analyzer Development Team Advanced Micro Devices, Inc. Boston Design
More informationPage Replacement for Write References in NAND Flash Based Virtual Memory Systems
Regular Paper Journal of Computing Science and Engineering, Vol. 8, No. 3, September 2014, pp. 157-172 Page Replacement for Write References in NAND Flash Based Virtual Memory Systems Hyejeong Lee and
More informationMemory Usage of a Software Communication Architecture Waveform
Memory Usage of a Software Communication Architecture Waveform Philip J. Balister Wireless@VT 432 Durham Hall, Mail Code 350 Blacksburg, VA 24061 balister@vt.edu Carl Dietrich Wireless@VT 432 Durham Hall,
More informationUnderstanding Virtual Memory In Red Hat Enterprise Linux 3
Understanding Virtual Memory In Red Hat Enterprise Linux 3 Norm Murray and Neil Horman Version 1.6 December 13, 2005 Contents 1 Introduction 2 2 Definitions 3 2.1 What Comprises a VM........................
More informationThere s a kernel security researcher named Dan Rosenberg whose done a lot of linux kernel vulnerability research
1 There s a kernel security researcher named Dan Rosenberg whose done a lot of linux kernel vulnerability research That s unavoidable, but the linux kernel developers don t do very much to make the situation
More informationChapter 11 I/O Management and Disk Scheduling
Operatin g Systems: Internals and Design Principle s Chapter 11 I/O Management and Disk Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles An artifact can
More informationThe basic CAP CPU consists of a microprogramming control unit, 4K 16-bit words of micro-control storage, and an 79
5 The Cambridge CAP Computer 5. I Introduction In 1970, Roger Needham and Maurice Wilkes at Cambridge University began a research project to construct a capabilitybased machine. In contrast to the Chicago
More information6.033 Computer System Engineering
MIT OpenCourseWare http://ocw.mit.edu 6.033 Computer System Engineering Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 6.033 Lecture 3: Naming
More information1 Storage Devices Summary
Chapter 1 Storage Devices Summary Dependability is vital Suitable measures Latency how long to the first bit arrives Bandwidth/throughput how fast does stuff come through after the latency period Obvious
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 informationLocal and Remote Memory: Memory in a Linux/NUMA System
SGI 2006 Remote and Local Memory 1 Local and Remote Memory: Memory in a Linux/NUMA System Jun 20 th, 2006 by Christoph Lameter, Ph.D. christoph@lameter.com 2006 Silicon Graphics, Inc. Memory seems to be
More informationA3 Computer Architecture
A3 Computer Architecture Engineering Science 3rd year A3 Lectures Prof David Murray david.murray@eng.ox.ac.uk www.robots.ox.ac.uk/ dwm/courses/3co Michaelmas 2000 1 / 1 6. Stacks, Subroutines, and Memory
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 informationComparison of Memory Management Systems of BSD, Windows, and Linux
Comparison of Memory Management Systems of BSD, Windows, and Linux Gaurang Khetan Graduate Student, Department of Computer Science, University of Southern California, Los Angeles, CA. gkhetan@usc.edu December
More informationExploiting Address Space Contiguity to Accelerate TLB Miss Handling
RICE UNIVERSITY Exploiting Address Space Contiguity to Accelerate TLB Miss Handling by Thomas W. Barr A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE Master of Science APPROVED,
More informationCS 695 Topics in Virtualization and Cloud Computing. More Introduction + Processor Virtualization
CS 695 Topics in Virtualization and Cloud Computing More Introduction + Processor Virtualization (source for all images: Virtual Machines: Versatile Platforms for Systems and Processes Morgan Kaufmann;
More informationOPENSPARC T1 OVERVIEW
Chapter Four OPENSPARC T1 OVERVIEW Denis Sheahan Distinguished Engineer Niagara Architecture Group Sun Microsystems Creative Commons 3.0United United States License Creative CommonsAttribution-Share Attribution-Share
More informationUses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:
Virtual Machines Uses for Virtual Machines Virtual machine technology, often just called virtualization, makes one computer behave as several computers by sharing the resources of a single computer between
More informationComputer Engineering and Systems Group Electrical and Computer Engineering SCMFS: A File System for Storage Class Memory
SCMFS: A File System for Storage Class Memory Xiaojian Wu, Narasimha Reddy Texas A&M University What is SCM? Storage Class Memory Byte-addressable, like DRAM Non-volatile, persistent storage Example: Phase
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 informationKVM & Memory Management Updates
KVM & Memory Management Updates KVM Forum 2012 Rik van Riel Red Hat, Inc. KVM & Memory Management Updates EPT Accessed & Dirty Bits 1GB hugepages Balloon vs. Transparent Huge Pages Automatic NUMA Placement
More informationBindel, Spring 2010 Applications of Parallel Computers (CS 5220) Week 1: Wednesday, Jan 27
Logistics Week 1: Wednesday, Jan 27 Because of overcrowding, we will be changing to a new room on Monday (Snee 1120). Accounts on the class cluster (crocus.csuglab.cornell.edu) will be available next week.
More informationI/O. Input/Output. Types of devices. Interface. Computer hardware
I/O Input/Output One of the functions of the OS, controlling the I/O devices Wide range in type and speed The OS is concerned with how the interface between the hardware and the user is made The goal in
More informationAMD Opteron Quad-Core
AMD Opteron Quad-Core a brief overview Daniele Magliozzi Politecnico di Milano Opteron Memory Architecture native quad-core design (four cores on a single die for more efficient data sharing) enhanced
More informationWhere is the memory going? Memory usage in the 2.6 kernel
Where is the memory going? Memory usage in the 2.6 kernel Sep 2006 Andi Kleen, SUSE Labs ak@suse.de Why save memory Weaker reasons "I ve got 1GB of memory. Why should I care about memory?" Old machines
More informationVirtual machines and operating systems
V i r t u a l m a c h i n e s a n d o p e r a t i n g s y s t e m s Virtual machines and operating systems Krzysztof Lichota lichota@mimuw.edu.pl A g e n d a Virtual machines and operating systems interactions
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 informationLeak Check Version 2.1 for Linux TM
Leak Check Version 2.1 for Linux TM User s Guide Including Leak Analyzer For x86 Servers Document Number DLC20-L-021-1 Copyright 2003-2009 Dynamic Memory Solutions LLC www.dynamic-memory.com Notices Information
More informationMain Memory. Memories. Hauptspeicher. SIMM: single inline memory module 72 Pins. DIMM: dual inline memory module 168 Pins
23 Memories Main Memory 2 Hauptspeicher SIMM: single inline memory module 72 Pins DIMM: dual inline memory module 68 Pins / Statische RAMs schnell aber teuer / Dynamische RAMs höhere Integration möglich
More informationVirtual Shared Memory (VSM)
Vorlesung Rechnerarchitektur 2 Seite 76 Basic Concepts Virtual Shared (VSM) Virtual shared memory (VSM) was first developed in a Ph.D. thesis ky Kai Li (1986). The idea is to implement a coherent shared
More informationProject 3A. CS 170, Tao Yang
Announcement (No deadline extension for the rest of quarter) Project 2 final deadline is Tuesday midnight May 19 Project 0 resubmission for autograding : June 1 (changed) Project 0 score =max(old score,
More informationVirtual Memory. Virtual Memory. Paging. CSE 380 Computer Operating Systems. Paging (1)
Virtual Memory CSE 380 Computer Operating Systems Instructor: Insup Lee University of Pennsylvania Fall 2003 Lecture Note: Virtual Memory (revised version) 1 Recall: memory allocation with variable partitions
More informationUnderstanding Memory Resource Management in VMware vsphere 5.0
Understanding Memory Resource Management in VMware vsphere 5.0 Performance Study TECHNICAL WHITE PAPER Table of Contents Overview... 3 Introduction... 3 ESXi Memory Management Overview... 4 Terminology...
More informationLinux/UNIX System Programming. POSIX Shared Memory. Michael Kerrisk, man7.org c 2015. February 2015
Linux/UNIX System Programming POSIX Shared Memory Michael Kerrisk, man7.org c 2015 February 2015 Outline 22 POSIX Shared Memory 22-1 22.1 Overview 22-3 22.2 Creating and opening shared memory objects 22-10
More informationPeter J. Denning, Naval Postgraduate School, Monterey, California
VIRTUAL MEMORY Peter J. Denning, Naval Postgraduate School, Monterey, California January 2008 Rev 6/5/08 Abstract: Virtual memory is the simulation of a storage space so large that users do not need to
More informationGiving credit where credit is due
CSCE 230J Computer Organization Processor Architecture VI: Wrap-Up Dr. Steve Goddard goddard@cse.unl.edu http://cse.unl.edu/~goddard/courses/csce230j Giving credit where credit is due ost of slides for
More informationMemory Management under Linux: Issues in Linux VM development
Memory Management under Linux: Issues in Linux VM development Christoph Lameter, Ph.D. Technical Lead, Linux Kernel Software Silicon Graphics Inc. clameter@sgi.com 2008-03-12 2008 SGI Sunnyvale, California
More informationMulti-Threading Performance on Commodity Multi-Core Processors
Multi-Threading Performance on Commodity Multi-Core Processors Jie Chen and William Watson III Scientific Computing Group Jefferson Lab 12000 Jefferson Ave. Newport News, VA 23606 Organization Introduction
More informationtmpfs: A Virtual Memory File System
tmpfs: A Virtual Memory File System Peter Snyder Sun Microsystems Inc. 2550 Garcia Avenue Mountain View, CA 94043 ABSTRACT This paper describes tmpfs, a memory-based file system that uses resources and
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 informationBoard Notes on Virtual Memory
Board Notes on Virtual Memory Part A: Why Virtual Memory? - Letʼs user program size exceed the size of the physical address space - Supports protection o Donʼt know which program might share memory at
More informationPrice/performance Modern Memory Hierarchy
Lecture 21: Storage Administration Take QUIZ 15 over P&H 6.1-4, 6.8-9 before 11:59pm today Project: Cache Simulator, Due April 29, 2010 NEW OFFICE HOUR TIME: Tuesday 1-2, McKinley Last Time Exam discussion
More informationLecture 25 Symbian OS
CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview
More informationCOMPUTER ORGANIZATION ARCHITECTURES FOR EMBEDDED COMPUTING
COMPUTER ORGANIZATION ARCHITECTURES FOR EMBEDDED COMPUTING 2013/2014 1 st Semester Sample Exam January 2014 Duration: 2h00 - No extra material allowed. This includes notes, scratch paper, calculator, etc.
More information