Browse Prior Art Database

Virtual Memory Management in the VAX/VMS Operating System

IP.com Disclosure Number: IPCOM000131478D
Original Publication Date: 1982-Mar-01
Included in the Prior Art Database: 2005-Nov-11
Document File: 10 page(s) / 40K

Publishing Venue

Software Patent Institute

Related People

Henry M. Levy: AUTHOR [+4]

Abstract

Diverse workloads and a wide range of hardware configurations compound the complexity of an operating system's memory management policies. The VAX-11/780, introduced in 1978, and the smaller VAX-I 1/750, introduced in 1980, are Digital Equipment Corporation's first implementations of the 32-bit VAX-II minicomputer architecture.' Eventually, there will be a family of VAX-I I minicomputers. The VAX-I I and its VAX/VMS operating system were designed to provide extended address space and enhanced performance for Digital's PDP-I I customers. Built on Digital's experience with a multitude of PDP- II operating systems, VAX/VMS was intended to provide a single environment for all VAX-based applications, whether realtime, timeshared (including program development), or batch. In addition, VAX/VMS had to operate on a family of processors having different performance characteristics and physical memory capacities ranging from 250K bytes to more than 8M bytes. To meet the requirements posed by these applications environments, the memory management system had to be capable of adjusting to the changing demands characteristic of timesharing while allowing the predictable performance required by realtime and batch processes. Memory management policies and decisions made in the design and implementation of the first release of the VAX/VMS operating system in 1978 reflected the concerns of the developers. This article examines those concerns and the mechanisms selected to deal with them.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 10% of the total text.

Page 1 of 10

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

This record contains textual material that is copyright ©; 1982 by the Institute of Electrical and Electronics Engineers, Inc. All rights reserved. Contact the IEEE Computer Society http://www.computer.org/ (714-821-8380) for copies of the complete work that was the source of this textual material and for all use beyond that as a record from the SPI Database.

Virtual Memory Management in the VAX/VMS Operating System

Henry M. Levy and Peter H. Lipman,

Digital Equipment Corporation

Diverse workloads and a wide range of hardware configurations compound the complexity of an operating system's memory management policies.

The VAX-11/780, introduced in 1978, and the smaller VAX-I 1/750, introduced in 1980, are Digital Equipment Corporation's first implementations of the 32-bit VAX-II minicomputer architecture.' Eventually, there will be a family of VAX-I I minicomputers. The VAX-I I and its VAX/VMS operating system were designed to provide extended address space and enhanced performance for Digital's PDP-I I customers. Built on Digital's experience with a multitude of PDP- II operating systems, VAX/VMS was intended to provide a single environment for all VAX- based applications, whether realtime, timeshared (including program development), or batch. In addition, VAX/VMS had to operate on a family of processors having different performance characteristics and physical memory capacities ranging from 250K bytes to more than 8M bytes. To meet the requirements posed by these applications environments, the memory management system had to be capable of adjusting to the changing demands characteristic of timesharing while allowing the predictable performance required by realtime and batch processes.

Memory management policies and decisions made in the design and implementation of the first release of the VAX/VMS operating system in 1978 reflected the concerns of the developers. This article examines those concerns and the mechanisms selected to deal with them.

VAX-11 hardware

The basic entity in the VAX-I I system is the process. Each process has a byte-addressable, 32- bit virtual address space, which is divided into 512-byte pages. A 32- bit virtual address contains a 21- bit virtual page number and a 9-bit byte offset within the page. The page is the basic unit of mapping and protection.

(Image Omitted: Figure 1. VAX 11 process virtual address (a)and virtual address space (b).)

The upper two bits of the virtual address divide the process address space into a number of functional regions or spaces. Figure I shows the division of the address space into system-wide and per-process segments. The high

address half of the address space (bit 31 = 1) is known as system space and is shared by all processes in the system. That is, a system- space virtual address generated by any process will access the same physcial memory location. Only half of the system space is currently used by the a...