ImpressumSitemapLogin
E-Mail
Mitglied im Beraternetz Karlsruhe
Mitglied im Automotive Engineering Network Südwest AEN
Technologieregion Karlsruhe

Mitglied im Cyberforum Karlsruhe

Letzte Änderung:
21.11.2017

+++ NEWS: Neuer OPC-UA-Leitfaden für den Mittelstand +++ 

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?

  • 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.
  • 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. Sokö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 veröffentlicht. Unterstützte Plattformen sind Intel 8088, x86, MIPS, PowerPC, SH-4, ARM, StrongARM und Xscale. Das Lizenzmodell ist proprietär.
  • 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.
  • 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, Hitachi H8300, Intel x86, MIPS, Matsushita AM3x, Motorola 68k, PowerPC, SuperH, SPARC, NEC V8xx und OpenRISC. Das Lizenzmodell ist GPL.
  • 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 8052, PIC, ARM Cortex, Atmel AVR und TI MSP430. Das Lizenzmodell basiert auf 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, 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 von Freescale 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 in 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 und x86, das weltweit in Milliarden Handys verwendet wird und in über der Hälfte der 3G-Basisstationen. MicroC/OS III, das 2009 für kostensensitive Anwendungen von Micrium auf den Markt gebracht wurde.

 Anzeige

 


Copyright © 2017 Ingenieurbüro & Informatikbüro Barheine - Embedded Systems

Dipl.-Inf. Olaf Barheine, Freiberufler/Freelancer, IT-Consultant, Entwickler

Ettlingen bei Karlsruhe, Baden-Württemberg, Germany

Impressum | Datenschutzerklärung | Sitemap

Google+ | Linkedin | Xing