Heim > Artikel > System-Tutorial > Ist Linux ein Echtzeitsystem oder ein Time-Sharing-Betriebssystem?
Die µC/OS, FreeRTOS, RT-Thread und ThreadX, die wir oft teilen, sind alle Echtzeit-Betriebssysteme (RTOS). Einige Leser fragen sich vielleicht: Was ist ein Time-Sharing-Betriebssystem? Gilt Linux als Echtzeitbetriebssystem?
RTOS, der vollständige Name ist Real Time Operating System, was wir als Echtzeitbetriebssystem bezeichnen.
1. Echtzeit-Betriebssystemdefinition Ein Echtzeit-Betriebssystem (RTOS) ist ein System, das externe Ereignisse oder Daten schnell akzeptieren und verarbeiten kann, wenn sie generiert werden. Die Verarbeitungsergebnisse können den Produktionsprozess oder das Verarbeitungssystem steuern Reagieren Sie schnell und koordinieren Sie die Ausführung aller Echtzeitaufgaben.
Daher bestehen die Hauptmerkmale eines Echtzeitbetriebssystems darin, eine zeitnahe Reaktion und eine hohe Zuverlässigkeit bereitzustellen.
Echtzeitbetriebssysteme werden in zwei Typen unterteilt: Hart-Echtzeit- und Soft-Echtzeit-Betriebssysteme. Harte Echtzeit-Betriebssysteme erfordern, dass Vorgänge innerhalb einer bestimmten Zeit abgeschlossen werden müssen, was beim Entwurf des Betriebssystems garantiert wird .
Soft-Echtzeitsysteme müssen den Vorgang nur entsprechend der Priorität der Aufgabe so schnell wie möglich abschließen. Das von uns normalerweise verwendete Betriebssystem kann nach bestimmten Modifikationen zu einem Echtzeitbetriebssystem werden.
Ein Echtzeitbetriebssystem ist ein Betriebssystem, das die Ausführung bestimmter Funktionen innerhalb einer bestimmten Zeitspanne garantiert. Beispielsweise könnte ein Betriebssystem so konzipiert sein, dass es sicherstellt, 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 der Nichtproduktion. Einige Echtzeitbetriebssysteme sind für bestimmte Anwendungen konzipiert, andere sind universell einsetzbar.
Einige Allzweck-Betriebssysteme bezeichnen sich selbst als Echtzeit-Betriebssysteme. 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 nicht unbedingt ein Echtzeitsystem ist, kann es einige Probleme mit Echtzeitanwendungen lösen.
2. Eigenschaften des Echtzeitbetriebssystems
1) Multitasking;
2) Es gibt Thread-Priorität
3) Mehrere Interrupt-Ebenen
3. Verwandte Konzepte des Echtzeitbetriebssystems
(1) Grundkonzepte
Kritischer Codeabschnitt: bezieht sich auf Code, der während der Verarbeitung unteilbar ist. Sobald die Ausführung dieses Teils des Codes beginnt, ist kein Interrupt zulässig
Ressourcen: Jede Entität, die mit einer Aufgabe beschäftigt ist;
Gemeinsame Ressourcen:Ressourcen, die von mehr als einer Aufgabe genutzt werden können
Aufgabe:auch Thread genannt, 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 und Unterbrechungszustand ;
Aufgabenwechsel:Speichern Sie den aktuellen Status der laufenden Aufgabe (alle Inhalte im CPU-Register) im eigenen Stapelbereich der Aufgabe und laden Sie dann den aktuellen Status der nächsten auszuführenden Aufgabe aus dem Stapel der Aufgabe neu in den CPU registrieren und die nächste Aufgabe ausführen
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 unveräußerliche Kerne und entbehrliche Kerne
Planung:Eine der Hauptaufgaben des Kernels besteht darin, zu entscheiden, welche Aufgabe an der Reihe ist. Im Allgemeinen basierend auf der Prioritätsplanungsmethode;
(2) Fragen zur PrioritätAufgabenpriorität:
Sie ist unterteilt in statische Priorität, deren Priorität nicht geändert werden kann, und dynamische Priorität, deren Priorität geändert werden kann
Das Prioritätsumkehrproblem ist das häufigste Problem in Echtzeitsystemen. 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ätsvererbungsalgorithmus“ zu verwenden, um die Aufgabenprioritäten vorübergehend zu ändern und so die Prioritätsumkehr einzudämmen.
(3) Sich gegenseitig ausschließendObwohl der gemeinsam genutzte Datenbereich den Informationsaustausch zwischen Aufgaben vereinfacht, muss gewährleistet sein, dass jede Aufgabe bei der Verarbeitung gemeinsam genutzter Daten exklusiv ist. 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.
Denn die Bedeutung der Verwendung eines Echtzeitbetriebssystems besteht darin, verschiedene unerwartete Ereignisse rechtzeitig verarbeiten zu können, d. h. verschiedene Interrupts verarbeiten zu können, den wichtigsten und repräsentativsten Leistungsindexparametern zur Messung des eingebetteten Echtzeitbetriebs Das System sollte zweifellos die Interrupt-Antwort sein. Es ist Zeit. 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.
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.
TSOS, der vollständige englische Name ist Time-Sharing Operating System, also Time-Sharing-Betriebssystem.
Ein Betriebssystem, das es einem Computer ermöglicht, mehrere, Dutzende oder sogar Hunderte von Benutzern gleichzeitig zu bedienen, wird als Time-Sharing-Betriebssystem bezeichnet. 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 Nutzer 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. Benutzerbedürfnisse spiegeln sich insbesondere in folgenden Aspekten wider: Mensch-Computer-Interaktion Shared Hosting Bequem für Benutzer, an den Computer zu gelangen
1. Grundidee des Time-Sharing-Systems
Zeitscheibe: Es unterteilt die Systemressourcen des Computers (insbesondere die CPU-Zeit) in Zeitabschnitte. Jeder Zeitraum wird als Zeitscheibe bezeichnet, und jeder Benutzer nutzt die Zeitscheibe abwechselnd.
Time-Sharing-Technologie: Teilen Sie die Laufzeit des Prozessors in kurze Zeitabschnitte 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.
Geeignet für Büroautomation, Unterricht und Transaktionsverarbeitung sowie andere Anlässe, die eine Mensch-Computer-Kommunikation erfordern.
2. Arbeitsmethode
Ein Host ist mit mehreren Terminals verbunden; jedes Terminal wird von einem Benutzer interaktiv verwendet. Das System nimmt Befehle von jedem Benutzer entgegen und interagiert mit dem Terminal wird dem Benutzer angezeigt; der Benutzer gibt den nächsten Befehl basierend auf den Ergebnissen des vorherigen Schritts aus
Das Schlüsselproblem bei der Implementierung des Time-Sharing-Systems: der rechtzeitige Empfang. Behandeln Sie es umgehend.
3.Funktionen
Interaktivität: Benutzer führen einen Mensch-Computer-Dialog mit dem System.
Multiplexing: Mehrere Benutzer verwenden gleichzeitig dieselbe CPU auf ihren jeweiligen Terminals.
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.
Unterschied
RTOS und TSOS haben jeweils ihre eigenen Eigenschaften RTOS wird im Allgemeinen für relativ langsame MCUs verwendet, wie z. B. Bewegungssteuerung, Tasteneingabe und andere Systeme, die im Allgemeinen eine Echtzeitverarbeitung erfordern Antworten sind erforderlich.
Time-Sharing: Heutzutage verwenden gängige PCs und Server diesen Betriebsmodus, der den CPU-Betrieb in mehrere Zeitabschnitte aufteilt, um unterschiedliche Rechenanforderungen zu verarbeiten.
Echtzeit: Wird im Allgemeinen auf Mikrocontrollern verwendet, z. B. bei der Auf- und Absteuerung von Aufzügen, die eine Echtzeitverarbeitung von Tastendrücken und anderen Aktionen erfordern.
Durch die obige Analyse ist klar, dass Linux ein Time-Sharing-System ist, aber es kann in Echtzeit geändert werden. Zum Beispiel: ucLinux ist ein von Linux modifiziertes Echtzeitsystem kann ähnliche Antworten in Baidu zitieren:
Das Time-Sharing-System ist ein System, das zwei oder mehr Konten gleichzeitig bedienen kann!Ein Echtzeitsystem ist ein Betriebssystem, das sofort auf Anweisungen reagiert! Die gängigen Systeme von Microsoft können das nicht! Und es ist immer noch tot! Das Betriebssystem eines Kampfflugzeugs ist ein Echtzeitsystem. Wenn der Computer im Kampfflugzeug auf den letzten Befehl des Piloten reagiert oder abstürzt, während jemand anderes kämpft, wer würde es dann wagen, das Flugzeug zu fliegen?
Das obige ist der detaillierte Inhalt vonIst Linux ein Echtzeitsystem oder ein Time-Sharing-Betriebssystem?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!