Abstract
This chapter covers embedded real-time operating systems (RTOS). It introduces the concepts and requirements of real-time systems. It covers the various kinds of task scheduling algorithms in RTOS, which include RMS, EDF and DMS. It explains the problem of priority inversion due to preemptive task scheduling. It describes the schemes to prevent priority inversion by priority ceiling and priority inheritance. It includes case studies of several popular real-time OS and presents a set of general guidelines for RTOS design. It shows the design and implementation of a UP_RTOS for uniprocessor (UP) systems. Then it extends the UP_RTOS to a SMP_RTOS, which supports nested interrupts, preemptive task scheduling, priority inheritance and inter-processor synchronization by SGI.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Audsley, N.C: “Deadline Monotonic Scheduling”, Department of Computer Science, University of York, 1990
Audsley, N. C, Burns, A., Richardson, M. F., Tindell, K., Wellings, A. J.: “Applying new scheduling theory to static priority pre-emptive scheduling. Software Engineering Journal, 8(5):284–292, 1993.
Buttazzo, G. C.: Counter RMS claims Rate Monotonic vs. EDF: Judgment Day, Real-Time Systems, 29, 5–26, 2005
Dietrich, S., Walker, D., “The evolution of Real-Time Linux”, http://www.cse.nd.edu/courses/cse60463/www/amatta2.pdf, 2015
DNX: DNX RTOS, http://www.dnx-rtos.org, 2015
FreeROTS: FreeRTOS, http://www.freertos.org, 2016
Hagen, W. “Real-Time and Performance Improvements in the 2.6 Linux Kernel”, Linux journal, 2005
Josheph, M and Pandya, P., “Finding response times in a real-time system”’, Comput. J., 1986, 29, (5). pp. 390-395
Jones, M. B. (December 16, 1997). “What really happened on Mars?”. Microsoft.com. 1997
Labrosse, J.: Micro/OS-II, R&D Books, 1999
Leung, J.Y T., Merrill, M. L : ”A note on preemptive scheduling of periodic, real-time tasks. Information Processing Letters, 11(3):115–118, 1982
Linux: “Intro to Real-Time Linux for Embedded Developers”, https://www.linux.com/blog/intro-real-time-linux-embedded-developers
Liu, C. L.; Layland, J. “Scheduling algorithms for multiprogramming in a hard real-time environment”, Journal of the ACM 20 (1): 46–61, 1973
Micrium: Micro/OS-III, https://www.micrium.com, 2016
Nutt, G. NuttX, Real-Time Operating system, nuttx.org, 2016
POSIX 1003.1b: https://en.wikipedia.org/wiki/POSIX, 2016
QNX: QNX Neutrino RTOS, http://www.qnx.com/products/neutrino-rtos, 2015
Reeves, G. E.: “What really happened on Mars? - Authoritative Account”. Microsoft.com. 1997.
RTLinux: RTLinux, https://en.wikipedia.org/wiki/RTLinux
Sha, L., Rajkumar,R., Lehoczky,J.P.: (September 1990). “Priority Inheritance Protocols: An Approach to Real-Time Synchronization”, IEEE Transactions on Computers,Vol 39, pp1175–1185, 1990
VxWorks: VxWorks: http://windriver.com, 2016.
Yodaiken, V.:”The RTLinux Manifesto”, Proceedings of the 5th Linux Conference, 1999
Wang, K. C.: “Design and Implementation of the MTX Operating System”, Springer Publishing International AG, 2015
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Wang, K.C. (2017). Embedded Real-Time Operating Systems. In: Embedded and Real-Time Operating Systems. Springer, Cham. https://doi.org/10.1007/978-3-319-51517-5_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-51517-5_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-51516-8
Online ISBN: 978-3-319-51517-5
eBook Packages: EngineeringEngineering (R0)