Real-time PC Components
Real-time PCs are characterized by three core components and their interplay. The first and most crucial component for real-time PCs is time. All tasks must be scheduled for completion before a pre-determined deadline. Meaning that, the command messages must be sent and confirmed in a timely manner among the interacting real-time tasks within the PC. This is because, the accuracy and correctness of an executed task does not only rely on logical correctness but also on the timing of result production.
The other core real-time PC component is reliability. Failure of a real-time PC can cause loss of lives if applied in a hospital setting or economic losses that are hard to recover. The final component is the environment where the real-time PC is applied. For instance, when applied in a drive by wire system, the automobile must also be considered. Real-time PC applications are made up of a different cooperating tasks that are invoked at regulated intervals and operate on deadlines by which all executions must be completed. With every invocation, a task should sense the system’s state, perform required computations like deriving a control law and where necessary, send out commands to display or change the system’s state. A good example is automobile application where a task senses pressure from brake pedals and individual wheel speeds and performs computation in order to determine if any wheel is locked and where necessary activate the antilock brake system by changing the valve position in the system. This also applies in an aircraft control application where a task monitors the current throttle position and alters the engine’s thrust by regulating the fuel injected to the engine.
Such real-time computing tasks are referred to as periodic tasks; they are time critical tasks whereby, the system cannot continue operating until the tasks have been successfully executed. In the automobile application, if the antilock braking is not activated within a predetermined time following the locking of a wheel, the vehicle can spin and result in a bad accident. Likewise, in the aircraft application, the plane can crash if the thrust in not regulated in good time.
However, not all real-time computing tasks are activated at regular intervals. Some are activated once particular events occur; they are referred to as aperiodic tasks. A reconfiguration task for a system can be activated once the system detects a fault or error. In such cases, corresponding tasks do not execute at regular intervals. Therefore, if an event is time critical, the corresponding aperiodic task must have a deadline by which the execution must be completed. In case the event is not time critical, the corresponding aperiodic task will lack a deadline but it must be serviced within the shorted time possible without jeopardizing other task deadlines.