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

Fingerprint

Computer systems programming
Computer programming languages
Synchronization
Systems analysis
Scheduling

ASJC Scopus subject areas

  • Software
  • Computer Graphics and Computer-Aided Design

Cite this

Process management and exception handling in multiprocessor operating systems using object-oriented design techniques. / Russo, Vincent; Johnston, Gary; Campbell, Roy.

In: ACM SIGPLAN Notices, Vol. 23, No. 11, 01.11.1988, p. 248-258.

Research output: Contribution to journalArticle

@article{3e2ecdc6f03745d092e6185c8d024ef9,
title = "Process management and exception handling in multiprocessor operating systems using object-oriented design techniques",
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.",
author = "Vincent Russo and Gary Johnston and Roy Campbell",
year = "1988",
month = "11",
day = "1",
doi = "10.1145/62084.62105",
language = "English (US)",
volume = "23",
pages = "248--258",
journal = "ACM SIGPLAN Notices",
issn = "1523-2867",
publisher = "Association for Computing Machinery (ACM)",
number = "11",

}

TY - JOUR

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

AU - Russo, Vincent

AU - Johnston, Gary

AU - Campbell, Roy

PY - 1988/11/1

Y1 - 1988/11/1

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=84976819700&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84976819700&partnerID=8YFLogxK

U2 - 10.1145/62084.62105

DO - 10.1145/62084.62105

M3 - Article

AN - SCOPUS:84976819700

VL - 23

SP - 248

EP - 258

JO - ACM SIGPLAN Notices

JF - ACM SIGPLAN Notices

SN - 1523-2867

IS - 11

ER -