Echtzeit-Computing: Nutzungsdefinition und Architektur

Wenn wir über Echtzeit sprechen, verbindet unser Verstand diesen Begriff normalerweise mit dem schnellen Rendern von Grafiken, die wir normalerweise in Videospielen sehen, aber das Konzept des Echtzeit-Computing geht darüber hinaus und bezieht sich auf einen Bereich der Hardware, den wir jeden Tag benutzen, ohne es zu wissen. Aus diesem Grund haben wir uns entschlossen zu erklären, wie es funktioniert und woraus es besteht.

Echtzeit-Computing

Eine Person kann aufgrund einer Herzerkrankung einen Herzschrittmacher haben. Nun, obwohl es sich um eine relativ einfache Hardware handelt, muss sie immer in einer bestimmten Zeit eine Antwort geben. Wenn wir uns bereits in der Fahrumgebung bewegen, können wir einen Mikrocontroller finden, der dafür sorgt, dass das gesamte System zu den idealen Zeiten arbeitet, um einen mechanischen oder elektrischen Ausfall im Fahrzeug zu vermeiden.

Wenn wir schon über Dinge sprechen, die mehr zu Hause sind, ist das deutlichste Beispiel die Kommunikation zwischen zwei Geräten, die zu bestimmten Zeiten durchgeführt werden muss, die der Standard setzt. Dies geschieht insbesondere bei drahtlosen Druckern, die beim Drucken auf das Papier Datenpakete senden. Nicht zu vergessen sind die 8- und 16-Bit-Konsolen, die aufgrund von Videospeicherbeschränkungen die Daten an den Videoausgang senden mussten, wenn der Elektronenstrahl den Bildschirm überquerte.

Was ist Echtzeit-Computing?

Computación Timepo Real

Unter Echtzeit-Computing verstehen wir alles, bei dem die Ausführung von Anweisungen oder Sätzen davon, Prozessen oder Programmen in kürzester Zeit erfolgen muss, was fatale Folgen hat, wenn der Prozess nicht innerhalb dieser Grenzen ausgeführt wird. provisorisch eingerichtet. Dazu müssen wir den Zeitraum mit einem Maß quantifizieren, das eine Standardzielzeit wie Mikrosekunden, Millisekunden oder Sekunden sein kann, oder wenn dies nicht möglich ist, müssen wir die Taktzyklen des ausführenden Prozessors verwenden der Befehl oder der Befehlssatz.

Ein Echtzeitsystem muss also in einer bestimmten Zeit auf eine Benutzeraktion reagieren, unabhängig von den zuvor bestehenden Prozessen. Ein sehr deutliches Beispiel dafür ist, wenn wir in einem Videospiel eine Taste auf unserer Maus oder einen Steuerknopf drücken, erwarten wir, dass die Reaktion auf dem Bildschirm so schnell wie möglich erscheint. Wenn es zu lange dauert, verstehen wir, dass das System dies nicht tut richtig funktionieren.

Somit sind Echtzeit-Computersysteme diejenigen, die auf die Ausführungszeit der Prozesse empfindlich reagieren und bei denen ihr Betrieb ganz oder teilweise beeinflusst werden kann, indem die Prozesse in einer bestimmten Zeit nicht gelöst werden.

Echtzeit-Computing-Kategorien

Computación tiempo real

Da Echtzeit-Computing Zeitanforderungen hat, können wir diese in zwei Typen unterteilen, hart und weich.

  • Wenn der Prozess in einem Echtzeitsystem des harten Typs nicht in der angegebenen Zeit ausgeführt werden kann, führt dies zu einem totalen Systemausfall. Beispielsweise funktioniert das Echtzeit-Airbagsystem eines Autos möglicherweise nicht rechtzeitig und die Person, die einen Unfall hat, schlägt auf das Lenkrad und stirbt sofort.
  • Auf der anderen Seite erleidet ein Echtzeitsystem des weichen Typs nur einen Verlust in der Qualität des Dienstes, aber keinen allgemeinen Ausfall des Systems, ein klares Beispiel ist der Input Lag in einem Videospiel oder die Verzögerung in einem übertragen.

Den ersten Typ sehen wir normalerweise bei Geräten, die autonom und in einer Endlosschleife arbeiten, bei denen das Hinzufügen weiterer Befehle zu einer Verzögerung des Prozesses führen kann, die fatal sein kann, deshalb werden dafür Mikrocontroller verwendet, die isoliert arbeiten und mit jeder seiner Anweisungen gemessen an einer Leistung, die einer Schweizer Uhr würdig ist. Sind sie auf unseren PCs? Nun ja, zum Beispiel die Systeme, die die Boost-Perioden des CPU und dem GPU sind Beispiele für Echtzeit-Computing-Systeme

Der Grund für den Einsatz von Mikrocontrollern liegt darin, dass ihre RAM Der Speicher befindet sich im Prozessor selbst, sodass seine Latenz minimal ist und ein Cache-System nicht erforderlich ist. Bei Mikrocontrollern wird der Befehlssatz nicht nur im Sinne dessen gegeben, was jeder von ihnen tut, sondern auch der Zeit, die er verbraucht.

Einsatz spezieller Betriebssysteme in Echtzeit

Prozessor-Rendering

Das Problem bei einem Mikrocontroller besteht jedoch darin, dass er nicht in der Lage ist, mehr als einen Prozess gleichzeitig auszuführen, und an diesem Punkt ist der Einsatz komplexerer Hard- und Software erforderlich, insbesondere letzterer, und daher sind sie genau hier kommen. Echtzeit-Betriebssysteme, die für die Verwaltung der Prozesse verantwortlich sind, die auf dem Prozessor ausgeführt werden, auch hier haben wir zwei Arten:

  • Bei ereignisgesteuerten Systemen erfolgt die Ausführung der Programme auf normale Weise, aber die Ereignisse haben im Ursprung keine Ausführungspräferenz für ein System von Privilegien und Hierarchien, sondern diese werden so gelöst, wie sie erscheinen.
  • Ein Time-Sharing-System, bei dem jedem Befehl eine Zeit zur Ausführung gegeben wird, um Verzögerungen zu vermeiden. Wenn ein Prozess nicht in der erwarteten Zeit ausgeführt werden kann, wird er angehalten und zum nächsten Prozess übersprungen.

Diese Arten von Betriebssystemen laufen auf viel fortschrittlicheren Mikrocontrollern, deren Kerne in der Lage sind, mehrere Prozesse gleichzeitig auszuführen und die daher viel komplexere Aufgaben oder eine Abfolge davon geordnet ausführen können, die zusammen mehr Leistung für ihren Betrieb benötigen . Funktion. In Bezug auf die Kategorisierung von Echtzeitbetriebssystemen oder RTOS werden diese nach der Art des Echtzeit-Computings kategorisiert, die Sie verwenden möchten, also gibt es harte und weiche Typen.