Sharing and Protection in a Single-Address-Space Operating System

Published

Journal Article

This article explores memory sharing and protection support in Opal, a single-address-space operating system designed for wide-address 1994 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. © 1994, ACM. All rights reserved.

Full Text

Duke Authors

Cited Authors

  • Chase, JS; Levy, HM; Feeley, MJ; Lazowska, ED

Published Date

  • January 11, 1994

Published In

Volume / Issue

  • 12 / 4

Start / End Page

  • 271 - 307

Electronic International Standard Serial Number (EISSN)

  • 1557-7333

International Standard Serial Number (ISSN)

  • 0734-2071

Digital Object Identifier (DOI)

  • 10.1145/195792.195795

Citation Source

  • Scopus