- Was ist RTOS?
- Warum RTOS?
- Unterschied zwischen Echtzeitbetriebssystem und Betriebssystem
- Arten von RTOS
- Vorteile der Verwendung von kostenlosem RTOS
- Einige wichtige Probleme im Zusammenhang mit RTOS
- Verwendung von RTOS
Eingebettete Systeme haben ein breites Anwendungsspektrum in allen elektronischen Geräten um uns herum. Ein offensichtliches Beispiel ist der Mini-Laptop, den wir ständig mit uns herumtragen. Ja, ich beziehe mich auf unsere Mobiltelefone.
Wenn ein eingebettetes System ins Bild kommt, ist es immer eine Kombination aus Hardware wie Mikrocontrollern oder Mikroprozessoren und Software wie einer Firmware oder einem Betriebssystem. Ein Betriebssystem bildet die Basis aller elektronischen Geräte und verwaltet sowohl die Hardware als auch die Software in jedem elektronischen Gerät. Der Begriff Betriebssystem ist nicht nur auf Unix und Windows für Computer beschränkt, sondern kann sich auch auf Mikrocontroller erstrecken. Ein solches Betriebssystem, das auf Mikrocontrollern ausgeführt werden kann, wird als Echtzeitbetriebssystem bezeichnet. Hier lernen wir RTOS und Anwendungen des Echtzeitbetriebssystems kennen.
Was ist RTOS?
Das im Volksmund als RTOS bekannte Echtzeitbetriebssystem bietet dem Controller die Möglichkeit, auf Eingaben zu reagieren und Aufgaben innerhalb eines bestimmten Zeitraums basierend auf der Priorität abzuschließen. Auf den ersten Blick mag ein RTOS wie jedes andere eingebettete Programm oder jede andere Firmware klingen, basiert jedoch auf der Architektur eines Betriebssystems. Daher wie jedes Betriebssystem kann RTOS mehrere Programme erlauben gleichzeitig auszuführen Stütz Multiplexen. Wie wir wissen, kann der Kern eines Prozessors oder Controllers jeweils nur einen Befehl ausführen, aber das RTOS verfügt über einen sogenannten SchedulerDies entscheidet, welche Anweisung zuerst ausgeführt werden soll, und führt somit die Anweisungen mehrerer Programme nacheinander aus. Technisch gesehen erzeugt ein RTOS nur die Illusion einer Mehrfachaufnahme, indem parallel geschaltete Anweisungen einzeln ausgeführt werden.
Dies macht RTOS für verschiedene Anwendungen in der realen Welt geeignet. In RTOS für jeden Eingang, wenn eine Logik ausgewertet wurde, die den entsprechenden Ausgang liefert. Diese Logik wird nicht nur anhand der logischen Kreativität gemessen, sondern auch anhand der Zeitdauer, in der die spezifische Aufgabe ausgeführt wurde. Wenn ein System die Aufgabe in dieser bestimmten Zeitspanne nicht ausführt, wird dies als Systemfehler bezeichnet.
Warum RTOS?
- Verfügbarkeit von Treibern: In RTOS sind viele Treiber verfügbar, sodass wir sie direkt für verschiedene Anwendungen verwenden können.
- Geplante Dateien: RTOS kümmert sich um die Planung. Anstatt uns auf die Planung eines Systems zu konzentrieren, können wir uns einfach auf die Entwicklung von Anwendungen konzentrieren. Beispielsweise werden Aufgabenplanungsdateien verwendet, um bestimmte Aktionen zu definieren, wenn eine Reihe von Bedingungen erfüllt sind. RTOS verwendet bestimmte erweiterte Algorithmen für die Planung von normalerweise laufenden, bereitgestellten und blockierten Zuständen, bei denen RTOS während der Ausführung mehr auf die Entwicklung von Anwendungen als auf die Planung ausgerichtet ist.
- Flexibilität beim Hinzufügen von Funktionen: Selbst wenn Sie in RTOS bereit sind, neue Funktionen hinzuzufügen, können Sie diese einfach hinzufügen, ohne die vorhandenen Funktionen zu stören
Unterschied zwischen Echtzeitbetriebssystem und Betriebssystem
Es gibt verschiedene Unterschiede zwischen Echtzeitbetriebssystemen und Betriebssystemen wie Windows, Linux usw. Schauen wir uns diese anhand des Tabellenformats einzeln an:
S.No. | Betriebssystem | Echtzeitsystem |
1 | Time Sharing ist die Basis für die Ausführung von Prozessen im Betriebssystem | Prozesse werden in der Reihenfolge ihrer Priorität ausgeführt |
2 | Das Betriebssystem fungiert als Schnittstelle zwischen der Hardware und Software eines Systems | Das Echtzeitsystem ist so konzipiert, dass es für die Probleme der realen Welt ausgeführt werden kann |
3 | Das Verwalten des Speichers ist kein kritisches Problem bei der Ausführung des Betriebssystems | Die Speicherverwaltung ist schwierig, da basierend auf dem Echtzeitproblem Speicher zugewiesen wird, was selbst kritisch ist |
4 | Anwendungen: Büro, Rechenzentren, System für zu Hause usw. | Anwendungen: Steuerung von Flugzeugen oder Kernreaktoren, wissenschaftliche Forschungsausrüstung |
5 | Beispiele: Microsoft Windows, Linux, OS | Beispiele: Vx Works, QNX, Windows CE |
Arten von RTOS
Wir können das Echtzeitbetriebssystem hauptsächlich in drei Teile einteilen
- Hartes Echtzeitbetriebssystem
- Soft-Echtzeit-Betriebssystem
- Festes Echtzeitbetriebssystem
1. Hartes Echtzeitbetriebssystem
Beginnen wir mit dem Verständnis dieser Art von Betriebssystem anhand eines Beispiels. Das Live-Beispiel dafür ist das Flugsteuerungssystem. Innerhalb des Flugsteuerungssystems sollten alle Aufgaben, die der Pilot in Form einer Eingabe übernimmt, rechtzeitig ausgeführt werden. In einem harten Echtzeitbetriebssystem können Systemfehler toleriert werden. Die Merkmale von Hard RTOS sind:
- Aufgaben pünktlich ausführen
- Die Nichteinhaltung der Frist ist fatal
- Garantierte Reaktionszeit im schlimmsten Fall
- Kann zu Systemausfällen führen
2. Weiches Echtzeitbetriebssystem
Das einfachste Beispiel für die Verwendung von Soft-RTOS ist die Online-Datenbank, da in Soft-RTOS der Parameter, um den wir uns mehr Sorgen machen, die Geschwindigkeit ist. Daher sind die Merkmale von weichem RTOS:
- Aufgaben sollten so schnell wie möglich ausgeführt werden
- Ein verspäteter Abschluss von Aufgaben ist unerwünscht, aber nicht tödlich
- Es besteht die Möglichkeit einer Leistungsverschlechterung
- Kann nicht zu einem Systemausfall führen
3. Festes Echtzeitbetriebssystem
Der Roboterarm, der zum Aufnehmen von Objekten verwendet wird, kann als eines der Beispiele für festes RTOS angesehen werden. Hier innerhalb dieser Firma wird RTOS toleriert, auch wenn der Prozess verzögert ist.
Vorteile der Verwendung von kostenlosem RTOS
Im Folgenden sind die Vorteile der Verwendung von RTOS in Ihren Anwendungen aufgeführt.
- Keine Firewall-Probleme
- Geringe Bandbreite für verbesserte Leistung
- Verbesserte Sicherheit und Privatsphäre
- Niedrige Kosten aufgrund der Reduzierung der für die Entwicklung verwendeten Hardware- und Softwarekomponenten
Einige wichtige Probleme im Zusammenhang mit RTOS
Obwohl RTOS in der Praxis viele Vorteile bietet, weist es nun auch verschiedene Nachteile auf. Einige der damit verbundenen Probleme werden hier erörtert.
- Interrupts werden normalerweise in Programmen verwendet, um das ausführende Programm anzuhalten und den Fluss auf einen anderen wichtigen Teil des Codes umzuleiten. Hier innerhalb von RTOS, da eine schnelle Reaktionszeit erforderlich ist; Es wird empfohlen, Interrupts für eine möglichst kurze Zeit zu deaktivieren.
- Da der Kernel auch auf verschiedene Ereignisse reagieren sollte, ist eine geringere Kernelgröße erforderlich, damit er ordnungsgemäß in das ROM passt
- Anspruchsvolle Funktionen von RTOS sollten entfernt werden, da es kein Konzept für einen solchen virtuellen Speicher gibt.
Verwendung von RTOS
Nachdem Sie nun wissen, was RTOS ist und wo Sie es verwenden können, müssen Sie normalerweise den Tornado oder die FreeRTOS-Entwicklungsumgebung verwenden, um mit RTOS zu beginnen. Lassen Sie uns einen kurzen Blick auf diese beiden Entwicklungsumgebungen werfen.
Tornado - VxWorks
Tornado ist eine integrierte Umgebung zur Entwicklung von eingebetteten RTOS- Anwendungen in Echtzeit auf dem Zielsystem. Tornado besteht aus drei Grundelementen, die unten aufgeführt sind.
1) VxWorks
2) Tools zur Anwendungserstellung (Compiler und zugehörige Programme)
3) Integrierte Entwicklungsumgebung, die die VxWorks-Anwendung verwalten, debuggen und überwachen kann
VxWorks ist ein vernetztes Echtzeitbetriebssystem. Zu Beginn von VxWorks sollten wir ein Entwicklungskit (Ziel) zusammen mit einer Workstation haben. Hier ist das Development Kit nichts anderes als der Zielhost oder die Zielkomponente, die mit dem Zielserver auf der Workstation kommuniziert. Das Ziel verbindet hier Tornado-Tools wie die Shell und den Debugger. Daher werden wir die Systeme mit VxWorks konfigurieren und erstellen, während Tornado uns eine grafische Benutzeroberfläche und Befehlszeilentools für die Konfiguration und Erstellung bietet.
Ein sehr wichtiger Punkt, der hier ins Bild kommt, ist, dass das Installationsverzeichnis während der Installation von Tornado in Ihrem System die Pfadnamen wie
folgt verwenden sollte: installDir / target. Wenn Sie beispielsweise Ihren Tornado in C: \ tornado auf einem Windows-Host speichern möchten, sollte der vollständige Pfadname in diesem Fall als installDir / target / h / vxworks.h angegeben werden.
Hier werden wir nicht im Detail auf die Funktionen von Vx Works eingehen (das werden wir für das nächste Tutorial belassen), aber wir werden diskutieren, wie die Entwicklung mit C ++ in Vxworks mit WindRiver GNU durchgeführt werden kann. WindRiver GNU hilft uns bei der grafischen Analyse des Interrupts während der Ausführung sowie des Speicherauslastungsberichts.
In der oben angegebenen Ansicht von WindRiver werden beispielsweise die zugehörige Prozessornummer sowie die Priorität der Aufgaben (tLowPri & tHighPri) erläutert. Der Ruhezustand, dh die grüne Farblinie, gibt den Zeitraum an, für den sich der Prozessor nicht im Arbeitszustand befindet. Dies wird alle paar Sekunden beobachtet. t1, t7, t8 und t9 sind nichts anderes als die verschiedenen verwendeten Prozessoren. Hier wählen wir nur den t7-Prozessor aus.
Daher kann dieser Windriver sowohl VxWorks- als auch Anwendungsmodul-Subroutinen aufrufen. Sie können die Windriver-Anwendung entweder über die Tornado-Startsymbolleiste (Schaltfläche -> i) starten. Klicken Sie später auf das Menü und dann auf die Shell. Zuletzt geben Sie an der Eingabeaufforderung "> windsh target server" ein.
Um jetzt mit C ++ zu programmieren, ist es wichtig, die INCLUDE_CPLUS_DEMANGLER-Komponente einzuschließen. Mit dieser Demangler-Komponente können Ziel-Shell-Symbole von Menschen lesbare Formen von C ++ - Symbolnamen zurückgeben. Vor, das Herunterladen von C ++ Modul Vxworks Ziel, Folgeprozess bekannt als kaute. Hier bezieht sich das Knabbern auf einen zusätzlichen Host-Verarbeitungsschritt.
Kompilieren Sie das Quellprogramm der C ++ - Anwendung und rufen Sie beispielsweise die Datei hello.cpp ab. Führen Sie es später aus, um die.o-Datei zu knabbern und die generierte Datei ctdt.c zu kompilieren. Verknüpfen Sie die Anwendung außerdem mit ctdt.o, um das herunterladbare Modul hello.out in VxWorks zu generieren. Die Ausgabe nach dem Ausführen dieses VxWorks ist eine make-Datei, die auf einem bestimmten Ziel verwendet wird.
Kostenloses RTOS
Wenn wir mit RTOS beginnen, bevorzugen wir im Allgemeinen Vx Works RTOS. Aber hier wollen wir kurz auf das kostenlose RTOS eingehen, das auch von Anfängern verwendet werden kann, um das Konzept des Echtzeitbetriebssystems durchzugehen. Free RTOS wurde von Richard Barry und dem FreeRTOS-Team entwickelt. Es gehört ebenfalls Real Time Engineers Ltd., ist jedoch kostenlos und kann einfach durch Klicken auf den unten stehenden Link heruntergeladen werden
Kostenlose ROTS herunterladen
Die neueste Version von Free RTOS, die zum Zeitpunkt dieses Artikels verwendet wird, ist Version 10, angegeben als FreeRTOS V10.
Der größte Vorteil von kostenlosem RTOS, der es gegenüber dem anderen RTOS überlegen macht, ist sein plattformunabhängiges Verhalten in Bezug auf Hardware, dh der C-Code, den wir zur Ausführung eines Betriebssystems verwenden, kann auf verschiedenen Plattformen mit unterschiedlicher Architektur ausgeführt werden. Unabhängig davon, ob Sie einen 8051-Mikrocontroller oder einen neuesten ARM-Mikrocontroller verwenden, ist der Code, den Sie zusammen mit dem Ausführungsprozess geschrieben haben, für beide ähnlich.
Es gibt viele andere Vorteile der Verwendung von kostenlosem RTOS gegenüber Vx Works und anderen RTOS-Betriebstools. Einige von ihnen können wie folgt angegeben werden:
- Bietet einfachere Tests
- Fördert das Konzept der Wiederverwendbarkeit von Code
- Geringere Leerlaufzeit
- Einfache Wartbarkeit
- Zeitinformationen abstrahieren
Der grundlegende Kernel, in dem sich der Kernel auf die zentrale Komponente eines Betriebssystems bezieht, die im freien RTOS vorhanden ist, macht es auch für verschiedene Anwendungen zugänglich. Da es einfach ist, erweiterte Module an Betriebssysteme anzuschließen, um mehr Anwendungen kostenlos zu erhalten, wird RTOS leistungsfähiger.
Eines der Beispiele für die Verwendung von freiem RTOS kann anhand des Konzepts der Kombination von freiem RTOS mit Nabto erklärt werden. Nabto ist ein kostenloses Webgerät, mit dem die Informationen vom Gerät an den Browser übertragen werden.
Wenn Sie Free RTOS mit Nabto kombinieren, wird es daher zu einem kleinen Stück C-Code, wie in Abbildung a erläutert. Heute liegt das Internet der Dinge (IOT) im Trend und jedes IOT-Gerät, auf das wir zugreifen, verfügt über eine eindeutige URL über das Internet. Die Technologie ermöglicht sichere Punkt-zu-Punkt-Verbindungen mit extrem geringer Bandbreite. Wenn keine Internetverbindung besteht, kann diese Kombination hilfreich sein. Daher ist kostenloses RTOS eine beliebte Wahl bei der Implementierung von IOT.