View Related Documents

Abstract

User-level I/O gets increasingly important for embedded realtime applications, since it can allow programmers to write flexible and efficient device drivers for proprietary devices. To support user-level I/O for embedded systems, an operating system must provide a mechanism to deliver an external interrupt from an I/O device to a process in a predictable and efficient manner. In this paper, we propose an efficient user-level I/O scheme which is based on a newly designed user-level signal mechanism. This scheme which exploits the multithreading architecture of the kernel such as dynamic stack binding and scheduling event upcalls can overcome the problems of traditional signal implementations. We have fully implemented our scheme on the ARX real-time operating system that we already developed, and performed experiments to demonstrate its performance. The experiments clearly show that our user-level I/O scheme allows for a predictable delivery of external interrupts with a low overhead.
The work reported in this paper was supported in part by Engineering Research Center for Advanced Control and Instrumentation (ERC-ACI) under Grant 96K3-0707-02-06-2, and KOSEF under Grants 981-0924-127-2 and 97-0102-05-01-3.

Fulltext Preview

Image of the first page of the fulltext document