Der Unterschied zwischen Linux und RTOS: RTOS ist ein Echtzeitbetriebssystem, ein System mit Multitasking, Thread-Priorität und mehreren Interrupt-Ebenen, das innerhalb einer bestimmten Zeit schnell reagieren kann, während Linux ein Time-Sharing-Betriebssystem ist System, das Betriebssysteme mit mehreren Benutzern kann, Linux kann durch Konfiguration des Kernels auch in ein Echtzeitsystem umgewandelt werden.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
Der englische Name ist Real Time Operating System, kurz RTOS.
1. Definition eines EchtzeitbetriebssystemsEchtzeitbetriebssystem (RTOS) bedeutet, dass externe Ereignisse oder Daten, wenn sie generiert werden, diese schnell genug annehmen und verarbeiten können und dass die Verarbeitungsergebnisse dies können Ein Betriebssystem, das Produktionsprozesse steuert oder schnell auf Verarbeitungssysteme reagiert und die koordinierte Ausführung aller Echtzeitaufgaben steuert. Daher sind schnelle Reaktion und hohe Zuverlässigkeit seine Hauptmerkmale. Echtzeit-Betriebssysteme werden in harte Echtzeit- und weiche Echtzeit-Betriebssysteme unterteilt. Harte Echtzeit-Betriebssysteme erfordern, dass der Vorgang innerhalb einer bestimmten Zeit abgeschlossen werden muss, was nur beim Entwurf des Betriebssystems gewährleistet ist Der Vorgang muss je nach Priorität der Aufgabe so schnell wie möglich abgeschlossen werden. Das von uns normalerweise verwendete Betriebssystem kann nach bestimmten Änderungen zu einem Echtzeitbetriebssystem werden. Ein Echtzeitbetriebssystem ist ein Betriebssystem, das die Ausführung bestimmter Funktionen innerhalb einer bestimmten Zeitspanne garantiert. Beispielsweise kann ein Betriebssystem so gestaltet werden, dass es dafür sorgt, dass ein Roboter in einer Produktionslinie auf ein Objekt zugreifen kann. Wenn in einem „harten“ Echtzeitbetriebssystem die Berechnungen zur Erreichbarkeit des Objekts nicht innerhalb der zulässigen Zeit abgeschlossen werden können, wird das Betriebssystem mit einem Fehler beendet. In einem „weichen“ Echtzeitbetriebssystem kann die Produktionslinie weiterhin arbeiten, aber die Ausgabe des Produkts wird verlangsamt, da das Produkt nicht innerhalb der zulässigen Zeit eintreffen kann, was dazu führt, dass der Roboter eine kurze Zeitspanne hat Nichtproduktion. Einige Echtzeitbetriebssysteme sind für bestimmte Anwendungen konzipiert, andere sind universell einsetzbar. Einige Allzweckbetriebssysteme bezeichnen sich selbst als Echtzeitbetriebssysteme. Aber bis zu einem gewissen Grad verfügen die meisten Allzweckbetriebssysteme, wie etwa Microsofts Windows NT oder IBMs OS/390, über Echtzeitsystemeigenschaften. Das heißt, auch wenn ein Betriebssystem kein reines Echtzeitsystem ist, können sie einige Probleme von Echtzeitanwendungen lösen. 2. Eigenschaften von Echtzeit-Betriebssystemen Der Kernel muss die Anforderungen von Echtzeitbetriebssystemen erfüllen.
3. Verwandte Konzepte des Echtzeitbetriebssystems(1) Grundkonzepte Codekritischer Abschnitt: Bezieht sich auf Code, der während der Verarbeitung unteilbar ist. Sobald die Ausführung dieses Teils des Codes beginnt, ist keine Unterbrechung zulässig.
Ressource: jede von der Aufgabe belegte Ressource.
Gemeinsam genutzte Ressource: eine Ressource, die von mehr als einer Aufgabe verwendet werden kann , ist ein einfaches Programm. Jede Aufgabe erhält eine bestimmte Priorität, verfügt über einen eigenen Satz CPU-Register und einen eigenen Stapelspeicher. Normalerweise ist jede Aufgabe eine Endlosschleife und jede Aufgabe befindet sich in den folgenden fünf Zuständen: Ruhezustand, Bereitschaftszustand, Ausführungszustand, Ruhezustand, Unterbrechungszustand;
Aufgabenwechsel: wird ausgeführt Der aktuelle Status der Aufgabe (alle der Inhalt der CPU-Register wird im eigenen Stapelbereich der Aufgabe gespeichert, und dann wird der aktuelle Status der nächsten auszuführenden Aufgabe aus dem Stapel der Aufgabe in die Register der CPU geladen und die nächste Aufgabe wird gestartet Kernel: Verantwortlich für die Verwaltung verschiedener Aufgaben, die Zuweisung von CPU-Zeit für jede Aufgabe und verantwortlich für die Kommunikation zwischen Aufgaben. Unterteilt in nicht-präemptive Kerne und präemptive Kerne;
Planung: Eine der Hauptaufgaben des Kernels besteht darin, zu entscheiden, welche Aufgabe ausgeführt werden soll. Im Allgemeinen basierend auf der Prioritätsplanungsmethode;
(2) Probleme mit der Priorität Aufgabenpriorität: unterteilt in statische Priorität mit unveränderlicher Priorität und dynamische Priorität mit veränderlicher Priorität;
Prioritätsumkehr: Das Problem der Prioritätsumkehr ist das häufigste Problem Echtzeitsysteme. Die Zuweisung gemeinsam genutzter Ressourcen kann dazu führen, dass Aufgaben mit niedriger Priorität zuerst und Aufgaben mit hoher Priorität später ausgeführt werden. Die Lösung besteht darin, einen „Prioritätsvererbungs“-Algorithmus zu verwenden, um die Aufgabenprioritäten vorübergehend zu ändern und so die Prioritätsumkehr einzudämmen.
(3) Gegenseitiger Ausschluss
Obwohl der gemeinsame Datenbereich den Informationsaustausch zwischen Aufgaben vereinfacht, muss bei der Verarbeitung gemeinsamer Daten die Exklusivität jeder Aufgabe gewährleistet sein. Zu den allgemeinen Methoden zur Erfüllung gegenseitiger Ausschlussbedingungen gehören: Deaktivieren von Interrupts, Verwenden von Test- und Set-Anweisungen (TAS), Verhindern des Taskwechsels und Verwenden von Semaphoren.
Da die Bedeutung der Verwendung eines Echtzeitbetriebssystems darin besteht, verschiedene Notfälle rechtzeitig bewältigen zu können, dh verschiedene Interrupts verarbeiten zu können, ist der wichtigste und repräsentativste Leistungsindexparameter zur Messung des eingebetteten Echtzeitbetriebs Das System sollte zweifellos die Interrupt-Reaktionszeit abgelaufen sein. Die Interrupt-Antwortzeit wird normalerweise wie folgt definiert:
Interrupt-Antwortzeit = Interrupt-Verzögerungszeit + Zeit zum Speichern des CPU-Status + Ausführungszeit der ISR-Eintragsfunktion des Kernels [2].
Interrupt-Verzögerungszeit = MAX (maximale Zeit zum Ausschalten von Interrupts, maximale Befehlszeit) + Zeit, um mit der Ausführung des ersten Befehls des ISR zu beginnen [2].
Time-Sharing-Betriebssystem
Englisch: Time-Sharing-Betriebssystem
Definition: Ein Betriebssystem, das es einem Computer ermöglicht, mehrere, Dutzende oder sogar Hunderte von Benutzern gleichzeitig zu bedienen. Durch die Verbindung des Computers mit vielen Endbenutzern schaltet das Time-Sharing-Betriebssystem in bestimmten Abständen die Systemprozessorzeit und den Speicherplatz auf die Programme jedes Endbenutzers um. Da die Zeitintervalle kurz sind, hat jeder Benutzer das Gefühl, den Computer für sich allein zu haben. Das Merkmal des Time-Sharing-Betriebssystems besteht darin, dass es die Ressourcennutzung effektiv steigern kann. Beispielsweise nutzen UNIX-Systeme die CPU-Planung mit deprivierter dynamischer Priorität, um Time-Sharing-Vorgänge effektiv zu unterstützen.
Das Time-Sharing-System ist eine neue Art von Betriebssystem, das speziell auf die Bedürfnisse der Benutzer zugeschnitten ist. Es gibt einen völlig anderen Leistungsunterschied zwischen ihm und dem Mehrkanal-Stapelverarbeitungssystem. Die Bedürfnisse der Nutzer spiegeln sich konkret in folgenden Aspekten wider: Mensch-Computer-Interaktion Shared Hosting erleichtert den Nutzern den Zugriff auf den Computer
Die Grundidee des Time-Sharing-Systems
Zeitscheibe: Es ist die Nutzung von Computersystemressourcen (insbesondere CPU-Zeit) für die Zeit. Jeder Zeitraum wird als Zeitscheibe bezeichnet, und jeder Benutzer nutzt abwechselnd die Zeitscheibe.
Time-Sharing-Technologie: Teilen Sie die Laufzeit des Prozessors in sehr kurze Zeitscheiben auf und weisen Sie den Prozessor entsprechend der Zeitscheibe nacheinander jedem Online-Job zu.
Time-Sharing-Betriebssystem: Es handelt sich um ein interaktives Online-Mehrbenutzer-Betriebssystem. Im Allgemeinen wird die Zeitscheibenrotation verwendet, um es einem Computer zu ermöglichen, mehrere Terminals zu bedienen. Sorgen Sie für eine ausreichend schnelle Reaktionszeit für jeden Benutzer und stellen Sie interaktive Sitzungsfunktionen bereit.
Designziele: Reagieren Sie zeitnah auf Benutzeranfragen und maximieren Sie die Nutzung der Systemressourcen, wo möglich.
Arbeitsmethode:
Ein Host ist mit mehreren Terminals verbunden; jedes Terminal stellt interaktiv Befehle von jedem Benutzer bereit; Die Ergebnisse werden dem Benutzer interaktiv auf dem Terminal angezeigt. Der Benutzer gibt den nächsten Befehl basierend auf dem Ergebnis des vorherigen Schritts aus.
Das Hauptproblem bei der Implementierung des Time-Sharing-Systems: der rechtzeitige Empfang. Behandeln Sie es umgehend.
Funktionen:
Interaktivität: Benutzer führen einen Mensch-Computer-Dialog mit dem System.
Multipathing: Mehrere Benutzer können gleichzeitig dieselbe CPU auf ihren jeweiligen Terminals verwenden.
Unabhängigkeit: Benutzer können unabhängig voneinander arbeiten, ohne sich gegenseitig zu stören oder zu verwirren.
Aktualität: Benutzer können in kurzer Zeit zeitnahe Antworten vom System erhalten.
Faktoren, die die Antwortzeit beeinflussen: die Anzahl der Terminals, die Größe der Zeitscheibe, die Menge des Informationsaustauschs und die Geschwindigkeit des Informationsaustauschs.
Verwandte Empfehlungen: „Linux-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Linux und RTOs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!