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… 
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
A versatile kernel proposal for a multimicroprocessor system environment
Mechanisms are presented for the processes running in parallel that provide facilities to allow for the creation and internal representation of processes, protected passing of control, and resource sharing among a set of processes utilizing a pool of microprocessors.
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.
MODOSK: A modular distributed operating system kernel for real-time process control
The operating system kernel of a multiprocessor system based on 16 bit microcomputers is described, which makes available a virtual machine where processes allocated on different processors are executed in parallel, while processes which reside on the same processor are execution in a multitasking environment.
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
A new timesharing system being developed at the Lawrence Livermore Laboratory is a pure message passing system, where all services that are typically obtained directly by a system call are obtained by communicating via messages with system service processes.


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
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
; 0 ;
! " # $% & ' $ ( #) % ( ) %*+, -. ) / 0 1 ' 2 ( 3 '4 $ $ 5 2 6 "7 8 8 9:/ ( ; <= 6 1 ( > 9: ? =: 0 $ > 0:/5 ? <:/5 2 / $ ) /== @ 9@=== @ 9@/== @ @=== $ @/== A 1 2 B ; B# '2 ) ; ( ; % ( > <:< ? :< @
Protection in programmed systems.