Chapter 12. Introduction to Real-Time Linux

Many developers, sometimes in open competition, have been trying to add real-time support to Linux and thereby fill the major gap in its capabilities as an embedded system. But although real-time is critical to some applications, most embedded systems can get by without it. Some programmers who assume they need real-time (for streaming media, for instance) may not need it, whereas real-time may prove valuable in industries where one wouldn’t expect it, such as finance.

In this chapter, we will explain the kinds of situations where you will want real-time, define real-time requirements, and summarize how Linux can be enhanced to support those requirements. Chapters 13 and 14 will describe two particular real-time solutions.

What Is Real-Time Processing?

The canonical definition of a real-time system is as follows: “A real-time system is one in which the correctness of the computations not only depends upon the logical correctness of the computation but also upon the time at which the result is produced. If the timing constraints are not met, system failure is said to have occurred,” (see In other words, whatever task the real-time application carries out, it must do it not only properly but on time.

Real-time doesn’t mean fast. Some programmers who assume they need a real-time system can actually get the performance they need just by choosing a suitably fast hardware platform (processor, memory ...

Get Building Embedded Linux Systems, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.