Predictable Interrupt Management for Real Time Kernels over conventional PC Hardware

In this paper we analyze the traditional model of interrupt management and its incapacity to incorporate reliability and the temporal predictability demanded on real-time systems. As a result of this analysis, we propose a model that integrates interrupts and tasks handling. We make a schedulability analysis to evaluate and distinguish the circumstances under which this integrated model improves the traditional model. The design of a flexible and portable kernel interrupt subsystem for this integrated model is presented. In addition, we present the rationale for the implementation of our design over conventional PC interrupt hardware and the analysis of its overhead. Finally, experimental results are conducted to demonstrate the deterministic behavior of our integrated model and to quantify its overhead.

[1]  Lui Sha,et al.  Aperiodic task scheduling for Hard-Real-Time systems , 2006, Real-Time Systems.

[2]  Jukka Mäki-Turja,et al.  Towards Efficient Analysis of Interrupts in Real-Time Systems , 1999 .

[3]  S. Goddard,et al.  Proceedings of the twelfth IEEE Real-Time and Embedded Technology and Applications Symposium, 4-7, April 2006, San Jose, California , 2006 .

[4]  Mark Klein,et al.  A practitioner's handbook for real-time analysis - guide to rate monotonic analysis for real-time systems , 1993, The Kluwer international series in engineering and computer science.

[5]  David Brunton Stewart Twenty-Five Most Common Mistakes with Real-Time Software Development , 1999 .

[6]  Kevin Jeffay,et al.  Accounting for interrupt handling costs in dynamic priority task systems , 1993, 1993 Proceedings Real-Time Systems Symposium.

[7]  Jakob Engblom,et al.  Worst-Case Execution Time Analysis of Disable Interrupt Regions in a Commercial Real-Time Operating System , 2002 .

[8]  A. Burns,et al.  Implementing analysable hard real-time sporadic tasks in Ada 9X , 1994, ALET.

[9]  Steve R. Kleiman,et al.  Interrupts as threads , 1995, OPSR.

[10]  Jens Palsberg,et al.  Static checking of interrupt-driven software , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[11]  Gerhard Fohler,et al.  Handling interrupts with static scheduling in an automotive vehicle control system , 1998, Proceedings Fifth International Conference on Real-Time Computing Systems and Applications (Cat. No.98EX236).

[12]  John P. Lehoczky,et al.  The rate monotonic scheduling algorithm: exact characterization and average case behavior , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[13]  Giorgio C. Buttazzo,et al.  Non-preemptive interrupt scheduling for safe reuse of legacy drivers in real-time systems , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[14]  Ted Hills Structured interrupts , 1993, OPSR.

[15]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

[16]  John Regehr,et al.  Eliminating Interrupt Overload in Embedded Systems , 2004 .

[17]  A Zahir AN INTEGRATED CONCEPT OF HANDLING PREEMPTIONS AND INTERRUPTS FOR AUTOMOTIVE REAL-TIME OPERATING SYSTEMS , 1999 .

[18]  Hermann Kopetz,et al.  Distributed fault-tolerant real-time systems: the Mars approach , 1989, IEEE Micro.

[19]  David B. Stewart,et al.  A Tool for Analyzing and Fine Tuning the Real-Time Properties of an Embedded System , 2003, IEEE Trans. Software Eng..