Our coverage of operating-system issues thus far has focused mainly on general-purpose computing systems (for example, desktop and server systems). We now turn our attention to real-time computing systems. The requirements of real-time systems differ from those of many of the systems we have described, largely because real-time systems must produce results within certain time limits. In this chapter, we provide an overview of real-time computer systems and describe how real-time operating systems must be constructed to meet the stringent timing requirements of these systems.
• To explain the timing requirements of real-time systems.
• To distinguish between hard and soft real-time systems.
• To discuss the defining characteristics of real-time systems.
• To describe scheduling algorithms for hard real-time systems.
A real-time system is a computer system that requires not only that the computing results be “correct” but also that the results be produced within a specified deadline period. Results produced after the deadline has passed—even if correct—may be of no real value. To illustrate, consider an autonomous robot that delivers mail in an office complex. If its vision-control ...