This book is an introduction to real-time systems. It is intended not as a cookbook,
but, rather, as a stimulus for thinking about hardware and software in a different
way. It is necessarily broader than deep. It is a survey book, designed to heighten
the reader’s awareness of real-time issues.
This book is the culmination of more than 20 years of building, studying, and
teaching real-time systems. The author’s travels have taken him to NASA, UPS,
Lockheed Martin, the Canadian and Australian Defense Forces, MIT’s Charles
Stark Draper Labs, and many other places. These visits and interactions with
literally hundreds of students from such places as Boeing, Motorola, and Siemens
have resulted in a wider understanding of real-time systems and particularly their real application. This
book is, in essence, a compendium of these experiences. The author’s intent is to provide a practical
framework for software engineers to design and implement real-time systems. This approach is
somewhat different from that of other texts on the subject.
Because of the pragmatic approach, a few of the results and viewpoints presented book’s may be
controversial. The author has adapted many of the formal definitions from their traditional rigid form
into words that are more compatible with practical design. In many places theoretical treatments have
been omitted where they would have obscured applied results. In these cases, the reader is referred to
additional reading. This author is a great believer in research in this area, and in many places has
indicated where research needs to be done or is being done.
Although the book may appear simplistic, it is subtly complex. Consider the semaphore operators. They
can be written with a minimum amount of code, yet they are fraught with danger for the real-time designer.
In the same way, this book has a kind of Zen-like simplicity and complexity: a yin and a yang.