The Rialto Virtual Memory System

  • Scott M. Cutshall ,
  • Richard P. Draves ,
  • Gilad Odinak ,

MSR-TR-97-04 |

This paper describes the design and implementation of virtual memory in the Rialto kernel. The Rialto VM system supports sparse virtual address spaces with mapping between address spaces, copy-on-write faults, and auto-commit (demand-allocation) faults. It does not currently support demand page-in, page-out, or external pagers. Novel aspects of the design include a VTLB architecture that bounds the memory consumed in machine-dependent mapping structures, real-time requirements for preeemptibility and interruptibility, provision for efficient sharing between user address spaces and the kernel via a user/kernel address bias, and growable kernel-mode thread stacks. The Rialto kernel is a light-weight, “soft” real-time kernel. It has been successfully deployed as part of Microsoft’s MiTV/OS for the set-top boxes in the Microsoft/NTT interactive TV trial in Yokosuka, Japan.