Embedded Software: The Works

In my original plan for this book, I had a single chapter allocated to all real-time related articles, whether this included real-time operating system (RTOS) topics or not. I then concluded that I should emphasize the fact that there's more to real-time than RTOSs. So these articles got a chapter to themselves.
Back in 1992, when I wrote the original NewBits article, upon which this piece is based, there was an increasing feeling among embedded developers that "real-time" meant "real-time operating system" (RTOS). This was an attitude only encouraged by vendors of commercial RTOS products. My intention was to set the record straight. (CW)
What exactly is a "Real-Time System"? There are those who would say that an embedded system is a real-time system (RTS). I have a little trouble with that statement, since a definition of the term "real-time" is rather hard to come by. That seems to be the way with computer jargon. There are many terms, which we use quite freely (and accurately), but for which we cannot offer a precise definition.
Looking up "real-time system" in a rather old computer dictionary yields: "Any system in which the processing of data input to the system to obtain a result occurs virtually simultaneously with the event generating that data." It cites airline booking systems being an example. Clearly this is not an adequate definition of what most embedded systems do. If you consider typical embedded systems, they are generally performing supervisory, control, or...