Abstract
Real-time applications usually are executed on top of a Real-time Operating System (RTOS). Specific scheduling algorithms can be designed. When possible, static cyclic schedules are calculated off-line. If more flexibility is needed on-line techniques are applied. These algorithms are bound to priorities which can be assigned statically or dynamically. Designing a proper RTOS architecture needs some delicate decisions. The basic services like process management, inter-process communication, interrupt handling, or process synchronization have to be provided in an efficient manner making use of a very restricted resource budget. Various techniques like library-based approaches, monolithic kernels, microkernels, or virtual machines/exokernels are applied, based on specific demands. Safety critical application can be supported by separation of applications either in the time or the space domain. Multi-core architectures need special techniques for process management, memory management, and synchronization. The upcoming Wireless Sensor Networks (WSN) generate special demands for RTOS support leading to dedicated solutions. Another special area is given by multimedia applications. Very high data rates have to be supported under (soft) RT constraints. Based on the used encoding techniques (e.g. MPEG) dedicated solutions can be created.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Victor R. Basili and Barry T. Perricone. Software errors and complexity: an empirical investigation. Commun. ACM, 27(1):42–52, 1984.
Giorgio C. Buttazzo. Hard Real-time Computing Systems: Predictable Scheduling Algorithms and Applications (Real-Time Systems Series). Springer-Verlag Telos, Santa Clara, 2004.
Giorgio C. Buttazzo. Rate monotonic vs. EDF: judgment day. Real-Time Syst., 29(1):5–26, 2005.
David E. Culler, Jason Hill, Philip Buonadonna, Robert Szewczyk, and Alec Woo. A network-centric approach to embedded software for tiny devices. In EMSOFT ’01: Proceedings of the First International Workshop on Embedded Software, pages 114–130. Springer, Berlin, 2001.
P.K. Dutta and D.E. Culler. System software techniques for low-power operation in wireless sensor networks. In ICCAD ’05: Proceedings of the 2005 IEEE/ACM International Conference on Computer-aided Design, pages 925–932. IEEE Computer Society, Washington, 2005.
Adam Dunkels, Bjorn Gronvall, and Thiemo Voigt. Contiki—a lightweight and flexible operating system for tiny networked sensors. In LCN ’04: Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks, pages 455–462. IEEE Computer Society, Washington, 2004.
E.W. Dijkstra. Cooperating sequential processes. In F. Genuys, editor, Programming Languages, pages 43–112. Academic Press, New York, 1968.
Carsten Ditze. Towards Operating System Synthesis. Phd thesis, Department of Computer Science, Paderborn University, Paderborn, Germany, 1999.
M. Ditze. Coordinated Cross-Layer Management of QoS Capabilities for Transmitting Multimedia Traffic across Wireless IEEE 802.11 Networks. To be published as University of Paderborn PhD Thesis, 2008.
Hermann Kopetz. Real-Time Systems: Design Principles for Distributed Embedded Applications. Kluwer Academic, Norwell, 1997.
Holger Karl and Andreas Willig. Protocols and Architectures for Wireless Sensor Networks. Wiley, New York, 2005.
A. Katsaggelos, Y. Eisenberg, F. Zhai, R. Berry, and T. Pappas. Advances in efficient resource allocation for packet-based real-time video transmission. Proc. IEEE, 93(1):288–299, 2005.
Thomas J. Ostrand and Elaine J. Weyuker. The distribution of faults in a large industrial software system. In ISSTA ’02: Proceedings of the 2002 ACM SIGSOFT International Symposium on Software Testing and Analysis, pages 55–64. ACM, New York, 2002.
Dominique Paret. Multiplexed Networks for Embedded Systems. Wiley, New York, 2007.
Gerald J. Popek and Robert P. Goldberg. Formal requirements for virtualizable third generation architectures. Commun. ACM, 17(7):412–421, 1974.
Jim Smith and Ravi Nair. Virtual Machines: Versatile Platforms for Systems and Processes. Morgan Kaufmann, San Mateo, 2005.
Brian Shucker, Jeff Rose, Anmol Sheth, James Carlson, Shah Bhatti, Hui Daia, Jing Deng, and Richard Han. Embedded operating systems for wireless microsensor nodes. In Handbook of Sensor Network: Algorithms and Architectures. Wiley, New York, 2005.
William Stallings. Operating Systems. Prentice Hall, Upper Saddle River, 2001.
Ivan Stojmenovic, editor. Handbook of Sensor Networks: Algorithms and Architectures. Wiley, New York, 2005.
Andrew S. Tanenbaum. Modern Operating Systems. Prentice Hall, Upper Saddle River, 2001.
A.S. Tanenbaum, J.N. Herder, and H. Bos. Can we make operating systems reliable and secure? Computer, 39(5):44–51, 2006.
Wayne Wolf and Ahmed Jerraya. Multiprocessor Systems-On-Chips. Morgan Kaufmann, San Mateo, 2004.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer Science + Business Media B.V.
About this chapter
Cite this chapter
Rammig, F. et al. (2009). Basic Concepts of Real Time Operating Systems. In: Ecker, W., Müller, W., Dömer, R. (eds) Hardware-dependent Software. Springer, Dordrecht. https://doi.org/10.1007/978-1-4020-9436-1_2
Download citation
DOI: https://doi.org/10.1007/978-1-4020-9436-1_2
Publisher Name: Springer, Dordrecht
Print ISBN: 978-1-4020-9435-4
Online ISBN: 978-1-4020-9436-1
eBook Packages: EngineeringEngineering (R0)