Flexible Low-Level System Programming in Apertos Operating System


Jun-ichiro Itoh, Yasuhiko Yokote and Mario Tokoro


ACM OOPSLA'94 Workshop on Flexibility in System Software Position Paper


This position paper states our new approach of implementing low-level OS components, especially device drivers. We introduce the notion of concurrent objects into low-level system programming. A device driver for every hardware device is implemented as independent concurrent objects. A device driver object has a single thread of control, so that mutual exclusion operations such as spl and semaphores are not necessary. Mechanisms of synchronization, object scheduling, and interrupt mask handling are clearly separated from actual device control programs, and these are implemented by the system for device driver objects. By these methods, low-level OS components can be made flexible and executed safely, with practical performance.