The nucleus of a multiprogramming system

  title={The nucleus of a multiprogramming system},
  author={Per Brinch Hansen},
  journal={Commun. ACM},
  • P. B. Hansen
  • Published 1 April 1970
  • Computer Science
  • Commun. ACM
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 resource allocation. The system nucleus simulates an environment in which program execution and input/output are handled uniformly as parallel, cooperating processes. A fundamental set of primitives allows the dynamic creation and control of a hierarchy of processes as well as the communication among… 

Figures from this paper

Structured multiprogramming

This paper presents a proposal for structured representation of multiprogramming in a high level language that clarifies the meaning of programs and permits a large class of time-dependent errors to be caught at compile time.

Process selection in a hierarchical operating system

A new model for use in scheduling processes for the sharing of a processor, applicable for various modes of operation and significantly useful only within a well-defined system hierarchy is presented.

Process selection in a hierarchical operating system

A new model for use in scheduling processes for the sharing of a processor, applicable for various modes of operation and significantly useful only within a well-defined system hierarchy is presented.

A multiprogramming nucleus with dynamic resource facilities

This paper describes a nucleus for controlling process interaction in multiprogramming systems. The nucleus has three components: a set of primitive operations and data structures for the management

A large semaphore based operating system

The design principle is an alternative to Dijkstra's hierarchical structuring of operating systems and is proved to be free of “deadly embrace” (deadlock).

Testing a multiprogramming system

The method used to test the RC 4000 multiprogramming system, which consists of fifty machine instructions centralized in two procedures, was made virtually error free within a few weeks.

Proteus - A Microcoded Multiprocessor System

A modular operating system based on a message/event system for a dual processor system is described, which gives rise to a powerful processor in a microprogrammed, dual processor minicomputer system.

Trends in multiprocessor and distributed operating systems designs

This paper presents an overview of the developments in operating systems technology for distributed computing systems and multiprocessor machines. We focus on those design principles that are now

A system for teaching concurrent programming

This paper describes a concurrent programming interface based on the use of semaphores which is implemented as a library of subroutines which is accessible from of varie~ of programming languages.



Dynamic Supervisors - their design and construction

The paper demonstrates the technology necessary to bring the facilities of Supervisor construction and modification to the level at which a user can, without a great deal of research and analysis

A modular operating system

The following containsadescription of the principles andtechniques used in a modularoperatings system being implemented at the NationalPhysicalLaboratory, which provides a time-sharing and file handling capacity and offers the usual servicesto users.

Compound data structure for computer aided design; a survey

The rest of this paper is concerned with the basic requirements of the data structure package, and with a survey of those packages which have been implemented and about which information is available.

A Mobile Automaton: An Application of Artificial Intelligence Techniques

The main theme of the research is the integration of the necessary planning systems, models of the world and sensory processing systems into an efficient whole capable of performing a wide range of tasks in a real environment.

GRASP—a graphic service program

To use the full capability of the graphic display console, both the computer and the man at the console must be able to create and manipulate drawings as well as alphanumeric information.

A Heuristic Algorithm and Simulation Approach to Relative Location of Facilities

A computer program governed by an algorithm which determines how relative location patterns should be altered to obtain sequentially the most improved pattern with each change, commands their alteration, evaluates the results of alterations, and identifies the sub-optimumrelative location patterns.


The primary goal of this project is to investigate techniques in artificial intelligence applied to the control of a mobile automation in a realistic environment to design a hierarchy of computer programs that will accept visual and other sensory information from the automation and direct its actions toward the completion of missions requiring the abilities to plan ahead and to learn from previous experience.

Sketchpad a Man-Machine Graphical Communication System

The Sketchpad system makes it possible for a man and a computer to converse rapidly through the medium of line drawings, and opens up a new area of man-machine communication.

Explorations of the cognitive processes in design

Intuitive design, as carried out by architects, product designers, and some engineers, is analyzed as a problem solving task within the framework of an information processing theory of cognition. A

Note on the Computer as an Aid to the Architect

The variety possible with this system, and its modular basis, suggested that a computer could usefully carry out many of the routine checks and calculations which an architect must undertake.