Information about Real Time
“Realtime” redirects here. For other uses, see Realtime (disambiguation).
In computer science, real-time computing (RToC) is the study of hardware and software systems which are subject to a "real-time constraint"—i.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 system may be one where its application can be considered (within context) to be mission critical. 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. 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.
History
The term real time derives from its use in early simulation. 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.Once when the MOS Technology 6502 (used in the Commodore 64 and Apple II), and later when the Motorola 68000 (used in the Macintosh, Atari ST, and Commodore Amiga) were popular, anybody could use their home computer as a real-time system. The possibility to deactivate other interrupts allowed for hard-coded loops with defined timing, the low interrupt latency allowed the implementation of a real-time operating system, giving the user interface and the disk drives lower priority than the real time thread. Compared to these the Programmable Interrupt Controller of the Intel CPUs (8086..80586) generates a very large latency and the Windows operating system is neither a real-time operating system nor does it allow a program to take over the CPU completely and use its own scheduler, without using native machine language and thus surpassing all interrupting windows code. However, several coding libraries exist which offer real time capabilities in a high level language on a variety of operating systems, for example Java Real Time. The Motorola 68000 and subsequent family members (68010, 68020 etc) also became popular with manufacturers of industrial control systems thanks to this facility. This application area is one in which real-time control offers genuine advantages in terms of process performance and safety.
Hard and soft real-time systems
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. For example, a car engine control system is a hard real-time system because a delayed signal may cause engine failure or damage. Other examples of hard real-time embedded systems include medical systems such as heart pacemakers and industrial process controllers.
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. Other scheduling algorithms include Earliest Deadline First, which, ignoring the overhead of context switching, is sufficient for system loads of less than 100%.
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.
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. 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.
It is important to note that hard versus soft real-time does not necessarily relate to the length of time available. A machine may overheat if a processor does not turn on cooling within 15 minutes (hard real-time). On the other hand, a network interface card may lose buffered data if it is not read within a fraction of a second, but the data can be resent over the network (soft real-time), without major adverse consequences.
Real-time and high-performance
Real-time computing is sometimes misunderstood to be high-performance computing, but this is not always the case. For example, a massive supercomputer running a scientific simulation may offer impressive performance, yet it is not executing a real-time computation. 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 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. 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.
Design methods
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. Other examples are HOOD, Real-Time UML, AADL the Ravenscar profile and Real-Time Java.Key people
- David Dill
- Rajeev Alur
- Costas Courcourbetis
- Alan Burns
- Nicolas Halbwachs
See also
- Real-time operating system
- Synchronous programming language
- Ptolemy Project
- High frequency computing
- DSOS
- Worst-case execution time
External links
Technical Committees
Scientific Conferences
- ECRTS - Euromicro Conference on Real-time Systems
- IEEE Real-time Systems Symposium
- IEEE Real-time Technology and Applications Symposium
- International Symposium on Object-oriented Real-time distributed Computing
- IEEE International Conference on Embedded and Real-Time Computing Systems and Applications
Research Groups
- Real-Time & Embedded Computing Laboratory (USMAN SHARIF BCS-SP03-37)
- Mälardalen Real-Time research Centre
- Real-time, Embedded, and Specialized Systems Platform Task Force
- Real-Time Computing Laboratory
- Real-Time Systems Laboratory
- RTSE Laboratory
- Institute for Systems Engineering - Real Time systems Group
- Real-Time & Embedded Computing Conference
- Vienna University of Technology - Institute for Computer Engineering - Real-Time Systems Group
- Real-Time Systems Research Group at the University of York, UK
Real-time, real time, or realtime may refer to:
..... Click the link for more information.
- Real time systems, which respond to events or signals as fast as possible, or as they happen (see the ).
..... Click the link for more information.
Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems.
..... Click the link for more information.
..... Click the link for more information.
Computer hardware is the physical part of a computer, including the digital circuitry, as distinguished from the computer software that executes within the hardware. The hardware of a computer is infrequently changed, in comparison with software and data, which are "soft" in the
..... Click the link for more information.
..... Click the link for more information.
Computer software is a general term used to describe a collection of computer programs, procedures and documentation that perform some task on a computer system. [1]
..... Click the link for more information.
..... Click the link for more information.
A real-time operating system (RTOS) is a multitasking operating system intended for real-time applications. Such applications include embedded systems (programmable thermostats, household appliance controllers, mobile telephones), industrial robots, spacecraft, industrial
..... Click the link for more information.
..... Click the link for more information.
A synchronous programming language is a computer programming language optimized for programming reactive systems, systems that are often interrupted and must respond quickly. Many such systems are also called realtime systems, and are found often in embedded uses.
..... Click the link for more information.
..... Click the link for more information.
mission critical (or mission-critical) refers to any factor (equipment, process, procedure, software, etc.) which is crucial to the successful completion of an entire project.
..... Click the link for more information.
..... Click the link for more information.
An anti-lock braking system (ABS) (translated from German, Antiblockiersystem) is a system on motor vehicles which prevents the wheels from locking while braking. The purpose of this is to allow the driver to maintain steering control under heavy braking and, in some
..... Click the link for more information.
..... Click the link for more information.
In UNIX computing, the system load is a measure of the amount of work that a computer system is doing. The load average is the average system load over a period of time.
..... Click the link for more information.
..... Click the link for more information.
simulation is an imitation of some real thing, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviours of a selected physical or abstract system.
..... Click the link for more information.
..... Click the link for more information.
Norden bombsight was a highly sophisticated optical/mechanical analog computer used by the United States Army Air Force during World War II, the Korean War, and the Vietnam War to aid the pilot of a bomber aircraft in dropping bombs accurately.
..... Click the link for more information.
..... Click the link for more information.
The MOS Technology 6502 is an 8-bit microprocessor that was designed by Chuck Peddle for MOS Technology in 1975. When it was introduced, it was the least expensive full-featured CPU on the market by a considerable margin, costing less than one-sixth the price of competing designs
..... Click the link for more information.
..... Click the link for more information.
Type Home computer
Released August 1982
Discontinued April 1994
Processor MOS Technology 6510 @ 1.02 MHz (NTSC version) / 0.985MHz (PAL version)
Memory 64 KB
OS Commodore BASIC 2.
..... Click the link for more information.
Released August 1982
Discontinued April 1994
Processor MOS Technology 6510 @ 1.02 MHz (NTSC version) / 0.985MHz (PAL version)
Memory 64 KB
OS Commodore BASIC 2.
..... Click the link for more information.
Apple II (sometimes written as Apple ][ or Apple //) was the first popular microcomputer manufactured by Apple. Its direct ancestor was the Apple I, a limited production circuit board computer for electronics hobbyists which pioneered many features that made the Apple
..... Click the link for more information.
..... Click the link for more information.
The Motorola 68000 is a CISC microprocessor core designed and marketed by Freescale Semiconductor (formerly Motorola Semiconductor Products Sector). As the first member of the successful 32-bit m68k family of microprocessors, it is generally software forward compatible with the
..... Click the link for more information.
..... Click the link for more information.
Macintosh, commonly known as Mac, is a brand name which covers several lines of personal computers designed, developed, and marketed by Apple Inc. Named after the McIntosh variety of apple, the original Macintosh was released on January 24, 1984.
..... Click the link for more information.
..... Click the link for more information.
Type Personal computer
Released 1985
Discontinued 1993
Processor Motorola 68000 @ 8 MHz
Memory 512 kilobytes (512×210 bytes) or 1 megabyte (1×220 bytes)
OS Atari TOS
The Atari ST
..... Click the link for more information.
Released 1985
Discontinued 1993
Processor Motorola 68000 @ 8 MHz
Memory 512 kilobytes (512×210 bytes) or 1 megabyte (1×220 bytes)
OS Atari TOS
The Atari ST
..... Click the link for more information.
Amiga is a family of personal computers originally developed by Amiga Corporation. Development on the Amiga began in 1982 with Jay Miner (1932-1994) as the principal hardware designer.
..... Click the link for more information.
..... Click the link for more information.
Interrupt latency is the time between the generation of an interrupt by a device and the servicing of the device which generated the interrupt. For many operating systems, devices are serviced as soon as the device's interrupt handler is executed.
..... Click the link for more information.
..... Click the link for more information.
A Programmable Interrupt Controller (PIC) is a device which allows priority levels to be assigned to its interrupt outputs. When the device has multiple interrupt outputs to assert, it will assert them in the order of their relative priority.
..... Click the link for more information.
..... Click the link for more information.
For disk scheduling, see .
..... Click the link for more information.
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 in the Java programming language.
..... Click the link for more information.
..... Click the link for more information.
The Motorola 68000 is a CISC microprocessor core designed and marketed by Freescale Semiconductor (formerly Motorola Semiconductor Products Sector). As the first member of the successful 32-bit m68k family of microprocessors, it is generally software forward compatible with the
..... Click the link for more information.
..... Click the link for more information.
An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions.[1] It is usually embedded as part of a complete device including hardware and mechanical parts.
..... Click the link for more information.
..... Click the link for more information.
automobile (from Greek auto, self and Latin mobile moving, a vehicle that moves itself rather than being moved by another vehicle or animal) or motor car (usually shortened to just car) is a wheeled passenger vehicle that carries its own motor.
..... Click the link for more information.
..... Click the link for more information.
An engine is something that produces an output effect from a given input. The origin of engineering however, came from the design, building and working of (military "engines") because before such devices came to be employed in battles there were very few mechanical devices used.
..... Click the link for more information.
..... Click the link for more information.
A pacemaker (or artificial pacemaker, so as not to be confused with the heart's natural pacemaker) is a medical device which uses electrical impulses, delivered by electrodes contacting the heart muscles, to regulate the beating of the heart.
..... Click the link for more information.
..... Click the link for more information.
Multitasking may refer to any of the following:
..... Click the link for more information.
- Computer multitasking - the apparent simultaneous performance of two or more tasks by a computer's central processing unit.
..... Click the link for more information.
Earliest deadline first (EDF) scheduling is a dynamic scheduling principle used in real-time operating systems. It places processes in a priority queue. Whenever a scheduling event occurs (task finishes, new task released, etc.
..... Click the link for more information.
..... Click the link for more information.
A context switch is the computing process of storing and restoring the state (context) of a CPU such that multiple processes can share a single CPU resource. The context switch is an essential feature of a multitasking operating system.
..... Click the link for more information.
..... Click the link for more information.
This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus