next up previous contents index
Next: 1.3 Overall Design Principles Up: 1.2 Road Map Previous: 1.2.2 Function Libraries

1.2.3 Component Libraries

Finally, the OSKit's component libraries provide generally higher-level functionality in a more standard, coarse-grained, object-oriented ``black box'' design philosophy. Although the OSKit's ``components'' are also packaged into ordinary link libraries by default, their structure represents more of a component-oriented design than a traditional C function-oriented design. In contrast with the OSKit's function libraries, the component libraries typically export relatively few public entrypoints in comparison to the amount of functionality provided. For example, in the Linux and BSD device driver component libraries (see Chapters 29 and  30), each entire device driver is represented by a single function entrypoint which is used to initialize and register the driver as a whole. The client OS generally interacts with these components through the OSKit's object-oriented COM interfaces, allowing many components and instances of components to coexist and interact as defined by the OS developer. This design strategy has proven to be most appropriate when incorporating large chunks of existing code from existing systems such as BSD and Linux, where it is more important to hide the details of the original environment than to provide the most flexibility.

Following is a summary of the component libraries currently provided by the OSKit along with the chapter numbers in which each is described:


next up previous contents index
Next: 1.3 Overall Design Principles Up: 1.2 Road Map Previous: 1.2.2 Function Libraries

University of Utah Flux Research Group