Object-Oriented Device Driver Programming
Jun-ichiro Itoh and Mario Tokoro
JSSST 10th Workshop on Object-Oriented Computing (WOOC'94) Handout
Operating systems should be made flexible from their
low-level system structures, to enable them to adapt to
dynamic changes of the outer world.
This paper proposes a methodology for making device drivers
completely re-configurable, by introducing object-oriented
reflective programming into the low-level system structures
of operating systems.
We introduce concurrent objects and continuations
as a basic framework for low-level system object programming.
Under our framework, it is possible to write device driver code
without managing the interrupt masks, and to eliminate the
burden of synchronization codes from low-level system objects.
We discuss the important design issues that are needed to
introduce object-oriented reflective programming into the
low-level structures of operating systems, where critical
timing constraints must be maintained.
Finally, we present the implementation of our methodology on
our Apertos operating system and demonstrate its efficiency
through our preliminary evaluation.