Premium
The Elmwood multiprocessor operating system
Author(s) -
Leblanc Thomas J.,
MellorCrummey John M.,
Gafter Neal M.,
Crowl Lawrence A.,
Dibble Peter C.
Publication year - 1989
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380191103
Subject(s) - computer science , multiprocessing , kernel (algebra) , synchronization (alternating current) , abstraction , asynchronous communication , interface (matter) , operating system , programming language , distributed computing , computer network , channel (broadcasting) , philosophy , mathematics , epistemology , bubble , combinatorics , maximum bubble pressure method
Abstract Elmwood is an object‐oriented, multiprocessor operating system designed and implemented during a graduate seminar. It consists of a minimal kernel and a collection of user‐implemented services. The kernel provides two major abstractions: objects , which consist of code and data, and processes, which represent asynchronous activity. Objects, like programs, are passive. To operate on an abstraction or to request a service, processes invoke an entry procedure defined by the corresponding object. Objects implement their own protection and synchronization policies using minimal kernel mechanisms. We describe the Elmwood kernel interface, an implementation on the BBN Butterfly parallel processor, and our experiences in developing a multiprocessor operating system under rigid time constraints. These experiences illustrate several general lessons regarding kernel design and trade‐offs for implementation expedience.