Corpus ID: 12965889

Issues in Implementing Virtual Memory

  title={Issues in Implementing Virtual Memory},
  author={K. Elphinstone and S. Russell and G. Heiser},
Several factors are rapidly increasing the demands beingplaced on virtual memory implementations. Large address spaces, increasing sparseness, and novel operating systems are not well supported by traditional tree-based page tables. New approaches are needed to overcome these problems. This paper examines the advantages and disadvantages of conventional virtual address translation schemes. It then describes the performance costs caused by recent changes in hardware and operating system… Expand
1 Citations

Figures from this paper

Design of the SPEEDOS operating system kernel
In the prototype implementation it is shown that the virtual memory model used to describe the module structure can be mapped efficiently to the current page-based memory architecture implemented by the standard processor architectures available today. Expand


Virtual memory support for multiple page sizes
It is shown that providing support for multiple page sizes is not as straightforward as may initially appear, and the need to examine memory management policies tuned to large amounts of physical memory is argued. Expand
Virtual Memory
Two principal methods for implementing virtual memory, segmentation and paging, are compared and contrasted and are shown to be controllable by a proper combination of hardware and memory management policies. Expand
Pointer swizzling at page fault time: efficiently supporting huge address spaces on standard hardware
A scheme for supporting huge address spaces without the need for long addresses implemented in hardware that exploits temporal and spatial locality in much the same way as a normal virtual memory, so its performance should be quite good. Expand
Architectural support for translation table management in large address space machines
The Hashed Page Table (HPT), described here, provides a very fast and space efficient translation table that reduces overhead by splitting TLB management responsibilities between hardware and software. Expand
Addressing Mechanisms for Large Virtual Memories
Hardware and software mechanisms to implement a paged virtual memory which can be efficiently accessed by large addresses and an implementation of these techniques for a capability-based computer, MONADS-PC, is described. Expand
How to Use a 64-Bit Virtual Address Space
This paper argues for an alternative addressing model, in which all programs and data reside in a single global virtual address space shared by multiple protection domains, and introduces Opal, an operating system to support this model on paged 64-bit architectures. Expand
Design and Implementation of an Object-Oriented 64-bit Single Address Space Microkernel
The lessons the team has learnt from Meshix are set out, how this has influenced the design of Angel and the current design ofAngel and its C++ implementation are outlined. Expand
Mungi: A distributed single-address-space operating system
Mungi provides a distributed single level address-space, which is protected using password capabilities, and performs efficiently on conventional architectures, and is simple enough that most programs do not need to be aware of its operation. Expand
Surpassing the TLB performance of superpages with less operating system support
It is shown that superpages improve TLB performance only after invasive operating system modifications that introduce considerable overhead, and two subblock TLB designs are proposed as alternate ways to improveTLB performance. Expand
Tradeoffs in supporting two page sizes
The results show that increasing the page size to 32KB causes both a significant increase in average working set size and a significant reduction in the TLB's contribution to CPI, CPITLB, (namely a factor of eight) compared to using 4KB pages. Expand