VirtualMemoryManagement

VirtualMemoryManagement - Machine-Independent Virtual...

Info iconThis preview shows pages 1–13. Sign up to view the full content.

View Full Document Right Arrow Icon
Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures Jordan Acedera Ishmael Davis Justin Augspurger Karl Banks
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Introduction Many OS do not have VM support Mach goals: Exploit hardware/software relationship Portability Handling of page faults Mach extends UNIX support Compatibility
Background image of page 2
Compatibility Mach runs on the following systems: VAX processors IBM RT PC SUN 3 Encore Multimax Sequent Balance 21000
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Mach Design Basic abstractions Task Thread Port Message Memory Object
Background image of page 4
Mach Design Basic Operations Allocate memory Deallocate memory Set protection status Specify inheritance Create/Manage memory objects Limits of Mach Design
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Mach Design
Background image of page 6
The Implementation of Mach Virtual Memory Presented by: Karl Banks
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Data Structures Resident page table: keeps track of Mach pages residing in main memory (machine independent) Address map: a doubly linked list of map entries, each of which maps a range of virtual addresses to a region of a memory object Memory object: a unit of backing storage such as a disk file or a swap area Pmap: the memory-mapping data structure used by the hardware (machine dependent)
Background image of page 8
Pager Managing task; one associated with each memory object Handles page faults and page-out requests outside of the kernel If kernel sends pageout request to a user- level pager, it can decide which page to swap out If pager is uncooperative, default pager will be invoked to perform the necessary pageout
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Mach Implementation Diagram Virtual address space of a process External Pager Default Pager Swap area File System
Background image of page 10
Sharing Memory: Copy-on-Write Case: tasks only read Supports memory-sharing across tasks
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Sharing Memory: Copy-on-Write Case: write “copied” data New page allocated only to writing task Shadow object created to hold modified pages
Background image of page 12
Image of page 13
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 32

VirtualMemoryManagement - Machine-Independent Virtual...

This preview shows document pages 1 - 13. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online