HYDRA: the Kernel of a Multiprocessor Operating System

HYDRA: the Kernel of a Multiprocessor Operating System

Introduction The HYDRAsystem is the "kernel" base for a collection of operating systems designed to exploit and explore Operating C. Weissman the potential inherent in a multiprocessor computer Systems Editor system. Since the field of parallel processing in general, and multiprocessing in particular, is not current art, HYDRA:The Kernel the design of HYDRA has a dual goal imposed upon it: (1) to provide, as any operating system must, an en- of a Multiprocessor vironment for effective utilization of the hardware resources, and (2) to facilitate the construction of such Operating System environments. In the latter case the goal is to provide a recta-environment which can serve as the host for W. Wulf, E. Cohen, W. Corwin, A. Jones, exploration of the space of user-visible operating en- R. Levin, C. Pierson, and F. Pollack vironments. Carnegie-Mellon University The particular hardware on which HYDRA has been implemented is C.mmp, a multiprocessor constructed at Carnegie-Mellon University. Although the details of the design of C.mmp are not essential to an understand- ing of the material which follows, the following brief This paper describes the design philosophy of HYDRA description has been included to help set the context (a more detailed description may be found in [9]). --the kernel of an operating system for C.mmp, the C.mmp permits the connection of 16 processors to 32 Carnegie-Mellon Multi-Mini-Processor. This philosophy is realized through the introductiot~ of a generalized million bytes of shared primary memory through a cross-bar switch. The processors are any of the various notion of "resource," both physical and virtual, called models of PDP-11 l minicomputers. Each processor is an "object." Mechanisms are presented for dealing with actually an independent computer system with a small objects, including the creation of new types, specification amount of private memory, secondary memories, I/O of new operations applicable to a given type, sharing, devices, etc. Processors may interrupt each other at and protection of any reference to a given object against any of four priority levels; a central clock serves for improper application of any of the operations defined with respect to that type of object. The mechanisms unique-name generation (see below) and also broadcasts a central time base to all process6rs. Relocation hard- provide a coherent basis for extension of the system in ware on each processor's bus provides mapping of two directions: the introduction of new facilities, and virtual addresses on that bus to physical addresses in the creation of highly secure systems. shared primary memory. Key Words and Phrases: operating system, kernel, nucleus, protection, security CR Categories: 4.3, 6.2 Design Philosophy The design philosophy of HYDRA evolved from both the environment in which the system was to function and a set of principles held by its designers. The central goals of the system together with the attitudes expressed below suggest that, at the heart of the system, one should build a collection of facilities of "universal applicability" and "absolute reliability"--a set of mechanisms from which an arbitrary set of operating system facilities and policies can be conveniently, flexibly, efficiently, and reliably constructed. Moreover, lest the flexibility be constrained at any instant, it Copyright © 1974, Association for Computing Machinery, Inc. General permission to republish, but not for profit, all or part should be possible for an arbitrary number of systems of this material is granted provided that ACM's copyright notice created from these facilities to co-exist simultaneously. is given and that reference is made to the publication, to its date The collection of such basic facilities has been called of issue, and to the fact that reprinting privileges were granted by permission of the Association for Computing Machinery. the kernel or nucleus [1] of an operating system. The This work was supported by the Advanced Research Projects more specific considerations are listed below. Agency of the Office of the Secretary of Defense (F44620-70-C- 1. Multiprocessor environment. Although multiproces- 0107) and is monitored by the Air Force Office of Scientific Research Authors' address: Department of Computer Science, Carnegie- sors have been discussed for well over a decade and a Mellon University, Schenley Park, Pittsburgh, PA 15213. 1 Manufactured by Digital Equipment Corpormion. 337 Communications June 1974 of Volume 17 the ACM Number 6 few have been built, both the potentials and problems but that it be able to detect and recover from errors that of these systems are dimly perceived. The design of do exist--as the result of hardware malfunction, for hYDRA was constrained to be sufficiently conservative example. to insure its construction and utility in a reasonable Defining a kernel with all the attributes given above time frame, yet flexible enough to permit experimental is difficult, and perhaps impractical at the current state exploration within the design space bounded by its of the art. It is, nevertheless, the approach taken in the hardware capabilities. HYDRA system. Although we make no claim either that 2. Separation of mechanism and policy. Among the the set of facilities provided by the HYDRA kernel is major causes of our inability to experiment with, and minimal (the most primitive "adequate" set) or that it is adapt, existing operating systems is their failure to maximally desirable, we do believe the set provides properly separate mechanisms from policies. (Hansen primitives which are both necessary and adequate for [1] has presented cogent arguments for this separation.) the construction of a large and ihteresting class of Such separation contributes to the flexibility of the operating environments. It is our view that the set of system, for it leaves the complex decisions in the hands functions provided by HYDRA will enable the user of of the person who should make them--the higher-level C.mmp to create his own operating environment with- system designer. out being confined to predetermined command and file 3. Integration of the design with implementation meth- systems, execution scenarios, resource allocation policies, odology. It has been observed that the structure of ex- etc. tant operating systems bears a remarkable resemblance Given the general decision to adopt the "kernel to that of the organization which created them. This system" approach, the question remains as to what observation is one of a set which asserts the (practical) belongs in a kernel and, perhaps more important, what impossibility of separating the design from the meth- does not. Nonspecific answers to this question are im- odology to be used in implementing-the design. The plicit in the attitudes enumerated earlier; e.g. a set of authors' predisposition for implementation methodol- mechanisms may be appropriate in a kernel, but policy ogy is a hybrid of structured programming as advocated decisions certainly are not. For other, more specific, by Dijkstra and others [2] and the modularization answers we must step outside these attitudes alone and philosophy of Parnas [8]. consider the nature of the entity to be built using the 4. Rejection of strict hierarchical layering. The notion facilities of a kernel. of a strict hierarchically layered system has become If a kernel is to provide facilities for building an popular since first described by Dijkstra for the THE operating system and we wish to know what these system [3]. While we believe that the system as viewed facilities should be, then it is relevant to ask what an by any single user should be hierarchically structured, operating system /s or does. Two views are commonly we reject the notion as a global design criterion. We held: (I) an operating system defines an "abstract believe that if the entire system is so structured, the machine" by providing facilities, or resources, which are design will severely limit the flexibility available to the more convenient than those provided by the "bare" high-level user and will strangle experimentation; in hardware; and (2) an operating system allocates (hard- particular, there is no reason to believe that the same ware) resources in such a way as to most effectively hierarchical relation should exist for control as for utilize them. Of course these views are, respectively, resource allocation, or as for protection, etc. the bird's-eye and worm's eye views of what is a single 5. Protection. Flexibility and protection are closely entity with multiple goals. Nevertheless, the important related, but not inversely proportional. We believe that observation for our purposes is the emphasis placed, protection is not merely a restrictive device imposed by in both views, on the central role of resources--both "the system" to insure the integrity of user operations, physical and abstract. but is a key tool in the proper design of operating sys- The mechanisms provided by the HYDRA kernel are tems. It is essential for protection to exist in a uniform all intended to support the abstracted notion of a manner through the system, and not to be applied only resource (incarnations of a resource are called objects). to specific entities (e.g. flies). The idea of capabilities These mechanisms provide for the creation and represen- (in the sense of Dennis [5]) is most important in the tation of new types of resources, as well as operations laVORA design; the kernel provides a protection facility defined on them, protected access to instances of one or for all entities in the system. This protection includes more resources within controlled execution domains, not only the traditional read, write, execute capabilities, and controlled passing of both control and resources but arbitrary protection conditions whose meaning is between execution domains. The key aspects of these determined by higher-level software. facilities are the generalized notion of resource, the 6.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    9 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us