Advertisement

Embedded Real-Time Operating Systems

  • K. C. WangEmail author
Chapter

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.

Keywords

Shared Memory Task Schedule Task Switch Address Space High Priority Task 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. Audsley, N.C: “Deadline Monotonic Scheduling”, Department of Computer Science, University of York, 1990Google Scholar
  2. 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.Google Scholar
  3. Buttazzo, G. C.: Counter RMS claims Rate Monotonic vs. EDF: Judgment Day, Real-Time Systems, 29, 5–26, 2005Google Scholar
  4. Dietrich, S., Walker, D., “The evolution of Real-Time Linux”, http://www.cse.nd.edu/courses/cse60463/www/amatta2.pdf, 2015
  5. DNX: DNX RTOS, http://www.dnx-rtos.org, 2015
  6. FreeROTS: FreeRTOS, http://www.freertos.org, 2016
  7. Hagen, W. “Real-Time and Performance Improvements in the 2.6 Linux Kernel”, Linux journal, 2005Google Scholar
  8. Josheph, M and Pandya, P., “Finding response times in a real-time system”’, Comput. J., 1986, 29, (5). pp. 390-395Google Scholar
  9. Jones, M. B. (December 16, 1997). “What really happened on Mars?”. Microsoft.com. 1997Google Scholar
  10. Labrosse, J.: Micro/OS-II, R&D Books, 1999Google Scholar
  11. Leung, J.Y T., Merrill, M. L : ”A note on preemptive scheduling of periodic, real-time tasks. Information Processing Letters, 11(3):115–118, 1982Google Scholar
  12. Linux: “Intro to Real-Time Linux for Embedded Developers”, https://www.linux.com/blog/intro-real-time-linux-embedded-developers
  13. Liu, C. L.; Layland, J. “Scheduling algorithms for multiprogramming in a hard real-time environment”, Journal of the ACM 20 (1): 46–61, 1973Google Scholar
  14. Micrium: Micro/OS-III, https://www.micrium.com, 2016
  15. Nutt, G. NuttX, Real-Time Operating system, nuttx.org, 2016Google Scholar
  16. QNX: QNX Neutrino RTOS, http://www.qnx.com/products/neutrino-rtos, 2015
  17. Reeves, G. E.: “What really happened on Mars? - Authoritative Account”. Microsoft.com. 1997.Google Scholar
  18. 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, 1990Google Scholar
  19. VxWorks: VxWorks: http://windriver.com, 2016.
  20. Yodaiken, V.:”The RTLinux Manifesto”, Proceedings of the 5th Linux Conference, 1999Google Scholar
  21. Wang, K. C.: “Design and Implementation of the MTX Operating System”, Springer Publishing International AG, 2015Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.School of Electrical Engineering and Computer ScienceWashington State UniversityPullmanUSA

Personalised recommendations