Thursday, February 26, 2009

What is Real-Time?

In computing, real-time refers to a time frame that is very brief, appearing to be immediate. When a computer processes data in real time, it reads and handles data as it is received, producing results without delay. For example, a website that is updated in real-time will allow its viewers to see changes as soon as they occur, rather than waiting for updates to be visible at some later date. A non-real-time computer process does not have a deadline. Such a process can be considered non-real-time, even if fast results are preferred. A real-time system, on the other hand, is expected to respond not just quickly, but also within a predictable period of time. A good example of a real-time computer system is a car’s anti-lock break system. An anti-lock brake system is expected to release a vehicle’s brakes, preventing dangerous wheel locking, in a predictably short time frame. Unfortunately, there are times when real-time systems fail to respond as desired. A Real-time process fails when its task is not completed before its deadline. In computing, there is no grace period given because of other demands on a system. Real-time deadlines must be kept without regard to other factors; they are considered mission critical. When a process is considered hard real-time, it must complete its operation by a specific time. If it fails to meet its deadline, its operation is without value and the system for which it is a component could face failure. When a system is considered soft, real-time, however, there is some room for lateness. For example, in a soft, real-time system, a delayed process may not cause the entire system to fail. Instead, it may lead to a decrease in the usual quality of the process or system. Hard, real-time systems are often used in embedded systems. Consider, for example, a car engine control system. Such a system is considered hard, real–time because a late process could cause the engine to fail. Hard real-time systems are employed when it is crucial that a task or event is handled by a strict deadline. This is typically necessary when damage or the loss of life may occur as a result of a system failure. Soft real-time systems are usually employed when there are multiple, connected systems that must be maintained despite shifting events and circumstances. These systems are also used when concurrent access requirements are present. For example, the software used to maintain travel schedules for major transportation companies is often soft real-time. It is necessary for such software to update schedules with little delay. However, a delay of a few seconds is not likely to cause the kind of mayhem possible when a hard, real-time system fails.

No comments:

Post a Comment