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.
Preview
Unable to display preview. Download preview PDF.
References
Institute for Electrical and Electronic Engineers. POSIX Part 1: System application program interface, 1996.
S. Hong, Y. Seo, and J. Park. ARX/ULTRA: A new real-time kernel architecture for supporting user-level threads. Technical Report SNU-EE-TR-1997-3, School of Electrical Engineering, Seoul National University, August 1997.
M.K. Johnson. The Linux kernel hackers’ guide, 1997.
S. Leffler, M. McKusick, M. J. Karels, and J. Quarterman. The Design and Implementation of the 4.3BSD UNIX Operating System. Addison Wesley, 1990.
C. Liu and J. Layland. Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the ACM, 20(1):46–61, Jan 1973.
A. K. Parekh and R. G. Gallager. A generalized processor sharing approach to flow control in integrated services networks: The single-node case. IEEE/ACM Transactions on Networking, 1(3):344–357, December 1993.
Silicon Graphics, Inc. REACTâ„¢ in IRIXâ„¢ 6.4. Technical report, Jan 1997.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Seo, Y., Park, J., Hong, S. (1998). Efficient User-level I/O in the ARX real-time operating system. In: Mueller, F., Bestavros, A. (eds) Languages, Compilers, and Tools for Embedded Systems. LCTES 1998. Lecture Notes in Computer Science, vol 1474. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0057789
Download citation
DOI: https://doi.org/10.1007/BFb0057789
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65075-1
Online ISBN: 978-3-540-49673-1
eBook Packages: Springer Book Archive