Skip to main content

Efficient User-level I/O in the ARX real-time operating system

  • Refereed Papers
  • Conference paper
  • First Online:
Languages, Compilers, and Tools for Embedded Systems (LCTES 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1474))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Institute for Electrical and Electronic Engineers. POSIX Part 1: System application program interface, 1996.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. M.K. Johnson. The Linux kernel hackers’ guide, 1997.

    Google Scholar 

  4. S. Leffler, M. McKusick, M. J. Karels, and J. Quarterman. The Design and Implementation of the 4.3BSD UNIX Operating System. Addison Wesley, 1990.

    Google Scholar 

  5. 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.

    Article  MATH  MathSciNet  Google Scholar 

  6. 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.

    Article  Google Scholar 

  7. Silicon Graphics, Inc. REACTâ„¢ in IRIXâ„¢ 6.4. Technical report, Jan 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Frank Mueller Azer Bestavros

Rights and permissions

Reprints 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

Publish with us

Policies and ethics