Real-time computing: Difference between revisions

Content deleted Content added
updated link
History: some changes
Line 27:
Minicomputers, particularly in the 1970s onwards, when built into dedicated [[embedded system]]s such as DOG ([[Digital on-screen graphic]]) scanners, increased the need for low-latency priority-driven responses to important interactions with incoming data and so operating systems such as [[Data General]]'s [[Data General RDOS|RDOS (Real-Time Disk Operating System)]] and RTOS with [[Foreground-background|background and foreground scheduling]] as well as [[Digital Equipment Corporation]]'s [[RT-11]] date from this era. Background-foreground scheduling allowed low priority tasks CPU time when no foreground task needed to execute, and gave absolute priority within the foreground to threads/tasks with the highest priority. Real-time operating systems would also be used for [[time-sharing]] multiuser duties. For example, [[Data General Business Basic]] could run in the foreground or background of RDOS and would introduce additional elements to the scheduling algorithm to make it more appropriate for people interacting via [[dumb terminal]]s.
 
OnceEarly whenpersonal thecomputers [[MOSwere Technologysometimes 6502]] (used in the [[Commodore 64]] and [[Apple II]]), and later when the [[Motorola 68000]] (used in the [[Mac (computer)|Macintosh]], [[Atari ST]], and [[Amiga]]) were popular, anybody could use their home computer as afor real-time systemcomputing. The possibility toof deactivatedeactivating other interrupts allowed for hard-coded loops with defined timing, and 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 [[Scheduling (computing)|scheduler]], without using native machine language and thus surpassingbypassing 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 [[Real time Java|Java Real Time]]. TheLater microprocessors such as the [[Motorola 68000]] and subsequent family members (68010, 68020, [[NXP ColdFire|ColdFire]] etc.) also became popular with manufacturers of industrial control systems. This application area is one in which real-time control offers genuine advantages in terms of process performance and safety.{{citation needed|date=September 2013|reason=This whole paragraph contains several questionable statements in regard to MOS, AMD and Motorola CPUs and their interrupt handling, and therefore needs to be rewritten and sourced by reliable sources.}}
{{Disputed section|The 68000 Was a CPU, not a Computer|date=October 2020}}
Once when the [[MOS Technology 6502]] (used in the [[Commodore 64]] and [[Apple II]]), and later when the [[Motorola 68000]] (used in the [[Mac (computer)|Macintosh]], [[Atari ST]], and [[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, and 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 [[Scheduling (computing)|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 [[Real time Java|Java Real Time]]. The [[Motorola 68000]] and subsequent family members (68010, 68020 etc.) also became popular with manufacturers of industrial control systems. This application area is one in which real-time control offers genuine advantages in terms of process performance and safety.{{citation needed|date=September 2013|reason=This whole paragraph contains several questionable statements in regard to MOS, AMD and Motorola CPUs and their interrupt handling, and therefore needs to be rewritten and sourced by reliable sources.}}
 
== {{anchor|Hard|Firm|Require|Soft}}Criteria for real-time computing ==