My first reaction was one of delight. The material is explained thoroughly, leaving no obvious gaps in knowledge of the reader. The authors make sure that the abstract design diagrams are related to the concrete detailed implementation of the designs. Very few books do this, yet it seems to be the most appropriate way to describe the design and implementation of real-time systems. Dr. Spiros Mancoridis, Drexel University. Intended for computer science and engineering students and professionals, this book introduces the nature of real-time, concurrent, distributed systems, presenting a specific set of techniques for designing and implementing such systems. It develops a systems way of thinking about software that is intended to serve readers through their careers. Key Features: Explains how to program interrupt-driven, concurrent, distributed systems that are complex enough to be interesting. Develops a deep understanding of how these systems function by working with a minimal software infrastructure -- a subset of C++ and a small real-time kernel -- that keeps all software elements directly under readers' control. Helps readers build their own distributed applications, controlling all hardware and software elements themselves through I/O devices controlled by their own program. Explains the relationship between system issues and programs to help readers feel comfortable working with systems that have many layers of support software and with design models and tools that are distant from code. Trains readers to design distributed application that will keep running and to process architectures that will includethe requirement for concurrency and failure detection/recovery. Complete source code for all example programs-the Message Transfer Utility (a case study in real-time system design and implementation), and the Tempo real-time kernel-is available over the World Wide Web