Sharing and protection in a single-address-space operating system

  • Authors:
  • Jeffrey S. Chase;Henry M. Levy;Michael J. Feeley;Edward D. Lazowska

  • Affiliations:
  • University of Washington;University of Washington;University of Washington;University of Washington

  • Venue:
  • ACM Transactions on Computer Systems (TOCS) - Special issue on computer architecture
  • Year:
  • 1994

Quantified Score

Hi-index 0.02

Visualization

Abstract

This article explores memory sharing and protection support in Opal, a single-address-space operating system designed for wide-address (64-bit) architectures. Opal threads execute within protection domains in a single shared virtual address space. Sharing is simplified, because addresses are context independent. There is no loss of protection, because addressability and access are independent; the right to access a segment is determined by the protection domain in which a thread executes. This model enables beneficial code-and data-sharing patterns that are currently prohibitive, due in part to the inherent restrictions of multiple address spaces, and in part to Unix programming style.We have designed and implemented an Opal prototype using the Mach 3.0 microkernel as a base. Our implementation demonstrates how a single-address-space structure can be supported alongside of other environments on a modern microkernel operating system, using modern wide-address architectures. This article justifies the Opal model and its goals for sharing and protection, presents the system and its abstractions, describes the prototype implementation, and reports experience with integrated applications.