The C++ programming language
Choices (class hierarchical open interface for custom embedded systems)
ACM SIGOPS Operating Systems Review
The logical design of operating systems (2nd ed.)
The logical design of operating systems (2nd ed.)
Modularization and hierarchy in a family of operating systems
Communications of the ACM
Communications of the ACM
The design of the Venus operating system
Communications of the ACM
The structure of the “THE”-multiprogramming system
Communications of the ACM
Operating Systems
Accent: A communication oriented network operating system kernel
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
An overview of the Amoeba distributed operating system
ACM SIGOPS Operating Systems Review
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
The muse object architecture: a new operating system structuring concept
ACM SIGOPS Operating Systems Review
The Apertos reflective operating system: the concept and its implementation
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Hi-index | 0.00 |
The programming of the interrupt handling mechanisms, process switching primitives, scheduling mechanisms, and synchronization primitives of an operating system for a multiprocessor require both efficient code in order to support the needs of high-performance or real-time applications and careful organization to facilitate maintenance. Although many advantages have been claimed for object-oriented class hierarchical languages and their corresponding design methodologies, the application of these techniques to the design of the primitives within an operating system has not been widely demonstrated.To investigate the role of class hierarchical design in systems programming, the authors have constructed the Choices multiprocessor operating system architecture using the C++ programming language. During the implementation, it was found that many operating system design concerns can be represented advantageously using a class hierarchical approach, including: the separation of mechanism and policy; the organization of an operating system into layers, each of which represents an abstract machine; and the notions of process and exception management. In this paper, we discuss an implementation of the low-level primitives of this system and outline the strategy by which we developed our solution.