Real-Time Systems and Software
Emphasizing concepts and principles, this book provides readers with an accessible approach to software design. It presents several examples of commercial and research systems throughout the chapters to explain and justify the concepts. And the material presented is technically diverse, including discussions of state machines, logic, concurrent programming, and scheduling algorithms.
Why Read This Book
You will get a clear, concept-driven foundation in real-time software design that emphasizes principles over vendor-specific APIs, helping you make sound architectural choices for embedded and time-critical systems. The book uses concrete commercial and research examples to show how scheduling, concurrency, and state-based design choices play out in real systems, so you can apply the ideas to firmware, RTOS, or embedded Linux projects.
Who Will Benefit
Embedded and firmware engineers, systems programmers, and graduate students with some programming experience who need to design or evaluate real-time and safety‑critical software.
Level: Intermediate — Prerequisites: Familiarity with programming (C or similar), basic operating‑systems concepts (processes/threads, interrupts), and elementary discrete math; comfort reading pseudocode and formal descriptions.
Key Takeaways
- Explain core real-time concepts such as deadlines, jitter, timing constraints, and task models
- Design and compare scheduling strategies (fixed-priority, EDF, cyclic) for practical embedded systems
- Analyze concurrency and synchronization problems and apply patterns to avoid priority inversion and deadlock
- Model system behavior with state machines and formal logic to improve predictability and verification
- Evaluate trade-offs between software architectures, resource management, and timing assurance using real case studies
Topics Covered
- Introduction to Real-Time Systems and Requirements
- Foundations: Time, Tasks, and Events
- Models of Computation and State Machines
- Concurrent Programming and Synchronization
- Scheduling Theory and Algorithms (RM, EDF, cyclic)
- Timing Analysis and Worst-Case Execution Time (WCET) Concepts
- Resource Management and Priority Inversion
- Specification, Logic, and Formal Methods for Real-Time Software
- Design Patterns and Architectural Considerations
- Case Studies from Commercial and Research Systems
- Testing, Validation, and Verification of Real-Time Software
- Trends, Practical Advice, and Future Directions
Languages, Platforms & Tools
How It Compares
Covers similar conceptual ground to Jane W. S. Liu's Real-Time Systems and Burns & Wellings' work, but Shaw leans more toward software design principles and illustrative case examples rather than heavy mathematical formalisms or language‑specific implementation details.













