"This textbook summarizes contemporary knowledge and paradigms of real-time systems in a monographic way. It fits an undergraduate-level course since it starts with basic hardware and low-level real-time system characteristics. ... The structure of the textbook and the building up of the chapter show readers how the theoretical background and practice can be handled in a unified framework." (Bálint Molnár, Computing Reviews, June 18, 2021)
Part I: Introduction
Introduction to Real-Time Systems
The Hardware
Distributed Real-Time Systems
Part II: System Software
Real-Time Operating Systems
Design of an Experimental Distributed Real-Time Kernel
Distributed Real-Time Operating Systems and the Middleware
Part III: Scheduling and Resource Sharing
Uniprocessor Independent Task Scheduling
Uniprocessor Dependent Task Scheduling
Multiprocessor and Distributed Real-Time Scheduling
Part IV: Application Design
Software Engineering of Real-Time Systems
Real-Time Programming Languages
Fault Tolerance
Case Study: Environment Monitoring by a Wireless Sensor Network
Appendix A: Pseudocode Conventions
Appendix B: Lower Kernel Functions
Dr. Kayhan Erciyes is a full Professor in the Department of Computer Engineering at Üsküdar University, Istanbul, Turkey. His other publications include the Springer titles Guide to Graph Algorithms, Distributed and Sequential Algorithms for Bioinformatics, and Distributed Graph Algorithms for Computer Networks.
This classroom-tested textbook describes the design and implementation of software for distributed real-time systems, using a bottom-up approach. The text addresses common challenges faced in software projects involving real-time systems, and presents a novel method for simply and effectively performing all of the software engineering steps. Each chapter opens with a discussion of the core concepts, together with a review of the relevant methods and available software. This is then followed with a description of the implementation of the concepts in a sample kernel, complete with executable code.
Topics and features:
Introduces the fundamentals of real-time systems, including real-time architecture and distributed real-time systems
Presents a focus on the real-time operating system, covering the concepts of task, memory, and input/output management
Provides a detailed step-by-step construction of a real-time operating system kernel, which is then used to test various higher level implementations
Describes periodic and aperiodic scheduling, resource management, and distributed scheduling
Reviews the process of application design from high-level design methods to low-level details of design and implementation
Surveys real-time programming languages and fault tolerance techniques
Includes end-of-chapter review questions, extensive C code, numerous examples, and a case study implementing the methods in real-world applications
Supplies additional material at an associated website
Requiring only a basic background in computer architecture and operating systems, this practically-oriented work is an invaluable study aid for senior undergraduate and graduate-level students of electrical and computer engineering, and computer science. The text will also serve as a useful general reference for researchers interested in real-time systems.
Dr. Kayhan Erciyes is a full Professor in the Department of Computer Engineering at Üsküdar University, Istanbul, Turkey. His other publications include the Springer titles Guide to Graph Algorithms, Distributed and Sequential Algorithms for Bioinformatics, and Distributed Graph Algorithms for Computer Networks.