Echtzeitcomputerwissenschaft

In der Informatik ist Echtzeitcomputerwissenschaft (RTC) oder reaktive Computerwissenschaft, die Studie der Hardware und Softwaresysteme, die einer "Echtzeiteinschränkung" — z.B betriebliche Termine vom Ereignis bis Systemantwort unterworfen sind. Echtzeitprogramme müssen Antwort innerhalb von strengen zeitlichen Einschränkungen versichern. Häufig, wie man versteht, sind Echtzeitansprechzeiten in der Ordnung von Millisekunden und manchmal Mikrosekunden. Im Gegensatz ist ein Nichtechtzeitsystem dasjenige, das keine Ansprechzeit mit keiner Situation versichern kann, selbst wenn eine schnelle Antwort das übliche Ergebnis ist.

Der Gebrauch dieses Wortes sollte mit dem zwei anderen legitimen Gebrauch von schritthaltenden nicht verwirrt sein, die im Gebiet von Simulationen, Mittel-echte Uhr gleichzeitig, und im Gebiet der Datenübertragung, Mediaverarbeitung und Unternehmenssysteme, der Begriff beabsichtigt ist, um ohne feststellbare Verzögerung zu bedeuten.

Echtzeitsoftware kann ein oder mehr vom folgenden verwenden: Gleichzeitige Programmiersprachen, Echtzeitbetriebssysteme und Echtzeitnetze, von denen jedes wesentliches Fachwerk zur Verfügung stellen, auf dem man eine Echtzeitsoftwareanwendung baut.

Ein Echtzeitsystem kann dasjenige sein, wo, wie man betrachten kann, seine Anwendung (innerhalb des Zusammenhangs) kritische Mission ist. Die Antiblockiersystem-Bremsen auf einem Auto sind ein einfaches Beispiel eines Echtzeitrechensystems - die Echtzeiteinschränkung in diesem System ist die Zeit, in der die Bremsen veröffentlicht werden müssen, um das Rad davon abzuhalten, sich schließen zu lassen. Wie man sagen kann, hat Echtzeitberechnung gescheitert, wenn sie vor ihrem Termin nicht vollendet werden, wo ihr Termin hinsichtlich eines Ereignisses ist. Ein Echtzeittermin muss unabhängig von der Systemlast eingehalten werden.

Geschichte

Der schritthaltende Begriff stammt von seinem Gebrauch in der frühen Simulation ab, wo ein wirklicher Prozess an einer Rate vorgetäuscht wird, die zusammengepasst hat, dieser des echten Prozesses (hat jetzt Echtzeitsimulation genannt, um Zweideutigkeit zu vermeiden). Analoge Computer waren meistenteils zum Simulieren mit einem viel schnelleren Schritt fähig als schritthaltend, eine Situation, die genauso gefährlich sein konnte wie eine langsame Simulation, wenn es nicht auch anerkannt und verantwortlich gewesen wurde.

Kriterien für die Echtzeitcomputerwissenschaft

Wie man

sagt, ist ein System schritthaltend, wenn die Gesamtgenauigkeit einer Operation nicht nur auf seine logische Genauigkeit, sondern auch auf die Zeit abhängt, in der es durchgeführt wird. Echtzeitsysteme, sowie ihre Termine, werden durch die Folge klassifiziert, einen Termin zu verpassen.

</dl>

So ist die Absicht eines harten Echtzeitsystems sicherzustellen, dass alle Termine eingehalten werden, aber für weiche Echtzeitsysteme wird die Absicht Treffen mit einer bestimmten Teilmenge von Terminen, um eine Anwendung spezifische Kriterien zu optimieren. Die besonderen optimierten Kriterien hängen von der Anwendung ab, aber einige typische Beispiele schließen Maximierung der Zahl von Terminen eingehalten, Minderung des Zuspätkommens von Aufgaben und Maximierung der Zahl von hohen Vorzugsaufgaben ein, die ihre Termine einhalten.

Hart werden Echtzeitsysteme verwendet, wenn es befehlend ist, dass ein Ereignis zu innerhalb eines strengen Termins reagiert wird. Solche starken Garantien sind Systeme erforderlich, für die, in einem bestimmten Zwischenraum der Zeit nicht reagierend, großen Verlust auf etwas Weise, besonders zerstörend die Umgebungen physisch oder drohenden menschlichen Leben verursachen würde (obwohl die strenge Definition einfach ist, dass Vermisster des Termins Misserfolg des Systems einsetzt). Zum Beispiel ist ein Automotorregelsystem ein hartes Echtzeitsystem, weil ein verzögertes Signal Motorschaden oder Schaden verursachen kann. Andere Beispiele von harten eingebetteten Echtzeitsystemen schließen medizinische Systeme wie Herzpacemaker und Industrieprozess-Kontrolleure ein. Hart werden Echtzeitsysteme normalerweise gefunden, an einer niedrigen Stufe mit der physischen Hardware in eingebetteten Systemen aufeinander wirkend. Frühe Videospiel-Systeme wie Atari 2600 und Vektor-Grafik von Cinematronics hatten hart Echtzeitvoraussetzungen wegen der Natur der Grafik und Timing-Hardware.

Im Zusammenhang, Systeme stark mehrzubeanspruchen, ist die Terminplanungspolitik normalerweise Vorrang gesteuert (Vorkaufsplaner). Andere Terminplanungsalgorithmen schließen Frühsten Termin Zuerst ein, der, die Gemeinkosten der Zusammenhang-Schaltung ignorierend, für Systemlasten von weniger als 100 % genügend ist. Neue Bedeckungsterminplanungssysteme, wie ein Anpassungsfähiger Teilungsplaner helfen beim Handhaben großer Systeme mit einer Mischung von harten schritthaltend und nicht Echtzeitanwendungen.

Weiche Echtzeitsysteme werden normalerweise verwendet, wo es ein Problem des gleichzeitigen Zugangs und des Bedürfnisses gibt, mehrere verbundene Systeme aktuell mit sich ändernden Situationen zu halten; zum Beispiel Software, die aufrechterhält und die Flugpläne für kommerzielle Verkehrsflugzeuge aktualisiert. Die Flugpläne müssen vernünftig aktuell behalten werden, aber können zu einer Latenz von Sekunden funktionieren. Lebende Audiovideosysteme sind auch gewöhnlich schritthaltend weich; die Übertretung von Einschränkungen läuft auf erniedrigte Qualität hinaus, aber das System kann fortsetzen zu funktionieren.

Schritthaltend in der Digitalsignalverarbeitung

In einem Echtzeit-DSP-Prozess das analysierte (Eingang) und erzeugt (Produktion) können Proben bearbeitet (oder erzeugt werden) unaufhörlich in der Zeit es bringt in den Eingang und die Produktion denselben Satz von der in einer Prozession gehenden Verzögerung unabhängigen Proben. Es bedeutet, dass die in einer Prozession gehende Verzögerung begrenzt werden muss, selbst wenn die Verarbeitung seit einer unbegrenzten Zeit weitergeht. Das bedeutet, dass die durchschnittliche Verarbeitungszeit pro Probe nicht größer ist als die ausfallende Periode, die das Gegenstück der ausfallenden Rate ist. Das ist das Kriterium, ob die Proben zusammen in großen Segmenten gruppiert und in Blöcken bearbeitet werden oder individuell bearbeitet werden, und ob es langen, kurzen oder nicht existierenden Eingang und Produktionspuffer gibt.

Denken Sie ein DSP Audiobeispiel: Wenn ein Prozess verlangt, dass 2.01 Sekunden 2.00 Sekunden des Tons analysieren, synthetisieren, oder bearbeiten, ist es nicht schritthaltend. Wenn man 1.99 Sekunden braucht, ist es oder kann in, ein Echtzeit-DSP-Prozess gemacht werden.

Ein allgemeines Lebensanalogon ist Stehen in einer Linie oder Warteschlange, die auf die Abreise in einem Lebensmittelgeschäft wartet. Wenn die Linie asymptotisch länger und länger ohne bestimmten wächst, ist der Abreise-Prozess nicht schritthaltend. Wenn die Länge der Linie begrenzt wird, werden Kunden "bearbeitet" und Produktion so schnell durchschnittlich, wie sie eingegeben werden und dieser Prozess schritthaltend ist. Der Lebensmittelhändler könnte aus dem Geschäft gehen oder muss mindestens Geschäft verlieren, wenn er/sie seine/ihre Abreise schritthaltend kann nicht in einer Prozession gehen lassen (so ist es im Wesentlichen wichtig, dass dieser Prozess schritthaltend ist).

Ein Signalverarbeitungsalgorithmus, der mit dem Fluss von Eingangsdaten mit der Produktion nicht Schritt halten kann, die weiter und weiter hinter dem Eingang fällt, ist nicht schritthaltend. Aber wenn die Verzögerung der Produktion (hinsichtlich des Eingangs) während eines Prozesses begrenzt wird, der im Laufe einer unbegrenzten Zeit funktioniert, dann ist dieser Signalverarbeitungsalgorithmus schritthaltend, selbst wenn die Durchfluss-Verzögerung sehr lang sein kann.

Schritthaltend und Hochleistungs-

Echtzeitcomputerwissenschaft wird manchmal missverstanden, um Hochleistungscomputerwissenschaft zu sein, aber das ist nicht immer der Fall. Zum Beispiel kann ein massiver Supercomputer, der eine wissenschaftliche Simulation durchführt, eindrucksvolle Leistung anbieten, noch führt es keine Echtzeitberechnung durch. Umgekehrt, einmal die Hardware und Software für ein Antiblockiersystem ist entworfen worden, um seine erforderlichen Termine einzuhalten, sind keine weiteren Leistungszunahmen obligatorisch. Außerdem, wenn ein Netzserver mit dem Netzverkehr hoch geladen wird, kann seine Ansprechzeit langsamer sein, aber wird (in den meisten Fällen) noch folgen davor Zeiten nach (schlägt seinen Termin). Folglich würde solch ein Netzserver als kein Echtzeitsystem betrachtet: zeitliche Misserfolge (Verzögerungen, Pausen, usw.) sind normalerweise klein und (beschränkt tatsächlich) aufgeteilt, aber sind nicht katastrophale Misserfolge. In einem Echtzeitsystem, wie der FTSE 100 Index, würde eine Verlangsamung außer Grenzen häufig katastrophal in seinem Anwendungszusammenhang betrachtet. Deshalb ist die wichtigste Voraussetzung eines Echtzeitsystems Voraussagbarkeit und nicht Leistung.

Einige Arten der Software, wie viele schachspielende Programme, können in jede Kategorie fallen. Zum Beispiel hat ein Schachprogramm vorgehabt, in einem Turnier mit einer Uhr zu spielen, wird sich für eine Bewegung vor einem bestimmten Termin entscheiden oder das Spiel verlieren müssen, und ist deshalb eine Echtzeitberechnung, aber ein Schachprogramm, dem erlaubt wird, unbestimmt vor dem Bewegen zu laufen, ist nicht. In beiden dieser Fälle, jedoch, ist hohe Leistung wünschenswert: Je mehr Arbeit, die ein Turnier-Schachprogramm in der zugeteilten Zeit tun kann, desto besser seine Bewegungen sein werden, und je schneller ein zwangloses Schachprogramm läuft, desto eher es im Stande sein wird sich zu bewegen. Dieses Beispiel illustriert auch den wesentlichen Unterschied zwischen Echtzeitberechnung und anderer Berechnung: Wenn das Turnier-Schachprogramm keine Entscheidung über seine folgende Bewegung in seiner zugeteilten Zeit trifft, verliert es das Spiel — d. h. Es scheitert als eine Echtzeitberechnung — während im anderen Drehbuch, den Termin einhaltend, angenommen wird, nicht notwendig zu sein.

Designmethoden

Mehrere Methoden bestehen, um dem Design von Echtzeitsystemen zu helfen, von denen ein Beispiel GLÜCKSBRINGER, eine alte, aber sehr erfolgreiche Methode ist, die die gleichzeitige Struktur des Systems vertritt. Andere Beispiele sind MOTORHAUBE, Schritthaltender UML, AADL das Profil von Ravenscar, das Schritthaltende Java, WIMS Motorserver (eine Wahr-Echtzeitwebdurchführung).

Siehe auch

  • Gleichzeitige Programmiersprache
  • Projekt von Ptolemy
  • DSOS
  • Grenzfall-Ausführungszeit

Links

Technische Komitees

Wissenschaftliche Konferenzen

Zeitschriften

Forschungsgruppen

Technische Papiere


Source is a modification of the Wikipedia article Real-time computing, licensed under CC-BY-SA. Full list of contributors here.
Ribosome / Rubin (Programmiersprache)
Impressum & Datenschutz