HYDRA: the kernel of a multiprocessor operating system

  title={HYDRA: the kernel of a multiprocessor operating system},
  author={William A. Wulf and Ellis S. Cohen and William M. Corwin and Anita K. Jones and Roy Levin and C. Pierson and Fred J. Pollack},
  journal={Commun. ACM},
This paper describes the design philosophy of HYDRA—the kernel of an operating system for C.mmp, the Carnegie-Mellon Multi-Mini-Processor. This philosophy is realized through the introduction of a generalized notion of “resource,” both physical and virtual, called an “object.” Mechanisms are presented for dealing with objects, including the creation of new types, specification of new operations applicable to a given type, sharing, and protection of any reference to a given object against… 

Figures from this paper

iMAX: A multiprocessor operating system for an object-based computer

The Intel iAPX 432 is an object-based microcomputer which, together with its operating system iMAX, provides a multiprocessor computer system designed around the ideas of data abstraction. iMAX is

Why a distributed kernel?

This paper describes first a brief summary of the current status of a kernel, and secondly the future requirements of a complex operating system, and presents part of a possible solution to construct a high speed kernel based on multiple processors.

An object-oriented distributed operating system

The BiiN operating system executive, an extensible multiuser, multitasking, object-based operating system that provides symmetric multiprocessing, distributed computing, transaction processing, and

The architecture of a distributed computer system

Ogham is designed to allow local-area-interconnected microcomputers to be used as a computing facility for the investigation of distributed operating systems and related topics.

The architecture of a memory management unit for object-oriented systems

The rationale for the design and the architecture of a Memory Management Unit (MMU) for object-oriented systems, suitable for current generation processors based on RISC principles, and able to support open multi-lingual environments is described.

HYDRA Basic Kernel Reference Manual.

This document is a reference manual for the Hydra Kernel, a software virtual machine implemented on C.mmp, a closely-coupled PDP-11-based multiprocessor.

An open enviornment for building parallel programming systems

PRESTO is a set of tools for building parallel programming systems on shared-memory multiprocessors that is implemented in the object-oriented language C++ on a Sequent Balance 21000 and has been used in a number of applications that are described in this paper.

Components of a Network Operating System




The nucleus of a multiprogramming system

This paper describes the philosophy and structure of a multi-programming system that can be extended with a hierarchy of operating systems to suit diverse requirements of program scheduling and

The structure of the “THE”-multiprogramming system

A multiprogramming system is described in which all activities are divided over a number of sequential processes, in each of which one or more independent abstractions have been implemented.

Dynamic protection structures

This paper deals with one aspect of the subject, which might be called the meta-theory of protection systems: how can the information which specifies protection and authorizes access, itself be protected and manipulated.

C.mmp: a multi-mini-processor

An overview of the goals, design, and status of this hardware/software complex, and some of the research problems raised and analytic problems solved in the course of its construction are described.

Programming semantics for multiprogrammed computations

The semantics are defined for a number of meta-instructions which perform operations essential to the writing of programs in multiprogrammed computer systems. These meta-instructions relate to

Structured programming

The first monograph has suggested that in analysing a problem and groping towards a solution, a programmer should take advantage of abstract concepts such as sets, sequences, and mappings; and judiciously postpone decisions on representation until he is constructing the more detailed code of the program.

On the criteria to be used in decomposing systems into modules

This paper discusses modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time. The effectiveness of a

Protection structures

The ability to selectively control access to information in computing systems has taken on a heightened importance in recent years, and concern over the impact of improper, inadequate controls and safeguards for this increasingly concentrated, inexpensive, and pervasive information processing power is rightfully increasing.

An information-theoretic approach to text searching in direct access systems

Using direct access computer files of bibliographic information, an attempt is made to overcome one of the problems often associated with information retrieval, namely, the maintenance and use of

Response to detected errors in well-structured programs

An organization for structured programs is described which attempts to satisfy the following criteria: run time errors in well-structured programs.