The distributed systems architecture Think ("THink Is Not a Kernel") is a platform for the development of distributed operating systems kernels. The goal of the Think architecture is to ease the development of efficient, flexible, and secure operating systems. Think provides the system programmer with interfaces that reify the underlying hardware, and optional system abstractions proposed as libraries. The development of a kernel with Think is made easier by its object-oriented framework, since in Think, all resources (both hardware and software) are considered as objects. These objects export interfaces which define their behavior and make them accessible to other objects. Each interface has a name in a given naming context, and is linked to other interfaces by bindings. A binding is essentially a communication channel between two objects. These bindings can take many forms, as simple as the association between a variable name and its value, or more complex like a binding over a network between two objects on different machines. Bindings are created by dedicated objects called binding factories, those main function (i.e. creating bindings) can be freely extended to enforce a chosen behavior. Finally, objects can be grouped in domains according to a common property (e.g. security domains, fault-domains, etc).
Oleg suggested this as another application of module
systems to the composition of operating system kernels.
The most important part of this work, if I understand correctly, is trying to identify minimal abstractions that support the proposed model of component composition.
Posted to Software-Eng by Ehud Lamm on 9/23/02; 3:10:44 AM
|
|