In computer science, real-time computing (RTC) is the study of hardware and software systems which are subject to a "real-time constraint"—i. Computer science (or computing science) is the study and the Science of the theoretical foundations of Information and Computation and their Typical PC hardware A typical Personal computer consists of a case or chassis in a tower shape (desktop and the following parts Motherboard e. , operational deadlines from event to system response. By contrast, a non-real-time system is one for which there is no deadline, even if fast response or high performance is desired or even preferred. The needs of real-time software are often addressed in the context of real-time operating systems, and synchronous programming languages, which provide frameworks on which to build real-time application software. A real-time operating system ( RTOS; generally pronounced as "are-toss" is a multitasking Operating system intended for real-time A synchronous programming language is a Computer programming language optimized for programming reactive systems systems that are often interrupted and
A real time system may be one where its application can be considered (within context) to be mission critical. The term mission critical (or mission-critical) refers to any factor (equipment process procedure software etc The anti-lock brakes on a car are a simple example of a real-time computing system — the real-time constraint in this system is the short time in which the brakes must be released to prevent the wheel from locking. An anti-lock braking system, or ABS (from the German, A nti' b' lockier' s' ystem) is a safety system on Motor vehicles Real-time computations can be said to have failed if they are not completed before their deadline, where their deadline is relative to an event. A real-time deadline must be met, regardless of system load. In UNIX Computing, the system load is a measure of the amount of work that a computer system is doing
Contents |
The term real-time derives from its use in early simulation. Simulation is the imitation of some real thing state of affairs or process While current usage implies that a computation that is 'fast enough' is real-time, originally it referred to a simulation that proceeded at a rate that matched that of the real process it was simulating. Analog computers, especially, were often capable of simulating much faster than real-time, a situation that could be just as dangerous as a slow simulation if it were not also recognized and accounted for. An analog computer (spelt analogue in British English is a form of Computer that uses continuous physical phenomena such as electrical mechanical
A system is said to be real-time if the total correctness of an operation depends not only upon its logical correctness, but also upon the time in which it is performed. The classical conception is that in a hard or immediate real-time system, the completion of an operation after its deadline is considered useless - ultimately, this may lead to a critical failure of the complete system. A soft real-time system on the other hand will tolerate such lateness, and may respond with decreased service quality (e. g. , dropping frames while displaying a video).
Hard real-time systems are typically found interacting at a low level with physical hardware, in embedded systems. An embedded system is a special-purpose Computer system designed to perform one or a few dedicated functions often with Real-time computing constraints For example, a car engine control system is a hard real-time system because a delayed signal may cause engine failure or damage. An engine is a mechanical device that produces some form of output from a given input Other examples of hard real-time embedded systems include medical systems such as heart pacemakers and industrial process controllers. For other uses see Pacemaker (disambiguation A pacemaker (or artificial pacemaker, so as not to be confused with the heart's natural pacemaker
Hard real-time systems are used when it is imperative that an event is reacted to within a strict deadline. Usually such strong guarantees are required of systems for which not reacting in a certain window of time would cause great loss in some manner, especially physically damaging the surroundings or threatening human lives (although the strict definition is simply that missing the deadline constitutes failure of the system). Systems that always have hard real-time constraints (due to the potentially severe outcome of missing a deadline) include nuclear power stations and car airbags. In the context of multitasking systems the scheduling policy is normally priority driven (pre-emptive schedulers). Pre-emption or preemption in Computing is the act of temporarily interrupting a task being carried out by a computer system, without requiring Other scheduling algorithms include Earliest Deadline First, which, ignoring the overhead of context switching, is sufficient for system loads of less than 100%. Earliest deadline first (EDF scheduling is a dynamic Scheduling algorithm used in Real-time operating systems It places processes in a Priority queue. A context switch is the Computing process of storing and restoring the state ( context) of a CPU such that multiple processes can share [1]
Hard Real Time System examples:
Soft Real Time System examples:
New overlay scheduling systems, such as an Adaptive Partition Scheduler assist in managing large systems with a mixture of hard real-time and non real-time applications. Adaptive Partition Schedulers are a relatively new type of partition scheduler pioneered with the most recent version of the QNX operating system
Soft real-time systems are typically those used where there is some issue of concurrent access and the need to keep a number of connected systems up to date with changing situations. Example: the software that maintains and updates the flight plans for commercial airliners. An airline provides air transport services for Passengers or Freight, generally with a recognized operating certificate or license These can operate to a latency of seconds. Live audio-video systems are also usually soft real-time; violation of constraints results in degraded quality, but the system can continue to operate.
Real-time computing is sometimes misunderstood to be high-performance computing, but this is not always the case. High-performance computing (HPC uses Supercomputers and Computer clusters to solve advanced computing problems For example, a massive supercomputer executing a scientific simulation may offer impressive performance, yet it is not executing a real-time computation. A supercomputer is a Computer that is at the frontline of processing capacity particularly speed of calculation (at the time of its introduction Conversely, once the hardware and software for an anti-lock braking system has been designed to meet its required deadlines, no further performance gains are necessary. Furthermore, if a network server is highly loaded with network traffic, its response time may be slower but will (in most cases) still succeed. Hence, such a network server would not be considered a real-time system: temporal failures (delays, time-outs, etc. ) are typically small and compartmentalized (limited in effect) but are not catastrophic failures. In a real-time system, a slow-down beyond limits would often be considered catastrophic in its application context.
Some kinds of software, such as many chess-playing programs, can fall into either category. The idea of creating a Chess -playing machine dates back to the eighteenth century For instance, a chess program designed to play in a tournament with a clock will need to decide on a move before a certain deadline or lose the game, and is therefore a real-time computation, but a chess program that is allowed to run indefinitely before moving is not. In both of these cases, however, high performance is desirable: the more work a tournament chess program can do in the allotted time, the better its moves will be, and the faster an unconstrained chess program runs, the sooner it will be able to move. This example also illustrates the essential difference between real-time computations and other computations: if the tournament chess program does not make a decision about its next move in its allotted time it loses the game—i. e. , it fails as a real-time computation—while in the other scenario, meeting the deadline is assumed not to be necessary.
Several methods exist to aid the design of real-time systems, an example of which is MASCOT, an old but very successful method which represents the concurrent structure of the system. The Modular Approach to Software Construction Operation and Test ( MASCOT) is a software engineering methodology developed under the auspices of the United Kingdom In Computer science, concurrency is a properties of system in which several Computational processes are executing at the same time and potentially interacting Other examples are HOOD, Real-Time UML, AADL the Ravenscar profile and Real-Time Java. HOOD ( Hierarchic Object Oriented Design) is a detailed software design method The Architecture Analysis & Design Language ( AADL) is an Architecture description language standardized by SAE. The Ravenscar profile is a subset of the Ada tasking features designed for Safety-critical Hard real-time systems Restrictions of the profile Real time Java is a catch-all term for a combination of technologies that allows programmers to write programs that meet the demands of Real time Systems