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 of processes and resources, a library of service routines for implementing a variety of resource management strategies and facilities for cleanly handling all input‐output and interrupts. The process management component is straightforward, but the resource facilities are novel in permitting the dynamic definition and control of classes of real or virtual resources. Resources are considered to be anything on which a process can be blocked and consequently encompass consumable (message‐like) as well as conventional, re‐usable objects. Applications of the nucleus as well as some implementation details are also presented.