The nucleus of a multiprogramming system
Communications of the ACM
Programming semantics for multiprogrammed computations
Communications of the ACM
A philosophy for computer sharing
SOSP '67 Proceedings of the first ACM symposium on Operating System Principles
TRAFFIC CONTROL IN A MULTIPLEXED COMPUTER
TRAFFIC CONTROL IN A MULTIPLEXED COMPUTER
Implementing Remote Evaluation
IEEE Transactions on Software Engineering
ACM Transactions on Programming Languages and Systems (TOPLAS)
Flexibility and performance of parallel file systems
ACM SIGOPS Operating Systems Review
A lattice model of secure information flow
Communications of the ACM
A proposal for certain process management and intercommunication primitives
ACM SIGOPS Operating Systems Review
Heart: An operating system nucleus machine implemented by firmware
ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
Abstract machines and software design
Proceeding of ACM SIGPLAN - SIGOPS interface meeting on Programming languages - operating systems
ACM SIGMIS Database
Dixie language and interpreter issues
VHLLS'94 Proceedings of the USENIX 1994 Very High Level Languages Symposium Proceedings on USENIX 1994 Very High Level Languages Symposium Proceedings
Protection: principles and practice
AFIPS '72 (Spring) Proceedings of the May 16-18, 1972, spring joint computer conference
AFIPS '76 Proceedings of the June 7-10, 1976, national computer conference and exposition
Hi-index | 48.23 |
An operating system which is organized as a small supervisor and a set of independent processes are described. The supervisor handles I/O with external devices—the file and directory system—schedules active processes and manages memory, handles errors, and provides a small set of primitive functions which it will execute for a process. A process is able to specify a request for a complicated action on the part of the supervisor (usually a wait on the occurrence of a compound event in the system) by combining these primitives into a “supervisory computer program.” The part of the supervisor which executes these programs may be viewed as a software implemented “supervisory computer.” The paper develops these concepts in detail, outlines the remainder of the supervisor, and discusses some of the advantages of this approach.