Eingebettete Systeme und eingebettete Betriebssysteme
2026-02-21 12:33:09··#1
Was ist ein eingebettetes System? Ein eingebettetes System ist im Allgemeinen ein System, das nicht als Computer bezeichnet wird, also ein Gerät oder eine Vorrichtung mit Computerfunktionen. Es handelt sich um ein anwendungsorientiertes, anpassbares Hardware- und Softwaresystem, das die hohen Anforderungen von Anwendungssystemen hinsichtlich Funktionalität, Zuverlässigkeit, Kosten, Größe und Stromverbrauch erfüllt. Vereinfacht gesagt, integriert ein eingebettetes System Anwendungssoftware und Hardware, ähnlich dem BIOS eines PCs. Es zeichnet sich durch geringen Softwarecode, hohe Automatisierung und schnelle Reaktionszeiten aus und eignet sich daher besonders für Echtzeit- und Multitasking-Umgebungen. Ein eingebettetes System besteht hauptsächlich aus einem eingebetteten Prozessor, zugehöriger Hardware, einem eingebetteten Betriebssystem und Anwendungssoftware. Es ist ein eigenständig funktionierendes Gerät. Eingebettete Systeme finden sich in nahezu allen elektrischen Geräten des täglichen Lebens, wie z. B. Handheld-PDAs, mobile Computer, Set-Top-Boxen, mobiler Internetzugang, digitales Fernsehen, Multimedia-Geräte, Automobile, Mikrowellenherde, Digitalkameras, Hausautomationssysteme, Aufzüge, Klimaanlagen, Sicherheitssysteme, Verkaufsautomaten, Mobiltelefone, Unterhaltungselektronik, industrielle Automatisierungsanlagen und medizinische Geräte. Die Hardwarekomponenten eines eingebetteten Systems umfassen Prozessor/Mikroprozessor, Speicher, Peripheriegeräte und Ein-/Ausgabeports sowie den Grafikcontroller. Eingebettete Systeme unterscheiden sich von herkömmlichen Computersystemen dadurch, dass sie keine Speichermedien mit hoher Kapazität wie Festplatten besitzen, sondern meist EPROM, EEPROM oder Flash-Speicher verwenden. Die Softwarekomponenten umfassen das Betriebssystem (das Echtzeit- und Multitasking-Fähigkeiten erfordert) und die Anwendungssoftware. Die Anwendungssoftware steuert den Betrieb und das Verhalten des Systems, während das Betriebssystem die Interaktion zwischen Anwendungssoftware und Hardware regelt. Das Herzstück eines eingebetteten Systems ist der eingebettete Mikroprozessor. Eingebettete Mikroprozessoren weisen im Allgemeinen vier Merkmale auf: (1) Sie unterstützen Echtzeitfähigkeit und Multitasking, können Multitasking ausführen und verfügen über kurze Interrupt-Reaktionszeiten, wodurch die Ausführungszeit des internen Codes und des Echtzeitbetriebssystems minimiert wird. (2) Sie verfügen über starke Speicherschutzfunktionen, da die Softwarestruktur eingebetteter Systeme modular aufgebaut ist und zur Vermeidung von Wechselwirkungen zwischen Softwaremodulen starke Speicherschutzfunktionen erforderlich sind. Dies erleichtert auch die Softwarediagnose. (3) Sie verfügen über eine skalierbare Prozessorarchitektur, sodass sie schnell erweitert werden können, um die Anwendungsanforderungen leistungsstarker eingebetteter Mikroprozessoren zu erfüllen. (4) Der Stromverbrauch eingebetteter Mikroprozessoren muss sehr gering sein, insbesondere bei batteriebetriebenen eingebetteten Systemen, die in tragbaren drahtlosen und mobilen Computer- und Kommunikationsgeräten eingesetzt werden, wo der Stromverbrauch nur im mW- oder sogar μW-Bereich liegen darf. Laut unvollständigen Statistiken hat die Gesamtzahl der eingebetteten Prozessoren weltweit 1.000 überschritten, und es gibt mehr als 30 gängige Architekturserien. Das 8051-System ist dabei am weitesten verbreitet. Mehr als 20 Halbleiterhersteller produzieren diesen Mikrocontroller mit über 350 abgeleiteten Produkten, von denen allein Philips fast 100 anbietet. Mittlerweile produziert fast jeder Halbleiterhersteller eingebettete Prozessoren, und immer mehr Unternehmen verfügen über eigene Abteilungen für Prozessorentwicklung. Der Adressraum von Embedded-Prozessoren liegt üblicherweise zwischen 64 kB und 16 MB, die Verarbeitungsgeschwindigkeit zwischen 0,1 und 2000 MIPS, und die gängigen Gehäuse haben 8 bis 144 Pins. Ausgehend von der aktuellen Situation lassen sich Embedded-Computer in folgende Kategorien einteilen: (1) Eingebettete Mikroprozessoreinheit (EMPU): Eingebettete Mikroprozessoren verwenden erweiterte Allzweck-Mikroprozessoren. Da eingebettete Systeme häufig in rauen Umgebungen eingesetzt werden, stellen eingebettete Mikroprozessoren höhere Anforderungen an Betriebstemperatur, elektromagnetische Verträglichkeit und Zuverlässigkeit als Standard-Allzweck-Mikroprozessoren. Funktional gesehen sind eingebettete Mikroprozessoren jedoch im Wesentlichen mit Standard-Mikroprozessoren identisch. Entsprechend den Anforderungen der jeweiligen Embedded-Anwendung wird der eingebettete Mikroprozessor auf einem speziell entwickelten Motherboard montiert. Dabei werden nur die für die Embedded-Anwendung relevanten Motherboard-Funktionen beibehalten, wodurch die Systemgröße und der Stromverbrauch deutlich reduziert werden können. Im Vergleich zu industriellen Steuerungsrechnern bietet das System mit eingebetteten Mikroprozessoren die Vorteile geringer Größe, niedrigen Gewichts, niedriger Kosten und hoher Zuverlässigkeit. Allerdings muss die Leiterplatte ROM, RAM, Busschnittstelle, diverse Peripheriegeräte usw. enthalten, was die Systemzuverlässigkeit und die technische Vertraulichkeit beeinträchtigt. Ein Einplatinencomputersystem entsteht durch die Integration eines eingebetteten Mikroprozessors, seines Speichers, des Busses, der Peripheriegeräte usw. auf einer Leiterplatte. Zu den wichtigsten eingebetteten Prozessoren zählen derzeit Am186/88, 386EX, SC-400, PowerPC, 68000, MIPS, ARM-Serie usw. (2) Eingebettete Mikrocontrollereinheit (MCU): Ein eingebetteter Mikrocontroller, auch Ein-Chip-Mikrocomputer genannt, integriert das gesamte Computersystem in einen einzigen Chip. Er basiert in der Regel auf einem bestimmten Mikroprozessorkern. Je nach Anwendungsfall integriert der Mikrocontroller verschiedene notwendige Funktionskomponenten und Peripheriegeräte wie ROM/EPROM, RAM, Bus, Buslogik, Timer/Zähler, Watchdog, I/O, serielle Schnittstelle, PWM-Ausgang, A/D- und D/A-Wandler, Flash-RAM, EEPROM usw., um unterschiedlichen Anwendungsanforderungen gerecht zu werden. Die Funktionseinstellungen und Peripheriekonfigurationen werden bedarfsgerecht angepasst, sodass aus einer Reihe von Ein-Chip-Mikrocomputern eine Vielzahl von Derivaten entsteht. Der Prozessorkern ist bei allen Derivaten identisch, Speicher- und Peripheriekonfigurationen sowie Funktionseinstellungen unterscheiden sich jedoch. Dadurch lässt sich der Mikrocontroller optimal an die Anwendungsanforderungen anpassen, was den Stromverbrauch und die Kosten des Gesamtsystems reduziert. Im Vergleich zu eingebetteten Mikroprozessoren ermöglicht die Ein-Chip-Bauweise von Mikrocontrollern eine deutliche Verkleinerung der Anwendungssysteme, was zu einer signifikanten Senkung des Stromverbrauchs und der Kosten sowie zu einer höheren Zuverlässigkeit führt. Da eingebettete Mikrocontroller derzeit die größte Produktvielfalt und -anzahl aller Arten von eingebetteten Prozessoren aufweisen und die genannten Vorteile sie zum Standard in eingebetteten Systemen machen, sind sie die gängigste Technologie. Mikrocontroller verfügen im Allgemeinen über umfangreiche On-Chip-Peripherieressourcen und eignen sich daher für Steuerungsanwendungen – daher der Name Mikrocontroller. Eingebettete Mikroprozessoren lassen sich in zwei Kategorien unterteilen: Allzweck- und Spezialprozessoren. Zu den repräsentativen Allzweck-Serien gehören beispielsweise 8051, P51XA, MCS-251, MCS-96/196/296, C166/167 und 68300. Repräsentative Spezialprozessoren umfassen MCUs mit USB-Schnittstellen wie 8XC930/931, C540 und C541 sowie zahlreiche dedizierte MCUs und kompatible Serien mit Unterstützung für I²C, CAN-Bus, LCD usw. Derzeit machen MCUs etwa 70 % des Marktanteils eingebetteter Systeme aus. (3) Eingebettete digitale Signalprozessoren (EDSP): In Anwendungen der digitalen Signalverarbeitung sind verschiedene Algorithmen für die digitale Signalverarbeitung sehr komplex. Die Komplexität dieser Algorithmen kann O(nm) oder sogar NP betragen. Prozessoren mit allgemeiner Struktur können diese Operationen nicht in Echtzeit ausführen. Aufgrund der speziellen Systemstruktur und der Befehlsstruktur des DSP-Prozessors eignet er sich für die digitale Echtzeit-Signalverarbeitung. DSP-Algorithmen finden in großem Umfang Anwendung in eingebetteten Systemen, beispielsweise bei digitaler Filterung, FFT und Spektrumanalyse. DSP-Anwendungen wandeln sich von der Implementierung von DSP-Funktionen mit herkömmlichen Befehlen in herkömmlichen Ein-Chip-Mikrocomputern hin zum Einsatz eingebetteter DSP-Prozessoren. Es gibt zwei Arten von eingebetteten DSP-Prozessoren: (1) DSP-Prozessoren, die durch Modifikationen an der EMV und die Integration von On-Chip-Peripheriegeräten zu eingebetteten DSP-Prozessoren wurden. Beispiele hierfür sind der TMS320C2000/C5000 von TI und andere Prozessoren; (2) die Integration eines DSP-Coprozessors in einen herkömmlichen Ein-Chip-Mikrocomputer oder ein SoC. Beispiele hierfür sind der MCS-296 von Intel und der TriCore von Infineon (Siemens). Darüber hinaus werden eingebettete DSP-Prozessoren auch in intelligenten Anwendungen benötigt, beispielsweise in verschiedenen Konsumprodukten mit intelligenter Logik, biometrischen Identifikationsterminals, Tastaturen mit Verschlüsselungs- und Entschlüsselungsalgorithmen, ADSL-Zugang, Echtzeit-Sprachkomprimierungs- und -entschlüsselungssystemen sowie Virtual-Reality-Displays. Diese intelligenten Algorithmen erfordern in der Regel hohe Rechenlasten, insbesondere Vektoroperationen und lineare Zeigeradressierung – genau die Stärken von DSP-Prozessoren. Repräsentative Beispiele für eingebettete DSP-Prozessoren sind die TMS320-Serie von TI und die DSP56000-Serie von Motorola. Die TMS320-Serie umfasst die C2000-Serie für Steuerungsanwendungen, die C5000-Serie für mobile Kommunikation sowie die leistungsstärkeren Serien C6000 und C8000. Die DSP56000-Serie wurde mittlerweile in mehrere Prozessorserien weiterentwickelt, darunter DSP56000, DSP56100, DSP56200 und DSP56300. Darüber hinaus hat Philips kürzlich den REA L DSP-Prozessor auf den Markt gebracht. Dieser basiert auf einer rücksetzbaren Embedded-DSP-Architektur und wird mit kostengünstiger und energieeffizienter Technologie gefertigt. Zu seinen Merkmalen gehören eine Dual-Harvard-Architektur und zwei Multiplikations-/Akkumulationseinheiten. Er ist für den Massenmarkt von Konsumgütern konzipiert. (4) Embedded System-on-Chip (SoC): Mit der Förderung von EDI und der zunehmenden Verbreitung von VLSI-Design sowie der rasanten Entwicklung der Halbleitertechnologie lassen sich komplexere Systeme auf einem einzigen Siliziumchip realisieren. Dies führte zur Entwicklung der SoC-Technologie. Verschiedene Allzweck-Prozessorkerne dienen als Standardbibliothek für SoC-Designunternehmen und werden, wie viele andere Peripheriegeräte eingebetteter Systeme, zu Standardbausteinen im VLSI-Design. Sie werden mithilfe von Standard-Hardwaresprachen wie VHDL und Verlog beschrieben und in der Gerätebibliothek gespeichert. Anwender müssen lediglich ihr gesamtes Anwendungssystem definieren und können nach erfolgreicher Simulation den Entwurf zur Musterfertigung an den Halbleiterhersteller übermitteln. Auf diese Weise lässt sich, abgesehen von einigen nicht integrierbaren Komponenten, der Großteil des gesamten eingebetteten Systems auf einem oder mehreren Chips integrieren, wodurch die Leiterplatte des Anwendungssystems sehr einfach wird. Dies ist äußerst vorteilhaft, da es die Größe und den Stromverbrauch des gesamten Anwendungssystems reduziert und die Zuverlässigkeit erhöht. System-on-a-Chip (SoC) lassen sich in zwei Kategorien unterteilen: Allzweck- und Spezial-SoCs. Zu den Allzweck-SoCs gehören beispielsweise der TriCore von Infineon (Siemens), der M-Core von Motorola und bestimmte Geräte der ARM-Serie, wie der von Echelon und Motorola gemeinsam entwickelte Neuron-Chip. Spezial-SoCs sind in der Regel für ein bestimmtes System oder einen bestimmten Systemtyp konzipiert. So integriert beispielsweise Philips Smart XA den XA-Mikrocontroller-Kern und eine CCU-Einheit, die komplexe RSA-Algorithmen mit mehr als 2048 Bit unterstützt, auf einem einzigen Siliziumchip. Dadurch entsteht ein dedizierter SoC, der Java- oder C-Programme ausführen und für Internetsicherheit eingesetzt werden kann. Eingebettete Betriebssysteme sind Betriebssystemsoftware, die Anwendungen eingebetteter Systeme unterstützt. Sie sind ein entscheidender Bestandteil eingebetteter Systeme (einschließlich Hardware- und Softwaresystemen) und umfassen typischerweise hardwarebezogene Low-Level-Treibersoftware, Systemkernel, Gerätetreiberschnittstellen, Kommunikationsprotokolle, grafische Oberflächen und standardisierte Browser. Eingebettete Betriebssysteme besitzen die grundlegenden Eigenschaften von Allzweckbetriebssystemen, wie die Fähigkeit, zunehmend komplexe Systemressourcen effektiv zu verwalten; die Fähigkeit, Hardware zu virtualisieren, wodurch Entwickler von der Last der Treiberportierung und -wartung befreit werden; und die Bereitstellung von Bibliotheksfunktionen, Treibern, Toolsets und Anwendungen. Im Vergleich zu Allzweckbetriebssystemen weisen eingebettete Betriebssysteme ausgeprägtere Merkmale in Bezug auf Echtzeitfähigkeit, Hardwareabhängigkeit, Softwarestabilität und Anwendungsspezialisierung auf. 1. Arten von eingebetteten Betriebssystemen Im Allgemeinen können eingebettete Betriebssysteme in zwei Kategorien unterteilt werden: Zum einen Echtzeitbetriebssysteme für Steuerung, Kommunikation und andere Bereiche, wie beispielsweise VxWorks von Wind River, pSOS von ISI, QNX von QNX Systems Software und Nucleus von ATI; Die andere Kategorie umfasst Nicht-Echtzeit-Betriebssysteme für Unterhaltungselektronikprodukte wie PDAs, Mobiltelefone, Set-Top-Boxen, E-Reader und WebPhones. a. Nicht-Echtzeit-Betriebssysteme: In den Anfängen eingebetteter Systeme gab es kein Betriebssystemkonzept. Programmierer schrieben eingebettete Programme typischerweise direkt auf der Hardware. In diesem Fall wurden eingebettete Programme üblicherweise in zwei Teile unterteilt: ein Vordergrundprogramm und ein Hintergrundprogramm. Das Vordergrundprogramm verarbeitet Ereignisse über Zwischensegmente und ist in der Regel eine Endlosschleife. Das Hintergrundprogramm verwaltet die Zuweisung und das Management der gesamten Software- und Hardware-Ressourcen des eingebetteten Systems sowie die Aufgabenplanung; es ist ein Systemverwaltungs- und Planungsprogramm. Dies wird gemeinhin als Vordergrund-/Hintergrundsystem bezeichnet. Hintergrundprogramme werden im Allgemeinen auch als Aufgabenprogramme und Vordergrundprogramme als Ereignisverarbeitungsprogramme bezeichnet. Während der Programmausführung prüft das Hintergrundprogramm, ob jede Aufgabe die Ausführungsbedingungen erfüllt, und führt die entsprechende Operation mithilfe eines bestimmten Planungsalgorithmus aus. Operationen mit besonders strengen Echtzeitanforderungen werden üblicherweise über Interrupts abgewickelt. Die Interrupt-Service-Routine markiert lediglich das Auftreten des Ereignisses und beendet den Interrupt, ohne weitere Aktionen auszuführen. Nach der Planung durch das Hintergrundprogramm verarbeitet das Vordergrundprogramm das Ereignis und verhindert so, dass zeitaufwändige Ereignisse nachfolgende Interrupts beeinträchtigen. In der Praxis ist die Echtzeitleistung eines Vordergrund-/Hintergrundsystems jedoch schlechter als erwartet. Dies liegt daran, dass das System davon ausgeht, dass alle Aufgaben die gleiche Priorität haben (d. h. gleichwertig sind) und die Aufgabenausführung mithilfe einer FIFO-Warteschlange (First In, First Out) erfolgt. Daher können Aufgaben mit hohen Echtzeitanforderungen nicht sofort verarbeitet werden. Da das Vordergrundprogramm zudem eine Endlosschleife darstellt, können bei einem Absturz der innerhalb dieser Schleife verarbeiteten Aufgabe keine weiteren Aufgaben in der gesamten Aufgabenwarteschlange mehr bearbeitet werden, was zum Absturz des gesamten Systems führt. Aufgrund seiner einfachen Struktur und des geringen zusätzlichen RAM/ROM-Bedarfs wird dieses System häufig in einfachen eingebetteten Anwendungen eingesetzt. Echtzeitbetriebssystem (Echtzeitsystem): Ein Echtzeitsystem ist ein Computersystem, das seine Funktionen innerhalb eines definierten Zeitrahmens ausführen und auf asynchrone externe Ereignisse reagieren kann. Die korrekte Funktionsweise hängt nicht nur von der Korrektheit des logischen Designs, sondern auch vom Timing dieser Operationen ab. „Innerhalb eines definierten Zeitrahmens“ ist der Kern dieser Definition. Mit anderen Worten: Echtzeitsysteme stellen hohe Anforderungen an die Reaktionszeit. Sie stellen sehr hohe Anforderungen an Logik und Timing; Abweichungen können schwerwiegende Folgen haben. Es gibt zwei Arten von Echtzeitsystemen: Soft-Realtime-Systeme und Hard-Realtime-Systeme. Soft-Realtime-Systeme fordern lediglich Echtzeit-Reaktionen auf Ereignisse, ohne ein Zeitlimit für die Ausführung einer Aufgabe festzulegen. Hard-Realtime-Systeme hingegen fordern neben Echtzeit-Aufgabenreaktionen auch die Verarbeitung von Ereignissen innerhalb einer vorgegebenen Zeit. Typischerweise kombinieren die meisten Echtzeitsysteme beide Ansätze. Die Entwicklung von Echtzeit-Anwendungssoftware ist im Allgemeinen komplexer als die Entwicklung von Nicht-Echtzeit-Anwendungssoftware. Die zentrale technische Herausforderung von Echtzeitsystemen besteht darin, deren Echtzeitfähigkeit sicherzustellen. Ein Echtzeit-Multitasking-Betriebssystem (RTOS) ist ein Betriebssystem mit Echtzeitfähigkeit, das den Betrieb von Echtzeit-Steuerungssystemen unterstützt. Seine Hauptaufgabe ist die Zuweisung aller verfügbaren Ressourcen zur Ausführung von Echtzeit-Steuerungsaufgaben; darüber hinaus konzentriert es sich auf die Verbesserung der Systemeffizienz. Ein wichtiges Merkmal ist die Einhaltung von Zeitvorgaben und -anforderungen. Echtzeit-Betriebssysteme (RTOS) verfügen über folgende Funktionen: Aufgabenverwaltung (Multitasking und prioritätsbasierte Aufgabenplanung), Synchronisierung und Kommunikation zwischen Aufgaben (Semaphore, Mailboxen usw.), Speicheroptimierung (einschließlich ROM-Verwaltung), Echtzeituhr und Interruptverwaltung. Echtzeitbetriebssysteme (ROS) zeichnen sich durch geringe Größe, kurze Interrupt-Maskierungszeiten, kurze Interrupt-Behandlungszeiten und schnelle Aufgabenwechsel aus. ROS lassen sich in präemptive und nicht-präemptive Typen unterteilen. Bei prioritätsbasierten Systemen bedeutet ein präemptives ROS, dass der Kernel die CPU von einer laufenden Aufgabe unterbrechen und an eine höher priorisierte Aufgabe übergeben kann, die den Bereitschaftszustand erreicht hat. Der Kernel übernimmt im Wesentlichen die CPU, um die Ausführung anderer Aufgaben zu ermöglichen. Ein nicht-präemptives ROS verwendet einen Algorithmus, um die auszuführende Aufgabe zu bestimmen und übergibt ihr anschließend die vollständige CPU-Kontrolle, bis diese die Kontrolle freiwillig zurückgibt. Interrupts werden von Interrupt-Service-Routinen verarbeitet, die eine ruhende Aufgabe aktivieren und in den Bereitschaftszustand versetzen können. Diese bereite Aufgabe kann jedoch erst ausgeführt werden, wenn die aktuell laufende Aufgabe die CPU-Kontrolle freiwillig abgibt. Die Echtzeitleistung eines nicht-präemptiven Echtzeitbetriebssystems ist besser als die eines Systems ohne Echtzeitbetriebssystem. Sie hängt von der Ausführungszeit der längsten Aufgabe ab. Genau dies ist der Nachteil eines nicht-präemptiven Echtzeitbetriebssystems: Lässt sich die Ausführungszeit der längsten Aufgabe nicht bestimmen, kann die Echtzeitleistung des Systems nicht ermittelt werden. Ein präemptives Echtzeitbetriebssystem bietet eine gute Echtzeitleistung; Aufgaben mit hoher Priorität können sofort ausgeführt werden, sobald sie die Ausführungsbedingungen erfüllen oder in den Bereitschaftszustand wechseln. Das heißt, mit Ausnahme der Aufgabe mit der höchsten Priorität können andere Aufgaben jederzeit während ihrer Ausführung durch Aufgaben mit höherer Priorität unterbrochen werden, sodass letztere ausgeführt werden können. Diese Methode der Aufgabenplanung gewährleistet die Echtzeitfähigkeit des Systems. Wird die Unterbrechung der CPU-Steuerung zwischen Aufgaben jedoch nicht ordnungsgemäß gehandhabt, können schwerwiegende Folgen wie Systemabstürze und -einfrierungen auftreten. 2. Die Entwicklung eingebetteter Betriebssysteme: Eingebettete Betriebssysteme haben im Zuge der Entwicklung eingebetteter Systeme vier verschiedene Phasen durchlaufen. Die erste Phase war die Phase der eingebetteten Algorithmen ohne Betriebssystem. Diese Phase bestand aus einem auf einem Ein-Chip basierenden programmierbaren Steuerungssystem, das auch mit Überwachungs-, Servo- und Anzeigegeräten zusammenarbeitete. Diese Systeme wurden hauptsächlich in hochspezialisierten industriellen Steuerungssystemen eingesetzt. Sie verfügten in der Regel über keine Betriebssystemunterstützung; das System wurde direkt über Assemblerprogrammierung gesteuert, und der Speicher wurde nach der Ausführung gelöscht. Die Hauptmerkmale der Systeme dieser ersten Phase sind: relativ einfache Systemstruktur und -funktionen, geringe Verarbeitungseffizienz, geringe Speicherkapazität und nahezu keine Benutzerschnittstelle. Aufgrund ihrer einfachen Handhabung und ihres niedrigen Preises waren diese eingebetteten Systeme früher im heimischen Industriesektor weit verbreitet. Sie erfüllen jedoch bei Weitem nicht die Anforderungen effizienter, moderner industrieller Steuerungssysteme und neuer Informationsgeräte, die Speichermedien mit hoher Kapazität benötigen. Die zweite Stufe umfasst eingebettete Systeme, die auf eingebetteten CPUs und einfachen Betriebssystemen basieren. Die Hauptmerkmale dieser Stufe sind: eine große Vielfalt an CPUs mit geringer Vielseitigkeit; geringer System-Overhead und hohe Effizienz; in der Regel mit einem Systememulator ausgestattet; das Betriebssystem weist eine gewisse Kompatibilität und Skalierbarkeit auf; die Anwendungssoftware ist relativ spezialisiert und die Benutzeroberfläche nicht benutzerfreundlich; das System dient hauptsächlich der Steuerung der Systemlast und der Überwachung des Anwendungsbetriebs. Die dritte Stufe umfasst universelle eingebettete Echtzeitbetriebssysteme, also eingebettete Systeme mit eingebetteten Betriebssystemen im Kern. Die Hauptmerkmale dieser Stufe sind: das eingebettete Betriebssystem ist mit verschiedenen Mikroprozessortypen kompatibel; der Betriebssystemkern ist klein, effizient, hochmodular und skalierbar. Es verfügt über Funktionen wie Datei- und Verzeichnisverwaltung, Geräteunterstützung, Multitasking, Netzwerkunterstützung, grafische Fenster und Benutzeroberflächen; es bietet eine Vielzahl von Anwendungsprogrammierschnittstellen (APIs), was die Anwendungsentwicklung vereinfacht; und es gibt eine große Auswahl an eingebetteter Anwendungssoftware. Die vierte Phase ist durch internetbasierte eingebettete Systeme gekennzeichnet, eine Phase rasanter Entwicklung. Aktuell sind die meisten eingebetteten Systeme vom Internet isoliert, doch mit der Entwicklung des Internets und seiner zunehmenden Integration mit Informationsgeräten und industriellen Steuerungstechnologien stellt die Kombination von eingebetteten Geräten und dem Internet die Zukunft der eingebetteten Technologie dar. 3. Die Notwendigkeit der Verwendung von Echtzeitbetriebssystemen Eingebettete Echtzeitbetriebssysteme werden in aktuellen eingebetteten Anwendungen immer häufiger eingesetzt, insbesondere in komplexen und umfangreichen Anwendungen. Erstens verbessern eingebettete Echtzeitbetriebssysteme die Systemzuverlässigkeit. In Steuerungssystemen darf das System aus Sicherheitsgründen nicht abstürzen und muss über Selbstheilungsfunktionen verfügen. Dies erfordert nicht nur die Verbesserung der Systemzuverlässigkeit und der Störfestigkeit im Hardware-Design, sondern auch die Verbesserung der Störfestigkeit im Software-Design, um Sicherheitslücken und Zuverlässigkeitsrisiken zu minimieren. Herkömmliche Softwarearchitekturen für Vorder- und Hintergrundprozesse können bei starken Störungen zu Fehlfunktionen, Abstürzen oder sogar Endlosschleifen laufender Programme und damit zu Systemabstürzen führen. In Systemen mit Echtzeitbetriebssystemen (Echtzeitbetriebssystemen) hingegen können solche Störungen lediglich einen von mehreren Prozessen beeinträchtigen. Diese Schäden lassen sich durch die Systemüberwachung beheben. Diese überwacht typischerweise den Status jedes Prozesses und ergreift Maßnahmen zur Gewährleistung der Systemstabilität und -zuverlässigkeit bei Störungen, beispielsweise durch das Beenden problematischer Aufgaben. Zweitens verbessert dies die Entwicklungseffizienz und verkürzt den Entwicklungszyklus. In einer eingebetteten Echtzeitbetriebssystemumgebung lässt sich die Entwicklung komplexer Anwendungen gemäß dem Entkopplungsprinzip der Softwareentwicklung in mehrere Aufgabenmodule unterteilen. Das Debuggen und Modifizieren einzelner Aufgabenmodule hat nahezu keine Auswirkungen auf andere Module. Kommerzielle Software bietet in der Regel eine gute Multitasking-Debugging-Umgebung. Drittens nutzt das eingebettete Echtzeitbetriebssystem das Multitasking-Potenzial der 32-Bit-CPU voll aus. Eine 32-Bit-CPU ist schneller als 8-Bit- oder 16-Bit-CPUs und wurde ursprünglich für Mehrbenutzer- und Multitasking-Betriebssysteme entwickelt. Dadurch eignet sie sich besonders für Echtzeitsysteme mit Multitasking. Die 32-Bit-CPU nutzt Designmerkmale, die die Systemzuverlässigkeit und -stabilität verbessern und Abstürze leichter vermeiden lassen. Beispielsweise ist der Betriebszustand der CPU in System- und Benutzermodus unterteilt. Durch die Trennung von System- und Benutzerstack sowie die Bereitstellung des Echtzeit-CPU-Betriebsstatus können Anwender den Betrieb des Echtzeitkernels während der Systementwicklung sowohl hardware- als auch softwareseitig schützen. Würde der bisherige Ansatz mit Vordergrund- und Hintergrundverarbeitung verwendet, könnten die Vorteile der 32-Bit-CPU nicht voll ausgeschöpft werden. In gewisser Weise ist ein Computer ohne Betriebssystem (Bare Metal) nutzlos. In eingebetteten Systemen ist eine echte Embedded-Anwendung erst dann gegeben, wenn sowohl die CPU als auch das Betriebssystem in das System integriert sind. 4. Vorteile und Nachteile von Echtzeitbetriebssystemen Die Entwicklung von Echtzeitanwendungen in einer eingebetteten Echtzeitbetriebssystemumgebung vereinfacht den Programmentwurf und die Erweiterung und ermöglicht das Hinzufügen neuer Funktionen ohne größere Änderungen. Durch die Aufteilung der Anwendung in mehrere unabhängige Aufgabenmodule wird der Anwendungsentwurfsprozess erheblich vereinfacht; Ereignisse mit strengen Echtzeitanforderungen werden schnell und zuverlässig verarbeitet. Dank effizienter Systemdienste ermöglichen eingebettete Echtzeitbetriebssysteme eine bessere Nutzung der Systemressourcen. Die Verwendung eines eingebetteten Echtzeitbetriebssystems erfordert jedoch zusätzlichen ROM/RAM-Speicher, eine um 2–5 % höhere CPU-Auslastung und Kernelkosten.