Real-Time Systems (RTS) are systems in which the correctness of the system behavior depends not only on the logical results of the computations, but also on the physical instant at which these results are produced. In simpler terms, real-time systems are those where the timeliness of the operation is just as important as the operation being performed correctly.
Real-time systems are designed to respond to input or events within a defined time period. These systems are typically used in environments where timely responses are critical. The key characteristics of real-time systems include:
Real-time systems can be classified into three types based on their requirements:
Real-time scheduling algorithms are used to ensure that tasks are executed in a timely manner. Two common real-time scheduling algorithms are:
A Real-Time Operating System (RTOS) is an operating system designed for real-time applications. It can guarantee certain capabilities within a specified time constraint. For example, an operating system might be designed to ensure that a certain object was available for a robot on an assembly line. In what is usually called a "hard" real-time operating system, if the calculation could not be performed for making the object available at the designated time, the operating system would terminate with a failure. In a "soft" real-time operating system, the assembly line would continue to function but the production output might be lower as objects failed to appear at their designated time, causing the robot to be temporarily unproductive.
By the end of this unit, you should have a solid understanding of the fundamental concepts of real-time systems, including their characteristics, types, scheduling algorithms, and the role of real-time operating systems.