| | |
Summary: Non-Blocking Synchronization and Object-Oriented Operating System Design
C. Scott Ananian
Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology
Cambridge, MA 02139
cananian@csail.mit.edu
Abstract
Mutual exclusion is typically employed for multiprocess
synchronization. However, Massalin and Pu [MP91], and
Greenwald and Cheriton [GC96] have implemented com-
plete operating systems using non-blocking synchronization
instead of mutual exclusion. Although most operating sys-
tems are implemented using procedural languages, both of
these systems have significant object-oriented characteris-
tics. We show the interaction of non-blocking synchroniza-
tion and object-oriented language design for operating sys-
tems, and present a proposal for an implementation of the
Java programming language with non-blocking synchroniza-
tion based on functional arrays. We present an experimental
plan to run portions of a Java operating system under our
|