Process management and exception handling in multiprocessor operating systems using object-oriented design techniques

Vincent Russo, Gary Johnston, Roy Campbell

Research output: Contribution to journalArticle

Abstract

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.

Original languageEnglish (US)
Pages (from-to)248-258
Number of pages11
JournalACM SIGPLAN Notices
Volume23
Issue number11
DOIs
StatePublished - Nov 1 1988

ASJC Scopus subject areas

  • Software
  • Computer Graphics and Computer-Aided Design

Fingerprint Dive into the research topics of 'Process management and exception handling in multiprocessor operating systems using object-oriented design techniques'. Together they form a unique fingerprint.

  • Cite this