Skip to main content
Log in

Real-Time Schedulability Tests for Preemptive Multitasking

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

When developing multitasking real-time systems, schedulability tests are used to formally prove that a given task set will meet its deadlines. A wide range of such tests have appeared in the literature. This tutorial acts as a guide to the major tests available for preemptive multitasking applications.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Audsley, N., and Burns, A. 1990. Real-time system scheduling. Technical Report YCS 134, Department of Computer Science, University of York.

  • Audsley, N., Burns, A., Richardson, M., Tindell, K., and Wellings, A. 1993. Applying new scheduling theory to static priority pre-emptive scheduling. Software Engineering Journal 8(5): 284-292.

    Google Scholar 

  • Audsley, N. C., Burns, A., Davis, R. I., Tindell, K. W., and Wellings, A. J. 1995. Fixed priority pre-emptive scheduling: An historical perspective. Real-Time Systems 8: 173-198.

    Google Scholar 

  • Audsley, N. C., Burns, A., Richardson, M. F., and Wellings, A. J. 1991. Hard real-time scheduling: The deadline monotonic approach. In Eighth IEEE Workshop on Real-Time Operating Systems and Software, pages 133-137.

  • Audsley, N. C., Burns, A., Richardson, M. F., and Wellings, A. J. 1994. Stress: A simulator for hard real-time systems. Software—Practice & Experience.

  • Baker, T. P. 1990. A stack-based resource allocation policy for realtime processes. In Proc. Real-Time Systems Symposium. IEEE Computer Society Press, pp. 191-200.

  • Baker, T. P. 1991. Stack-based scheduling of real-time processes. Real Time Systems 3(1): 67-99.

    Google Scholar 

  • Barnes, J. G. P. 1993. Programming in Ada Plus an Overview of Ada 9X. Addison-Wesley.

  • Bate, I. J., Burns, A., and Audsley, N. C. 1996. Putting fixed priority scheduling theory into engineering practice for safety critical applications. In Proc. Second Real-Time Applications Symposium, Boston, pp. 2-10.

  • Burns, A., Tindell, K., and Wellings, A. J. 1994. Fixed priority scheduling with deadlines prior to completion. In Proc. Sixth Euromicro Workshop on Real-Time Systems, pp. 138-142.

  • Burns, A., Tindell, K., and Wellings, A. J. 1995. Effective analysis for engineering real-time fixed priority schedulers. IEEE Trans. on Software Engineering 21(5): 475-480.

    Google Scholar 

  • Burns, A., and Wellings, A. J. 1990. Real-Time Systems and their Programming Languages. Addison-Wesley.

  • Burns, A., and Wellings, A. J. 1991. Priority inheritance and message passing communication: A formal treatment. The Journal of Real-Time Systems 3: 19-44.

    Google Scholar 

  • Burns, A., and Wellings, A. J. 1995. Engineering a hard real-time system: From theory to practice. Software-Practice & Experience 25(7): 705-726.

    Google Scholar 

  • Burns, A., and Wellings, A. J. 1996. Simple Ada 95 tasking models for high integrity applications. Department of Computer Science, University of York.

  • Chapman, R., Burns, A., and Wellings, A. J. 1994. Integrated program proof and worst-case timing analysis of SPARK Ada. In ACM Workshop on Language, Compiler and Tool Support for Real-Time Systems. ACM Press.

  • Chen, M.-I., and Lin, K.-J. 1990. Dynamic priority ceilings: A concurrency control protocol for real-time systems. Journal of Real-Time Systems 2(4): 325-346.

    Google Scholar 

  • Davis, R. 1994. Dual priority scheduling: A means of providing flexibility in hard real-time systems. Technical Report YCS 230, Department of Computer Science, University of York.

  • Giering III, E. and Baker, T. 1994. A tool for deterministic scheduling of real-time programs implemented as periodic ada tasks. ACM Ada Letters XIV: 54-73.

    Google Scholar 

  • Gomaa, H. 1993. Software Design Methods for Concurrent and Real-Time Systems. Addison-Wesley.

  • ISO 1994. Ada Reference Manual: Language and Standard Libraries, 6.0 edition. International Standard ISO/IEC 8652:1995.

  • Jones, M. B., Barrera III, J. S., Forin, A., Leach, P. J., Rosu, D., and Rosu, M.-C. 1996. An overview of the Rialto real-time architecture. In Proc. Seventh ACM SIGOPS European Workshop.

  • Joseph, M. and Pandya, P. 1986. Finding response times in a real-time system. The Computer Journal 29(5): 390-395.

    Google Scholar 

  • Kenny, K., and Lin, K.-J. 1991. Measuring and analyzing real-time performance. IEEE Software 8(5): 41-49.

    Google Scholar 

  • Klein, M. H. and Ralya, T. 1990. An analysis of input/output paradigms for real-time systems. Technical Report CMU/SEI-90-TR-19, Software Engineering Institute, Carnegie Mellon University.

  • Lehoczky, J. P. 1990. Fixed priority scheduling of periodic task sets with arbitrary deadlines. In Proc. Real-Time Systems Symposium, IEEE Computer Society Press, pp. 201-209.

  • Lehoczky, J. P., Sha, L., and Ding, Y. 1989. The rate monotonic scheduling algorithm: Exact characterization and average case behavior. In Proc. Real-Time Systems Symposium, IEEE Computer Society Press, pp. 166-171.

  • Leung, J. Y.-T. and Whitehead, J. 1982. On the complexity of fixed-priority scheduling of periodic, real-time tasks. Performance Evaluation 2: 237-250.

    Google Scholar 

  • Lim, S.-S., Bae, Y. H., Jang, G. T., Rhee, B.-D., Min, S. L., Park, C. Y., Shin, H., Park, K., Moon, S.-M., and Kim, C. S. 1995. An accurate worst case timing analysis for RISC processors. IEEE Transactions on Software Engineering 21(7): 593-604.

    Google Scholar 

  • Liu, C. L. and Layland, J. W. 1973. Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the ACM 20(1): 46-61.

    Google Scholar 

  • Locke, C. D. 1992. Software architecture for hard real-time applications: Cyclic executives vs. fixed priority executives. The Journal of Real-Time Systems 4: 37-53.

    Google Scholar 

  • Manabe, Y. and Aoyagi, S. 1995. A feasibility decision algorithm for rate monotonic scheduling of periodic real-time tasks. In Proc. Real-time Technology and Applications Symposium (RTAS'95), pp. 212-218.

  • Mercer, C. W. 1992. An introduction to real-time operating systems: Scheduling theory. School of Computer Science, Carnegie Mellon University.

  • Park, D.-W., Natarajan, S., and Kanevsky, A. 1996. Fixed-priority scheduling of real-time systems using utilization bounds. Journal of Systems and Software 33(1): 57-63.

    Google Scholar 

  • Puschner, P. and Koza, C. 1989. Calculating the maximum execution time of real-time programs. Journal of Real-Time Systems 1(2): 159-176.

    Google Scholar 

  • Ripoll, I., Crespo, A., and Mok, A. K. 1996. Improvement in feasibility testing for real-time tasks. Real-Time Systems 11(1): 19-39.

    Google Scholar 

  • Sha, L. and Goodenough, J. B. 1990. Real-time scheduling theory and Ada. IEEE Computer 23(4): 53-62.

    Google Scholar 

  • Sha, L., Klein, M. H., and Goodenough, J. B. 1991. Rate monotonic analysis for real-time systems. Technical Report CMU/SEI-91-TR-6, Software Engineering Institute, Carnegie Mellon University.

  • Sha, L., Rajkumar, R., and Lehoczky, J. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans. Computers 39(9): 1175-1185.

    Google Scholar 

  • Sha, L., Rajkumar, R., Lehoczky, J., and Ramamritham, K. 1989. Mode change protocols for priority-driven preemptive scheduling. Journal of Real-Time Systems 1(3): 243-264.

    Google Scholar 

  • Sha, L., Rajkumar, R., and Lehoczky, J. P. 1987. Priority inheritance protocols: An approach to real-time synchronisation. Technical Report CMU-CS-87-181, Department of Computer Science, Carnegie Melon University.

  • Sha, L. and Sathaye, S. S. 1995. Distributed system design using generalized rate monotonic theory. Technical Report CMU/SEI-95-TR-011, Software Engineering Institute, Carnegie Mellon University.

  • Shaw, A. C. 1989. Reasoning about time in higher-level language software. IEEE Transactions on Software Engineering 15(7): 875-889.

    Google Scholar 

  • Shin, K. G. and Ramanathan, P. 1994. Real-time computing: A new discipline of computer science and engineering. Proceedings of the IEEE 82(1): 6-24.

    Google Scholar 

  • Sprunt, B., Sha, L., and Lehoczky, J. 1989. Aperiodic task scheduling for hard real-time systems. Journal of Real-Time Systems 1(1): 27-60.

    Google Scholar 

  • Stoyenko, A. D. and Baker, T. P. 1994. Real-time schedulability-analyzable mechanisms in Ada 9X. Proceedings of the IEEE 82(1): 95-107.

    Google Scholar 

  • Strosnider, J. K. 1995. Performance engineering real-time/multimedia systems. Seminar presentation, Uni. Qld. Contact: Department of Electrical and Computer Engineering, Carnegie Mellon University, Strosnider@gauss.ece.cmu.edu.

  • Taft, S. T. 1992. Ada 9X: A technical summary. Communications of the ACM 35(11): 77-82.

    Google Scholar 

  • Tindell, K. 1994. Adding time-offsets to schedulability analysis. Technical Report YCS 221, Department of Computer Science, University of York.

  • Tindell, K., Burns, A., and Wellings, A. J. 1994. An extendible approach for analyzing fixed priority hard real-time tasks. Real-Time Systems 6: 133-151.

    Google Scholar 

  • Tindell, K. and Clark, J. 1994. Holistic schedulability analysis for distributed hard real-time systems. Euromicro Journal (Special Issue on Parallel Embedded Real-Time Systems) 40: 117-134.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Fidge, C.J. Real-Time Schedulability Tests for Preemptive Multitasking. Real-Time Systems 14, 61–93 (1998). https://doi.org/10.1023/A:1007993819750

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1007993819750

Navigation