CSE221 - lec06: Virtual Memory: VAX/VMS & Mach

date
Oct 24, 2024
slug
cse221-lec06
status
Published
tags
System
summary
type
Post

06 - Virtual Memory: VAX/VMS & Mach

Virtual Memory Management in the VAX/VMS Operating System

Goals:

  • support different hardware
  • handle resource constraints (memory & I/O)
    • Virtual Address Space: 4GB
    • Physical Address Space: 250KB - 4MB
below is a pic. illustrating VAX/VMS address space:
notion image

Paging Mechanisms

memory are devided into fixed-size page frames, address translation is via page tables
notion image

Space Efficiency

  • process page table is paged (can be swap out)
  • keep OS page table in physical memory

TLB

  • stores va to pa mapping
  • split between user and kernel TLB

Process-local replacement policy

  • evict pages from the requested process only
  • FIFO policy

Page Caching

  • cache pages about to be evicted
  • when page fault occures on pages that are in free list or modified list, they can be returned to resident set directly

Clustering

  • read / write in batch & prefetch pages

Summary & take-away

  • Address Space abstraction
  • Hardware support for paging
  • Techniques for efficiency

Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures

Goals:

  • Machine independent approach to manage virtual memory
  • hardware difference:
    • single v.s. multi-processor
    • non-uniform memory
    • paging v.s. segmentation
  • support sparse address space
    • memory-mapped files
    • multi-thread

Components of Mach VM Implementation: Address Map & Resident Page Table

Address Map: A double-linked list that keeps attribute of memory objects.
Resident Page Table: keep address translation information
notion image

Components of Mach VM Implementation: Memory Object

  • backing store for a range of virtual address (resembles unix files)
  • customizable pager

Components of Mach VM Implementation: pmap

  • hardware-dependent module
  • exact form differ wrt. hardware

Summary & take-away

  • Mach VM’s approach to VM: build a machine independent virtual memory representation, and use a machine depedent module to do the translation.
  • The idea is simple but the key is to keep the efficiency.

© Lifan Sun 2023 - 2025