Abstract
Many thousands of research papers have been written about how to schedule a set of tasks in a system with a limited amount of resources such that all tasks will meet their deadlines. This chapter tries to summarize some important results of scheduling research that are relevant to the designer of real-time systems. The chapter starts by introducing the notion of a schedulability test to determine whether a given task set is schedulable or not. It distinguishes between a sufficient, an exact, and a necessary schedulability test. A scheduling algorithm is optimal if it will find a schedule whenever there is a solution. The adversary argument shows that generally it is not possible to design an optimal on-line scheduling algorithm. A prerequisite for the application of any scheduling technique is knowledge about the worst-case execution time (WCET) of all time-critical tasks. Section 10.2 presents techniques to estimate the WCET of simple tasks and complex tasks. Modern processors with pipelines and caches make it difficult to arrive at tight bounds for the WCET. Anytime algorithms that contain a root segment that provides a result of sufficient (but low) quality and an optional periodic segment that improves on the quality of the previous result point to a way out of this dilemma.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Buttazzo, G. (2004). Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Springer Verlag.
Cheng, S.C. (1987). Scheduling Algorithms for Hard Real-Time Systems–A Brief Survey. In: Hard Real-Time Systems. IEEE Press.
Fohler, G. (1994). Flexibility in Statically Scheduled Hard Real-Time Systems. PhD Thesis. Institut fĂĽr Technische Informatik. Technical University of Vienna.
Garey, M.R. & D.S. Johnson. (1975). Complexity Results for Multiprocessor Scheduling under Resource Constraints. SIAM Journal of Computing. Vol. 4(4). (pp. 397-411).
Jones, M. (1997). What really happened on Mars Rover Pathfinder. URL: http://catless.ncl.ac.uk/Risks/19.49.html#subj1.
Liu, C.L. & J.W. Layland. (1973). Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment. Journal of the ACM. Vol. 20(1). (pp. 46-61).
Lv, M. et al. (2009). A Survey of WCET Analysis of Real-Time Operating Systems. URL: http://www.neu-rtes.org/publications/lv_ICESS09.pdf
Mok, A. (1993). Fundamental Design Problems of Distributed Systems for the Hard Real-Time Environment. PhD Thesis. Massachusetts Institute of Technology.
Puschner, P. & C. Koza. (1989). Calculating the Maximum Execution Time of Real-Time Programs. Real-Time Systems. Springer Verlag. Vol: 1(2). (pp. 159-176).
Sha, L. et al. (2004). Real-Time Scheduling Theory: A Historical Perspective. Real-Time Systems Journal. Vol. 28(3/4). Springer Verlag. (pp. 101-155).
Shaw, A.C. (1989). Reasoning About Time in Higher-Level Language Software. IEEE Trans. on Software Engineering. Vol. SE-15. (pp. 875-889).
Sha, L., R. Rajkumar, & J.P. Lehoczky. (1990). Priority Inheritence Protocols: An Approach to Real-Time Synchronization. IEEE Trans. on Computers. Vol. 39(9). (pp. 1175-1185).
Sha, L., R. Rajkumar, and S.S. Sathaye. (1994). Generalized Rate-Monotonic Scheduling Theory: A Framework for Developing Real-Time Systems. Proc. of the IEEE. Vol. 82(1). (pp. 68-82).
Sprunt, B., L. Sha, & J. Lehoczky. (1989). Aperiodic Task Scheduling for Hard Real-Time Systems. Real-Time Systems. Vo. 1(1). (pp. 27-60).
Tindell, K. (1995). Analysis of Hard Real-Time Communications. Real-Time Systems. Vol. 9(2). (pp. 147-171).
Wilhelm, R. et al. (2008). The Worst-Case Execution Time Problem—Overview of Methods and Survey of Tools. ACM Trans. on Embedded Computer Systems, Vol. 7(3). (pp. 1-53).
Xu, J., & Parnas, D. (1990). Scheduling Processes with Release Times, Deadlines, Precedence, and Exclusion Relations. IEEE Trans. on Software Engineering. Vol. 16(3). (pp. 360-369).
Zilberstein, S. (1996). Using Anytime Algorithms in Intelligent Systems. AI Magazine. Vol. 16(3). (pp. 73-83).
Chu, Y., Burns, A. (2008). Flexible Hard Real-Time Scheduling for Deliberative AI Systems. Real-Time Systems Journal. Vol. 40(3). (pp. 241-263).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Kopetz, H. (2011). Real-Time Scheduling. In: Real-Time Systems. Real-Time Systems Series. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-8237-7_10
Download citation
DOI: https://doi.org/10.1007/978-1-4419-8237-7_10
Published:
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4419-8236-0
Online ISBN: 978-1-4419-8237-7
eBook Packages: Computer ScienceComputer Science (R0)