|
|
|
|
Real-Time OS - RTOS Ein Überblick
Am Markt sind zahlreiche kommerzielle und freie Echtzeitbetriebssysteme verfügbar, die die Entwicklung von echtzeitfähigen Applikationen unterstützen. Einige davon werden im folgenden aufgelistet und Kriterien für die Wahl eines für Projekte passenden Systems werden gegeben.
Ich berate Sie gerne persönlich für die richtige Wahl damit Sie am Ende keine bösen Überraschungen erleben!
Wie findet man das geeignete Real-Time OS?
Bei der Wahl des richtigen Echtzeitbetriebssystems für ein Projekt sollte man sich zunächst die folgenden Fragen stellen:
- Wie zuverlässig und stabil arbeitet das System?
- Welche Entwicklungswerkzeuge sind verfügbar?
- Welche technischen Möglichkeiten bietet das RTOS (maximale Anzahl der Tasks, Kommunikation, Synchronisation, Multiprozessorfähigkeit etc.)?
- Welche Kosten - etwa für Lizenzen - entstehen?
- Erfordert die Anwendung ein RTOS mit harter oder weicher Echtzeitfähigkeit?
- Werden bekannte oder proprietäre Programmierschnittstellen (API) geboten?
- Bietet der Hersteller ausreichend Support?
- Welche Sicherheitsanforderungen und -standards muss das System erfüllen?
- Wie ressourcenhungrig hinsichtlich Speicher und Rechenleistung ist es?
- Welche Mikrocontroller werden unterstützt (auch hinsichtlich künftiger Entwicklungen)?
Welche Real-Time OS gibt es?
- QNX ist ein Real-Time OS, das auf einem Mikrokernel beruht. Das heißt, dass jeder Treiber, jede Anwendung, jeder Protokollstack und jedes Dateisystem als Prozess in einem eigenen, geschützten Speicherbereich außerhalb des Kernels läuft. So können selbst essentielle Treiber weitestgehend im laufenden Betrieb ausgetauscht werden. Außerdem erleichtert die Architektur die Fehlersuche während der Entwicklung. QNX kam 1982 auf den Markt. Im März 2017 wurde die Version 7.0 als erste 64-Bit-Version veröffentlicht. Unterstützte Plattformen sind Intel 8088, x86, MIPS, PowerPC, SH-4, ARM, StrongARM und Xscale. Das Lizenzmodell ist proprietär.
-
Foto: Wikipedia
|
VxWorks wird vorwiegend in Anwendungen der Luft- und Raumfahrt, im Verteidigungssektor, bei Maschinensteuerungen und in medizinischen Geräten eingesetzt. So basiert z.B. auch die Steuerungssoftware der beiden Marsrover „Opportunity“ und „Spirit“ auf VxWorks. Auf den Markt kam es im Jahr 1987. Unterstützt werden Plattfomen mit x86-Processoren, MIPS, PowerPC, SH-4 und ARM. VxWorks beherrscht sowohl symmetrisches Multiprocessing (SMP) als auch asymmetrisches Multiprocessing (AMP). Der Kerneltyp ist monolithisch.
- FreeRTOS ist ein quelltextoffenes Echtzeitbetriebssystem, welches auf einem Mikrokernel basiert. Bis auf wenige Ausnahmen ist FreeRTOS vollkommen in C implementiert. Der Scheduler kann sowohl preemptives als auch kooperatives Multitasking unterstützen. FreeRTOS bietet Funktionen zur Verwaltung von Threads, Tasks, Mutexe, Semaphoren und Timer. Der Schwerpunkt liegt auf der Geschwindigkeit und Kompaktheit, weshalb zum Beispiel auch keine Treiber, Netzwerke und keine erweiterte Speicherverwaltung unterstützt werden. Mit SafeRTOS existiert eine Variante von FreeRTOS, die sich für sicherheitskritische Applikationen gemäß IEC 61508 SIL 3 eignet. Unterstützt werden zahlreiche Mikrocontroller und -prozessoren, insgesamt werden derzeit 35 verschiedene Mikrocontroller unterstützt. Darunter Intel x86 und 8051, PIC, ARM Cortex, Atmel AVR und TI MSP430. Das Lizenzmodell ist MIT.
- OSEK-OS kommt in automotiven Systemen zum Einsatz, z.B. in Motorsteuergeräten. Es handelt sich um ein statisches Echtzeitbetriebssystem. Alle Betriebsmittel und Tasks werden im voraus definiert und konfiguriert, bevor sie mit der Applikation compiliert und gelinkt werden. Es sind zahlreiche freie Implementierungen von OSEK verfügbar, z.B. openOSEK, FreeOSEK, ERIKA oder nxtOSEK. Mittlerweile hat das AUTOSAR-Konsortium die Spezifikationen des OSEK-OS übernommen.
- Das Echtzeitbetriebssystem eCos ist quelloffen und erlaubt Entwicklern somit unter Beachtung der entsprechenden Lizenzbestimmungen den vollen Zugriff auf den Quelltext. eCos zeichnet sich durch ein Konfigurationssystem aus, welches es dem Anwender erlaubt, ein sehr schlankes, anwendungsspezifisches System zusammenzustellen. Zielanwendungen sind Geräte mit Speichergrößen im Bereich von einigen zehn bis mehreren hundert Kilobyte und Anwendungen mit Echtzeitanforderungen. Unterstütze Architekturen sind ARM Cortex, Hitachi H8, MIPS, Matsushita AM3x, Motorola 68k, PowerPC, SuperH, SPARC, NEC V8xx und weitere. Das Lizenzmodell ist GPL.
- Das japanische Industrial TRON (ITRON) ist eines der am meisten eingesetzten Echtzeitbetriebssysteme überhaupt. Es findet sich in unzähligen Anwendungen: vom Mobiltelefon bis zum automotiven System.
- Weitere populäre Echtzeitbetriebssysteme:
ThreadX von Express Logic (2019 von Microsoft übernommen), welches z. B. in Laser- und Tintenstrahldruckern von HP, medizinischen Geräten und in Consumer Electronics zum Einsatz kommt. PikeOS von Sysgo für sicherheitskritische Anwendungen mit harten Echtzeitanforderungen, etwa in der Luft- und Raumfahrt, in militärischen Anwendungen, Industrie und Medizintechnik. PikeOS stellt voneinander strikt getrennte Partitionen bereit. MQX für Kinetis, Coldfire, PowerPC, ARM und andere Plattformen, welches heute in den Produkten von über 1000 namhaften Firmen eingesetzt werden soll. LynxOS als Unix-artiges Real-Time OS für eingebettete Systeme mit den Einsatzgebieten Luft- und Raumfahrt, Militär, Medizin, Industrie, ITK und Unterhaltungselektronik. Erstmals kam LynxOS auf dem Atari 1040ST zum Einsatz. Enea OSE aus Schweden für ARM, PowerPC, MIPS und andere Mikrocontroller wird weltweit in Milliarden Handys und Basisstationen verwendet. MicroC/OS III, das 2009 für kostensensitive Anwendungen von Micrium auf den Markt gebracht wurde.
Anzeige
|
|
|
|
Copyright © 2024 Ingenieurbüro Barheine - Embedded Systems, freier Diplom-Informatiker
Dipl.-Inf. Olaf Barheine, Freiberufler, Freelancer, IT-Consultant, Software-Entwickler
Ettlingen bei Karlsruhe, Baden-Württemberg, Germany
Impressum | Datenschutzerklärung | Sitemap
|
|