CS533 Concepts of Operating Systems Class 14 Extensible Virtual Memory Management.

Slides:



Advertisements
Similar presentations
Slide 19-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 19.
Advertisements

CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
Operating Systems Lecture 10 Issues in Paging and Virtual Memory Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing.
G Robert Grimm New York University Virtual Memory.
MACHINE-INDEPENDENT VIRTUAL MEMORY MANAGEMENT FOR PAGED UNIPROCESSOR AND MULTIPROCESSOR ARCHITECTURES R. Rashid, A. Tevanian, M. Young, D. Golub, R. Baron,
Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures Jordan Acedera Ishmael Davis Justin Augspurger Karl.
EECS 470 Virtual Memory Lecture 15. Why Use Virtual Memory? Decouples size of physical memory from programmer visible virtual memory Provides a convenient.
Virtual Memory. The Limits of Physical Addressing CPU Memory A0-A31 D0-D31 “Physical addresses” of memory locations Data All programs share one address.
Virtual Memory Chapter 18 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S. Dandamudi.
Computer Organization CS224 Fall 2012 Lesson 44. Virtual Memory  Use main memory as a “cache” for secondary (disk) storage l Managed jointly by CPU hardware.
CS533 Concepts of Operating Systems Class 5 Integrated Task and Stack Management.
Memory/Storage Architecture Lab Computer Architecture Virtual Memory.
CS533 Concepts of Operating Systems Class 7 Virtualization and Exokernels.
Virtual Memory Art Munson CS614 Presentation February 10, 2004.
By: Richard Rashid, Avadis Tevanian, Michael Young, David Golub, Robert Baronn, David Black, William Bolosky, and Jonathan Chew, October 1987 Presented.
Translation Buffers (TLB’s)
Virtual Memory. Why do we need VM? Program address space: 0 – 2^32 bytes –4GB of space Physical memory available –256MB or so Multiprogramming systems.
1 Chapter 8 Virtual Memory Virtual memory is a storage allocation scheme in which secondary memory can be addressed as though it were part of main memory.
CS533 Concepts of Operating Systems Class 7 Integrated Task and Stack Management.
CS533 Concepts of Operating Systems Class 3 Integrated Task and Stack Management.
CS533 Concepts of Operating Systems Class 9 User-Level Remote Procedure Call.
Mem. Hier. CSE 471 Aut 011 Evolution in Memory Management Techniques In early days, single program run on the whole machine –Used all the memory available.
Vir. Mem II CSE 471 Aut 011 Synonyms v.p. x, process A v.p. y, process B v.p # index Map to same physical page Map to synonyms in the cache To avoid synonyms,
CS533 Concepts of OS Class 16 ExoKernel by Constantia Tryman.
Virtual Memory By: Dinouje Fahih. Definition of Virtual Memory Virtual memory is a concept that, allows a computer and its operating system, to use a.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
CS333 Intro to Operating Systems Jonathan Walpole.
Mac OS X Panther Operating System
CS 153 Design of Operating Systems Spring 2015 Lecture 17: Paging.
Lecture 19: Virtual Memory
July 30, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 8: Exploiting Memory Hierarchy: Virtual Memory * Jeremy R. Johnson Monday.
CS533 Concepts of Operating Systems Jonathan Walpole.
Operating Systems COMP 4850/CISG 5550 Page Tables TLBs Inverted Page Tables Dr. James Money.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard et al. Madhura S Rama.
CS399 New Beginnings Jonathan Walpole. Virtual Memory (1)
A summary by Nick Rayner for PSU CS533, Spring 2006
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
1 Machine-Independent Virtual Memory Management of Paged Uniprocessor and Multiprocessor Architectures by Rashid, Tevanian, Young, Golub, Baron, Black,
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Demand Paging.
CS2100 Computer Organisation Virtual Memory – Own reading only (AY2015/6) Semester 1.
CS 390 Unix Programming Environment
Virtual Memory Ch. 8 & 9 Silberschatz Operating Systems Book.
CS 3204 Operating Systems Godmar Back Lecture 16.
Page Replacement Implementation Issues Text: –Tanenbaum ch. 4.7.
Lectures 8 & 9 Virtual Memory - Paging & Segmentation System Design.
Vivek Seshadri 15740/18740 Computer Architecture
Memory Management Paging (continued) Segmentation
Memory Caches & TLB Virtual Memory
Day 21 Virtual Memory.
Day 22 Virtual Memory.
CS510 Operating System Foundations
CSCI206 - Computer Organization & Programming
Evolution in Memory Management Techniques
Memory Management Paging (continued) Segmentation
Translation Buffers (TLB’s)
Virtual Memory Overcoming main memory size limitation
Introduction to Operating Systems
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
Translation Buffers (TLB’s)
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
CSE 471 Autumn 1998 Virtual memory
CS533 Concepts of Operating Systems Class 14
Translation Buffers (TLBs)
Memory Management Paging (continued) Segmentation
OPERATING SYSTEMS MEMORY MANAGEMENT BY DR.V.R.ELANGOVAN.
Synonyms v.p. x, process A v.p # index Map to same physical page
Introduction to Computer Systems Engineering
Review What are the advantages/disadvantages of pages versus segments?
CSE 542: Operating Systems
Presentation transcript:

CS533 Concepts of Operating Systems Class 14 Extensible Virtual Memory Management

CS533 - Concepts of Operating Systems 2 Questions  What is an inverted page table? o Why are they good for large sparse address spaces?  How are address maps, memory allocation queues, memory object lists, memory objects, resident page tables, and pmap used to o Handle a page fault? o Page out a page? o Allocate memory o Deallocate memory

CS533 - Concepts of Operating Systems 3 Questions  Why does Mach distinguish between current and maximum protection for pages?  Why are shadow objects needed? o How would task A share a page copy-on-write with task B? o Why might you end up with long chains of shadow objects? o Why is this a problem? o How could you optimize them?

CS533 - Concepts of Operating Systems 4 Questions  How can Mach support lazy modification of pmap?  Why don’t inverted page tables support aliasing well?  What three strategies can Mach use to maintain TLB consistency on multiprocessors that do not support inter-CPU TLB flush operations? o Which one reminds you of RCU and why?

CS533 - Concepts of Operating Systems 5 Questions  Why push virtual memory fault handling to user level? o What kind of user-level instructions can it replace? o Is it always more efficient to use VM faults than user-level interpretation? o What are the performance trade-offs?  Can VM fault handling be used to implement synchronization? o i.e., instead of locks? If so, how?

CS533 - Concepts of Operating Systems 6 Questions  Why are these technique more difficult to use on modern CPUs with deep pipelines, out of order instructions and weak memory consistency?  Why do hardware details such as physically vs virtually indexed caches affect aliasing costs?  Why do OS details such as inverted page tables affect aliasing costs?