Inheritance in Unlikely Places: Using Objects to Build Derived Implementations of Flat Interfaces
- Michael B. Jones
Proceedings of the Second International Workshop on Object Orientation in Operating Systems |
Published by Institute of Electrical and Electronics Engineers, Inc.
Traditional operating systems typically provide a number of flat, non-object oriented interfaces through which system services are provided to applications. Two such examples are the UNIX system call interface and X Window System protocol. Typically such services are provided by large, monolithic implementations, through inheritance or other means. Noetheless, it is possible to provide flexible, object oriented views of otherwise flat, non-object oriented interfaces. Furthermore, these views can be used to build new implementations of these same flat interfaces in terms of other ones. This approach can bring the benefits of objects such as enhanced and/or applicaation specific implementations of standard services to both building and using otherwise fixed, flat interfaces which for one reason or another cannot be changed. My recent thesis work has taken this approach; other seemingly unrelated systems also use this paradigm. This paper presents this paradigm and some of the benefits derived from it, citing several real systems as examples.
© 1992 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.