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
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.