Übersicht der 10 relevanten Realtime Betriebssysteme
Transcription
Übersicht der 10 relevanten Realtime Betriebssysteme
Übersicht der 10 relevanten Realtime Betriebssysteme Urs Böhm/31.August 2010 Übersicht • • • • • • • • • Wann ist ein Betriebssystem Echtzeitfähig -und wann nicht? Warum gibt es so viele RTOS? Verschiedene Einsatzgebiete -verschiedene RTOS. Was kann man Zertifizieren ( z.B. IEC 61508, DO-178B, Common Criteria EAL) und wie hilft das RTOS dabei? Realtime Linux Echtzeit und Multicore . Echtzeit und Virtualisierung. Kosten von kommerziellen und Open Source Betriebssystemen. Diskussion. Was macht ein Embedded Betriebsystem? • Stellt Treiber, Dienste und Infrastruktur bereit. • Stellt durch Abstraktion eine verwendbare Ausführungs-Umgebung für Programme bereit. • Abstrahiert den Hardware Abstraktion Layer HAL. • Steuert und abstrahiert die Peripherie. • Reagiert auf Fehler. • Unterstützt ggf. die Konfiguration und Administration. • Bietet Middleware Funktionalität. (Webserver, Flash usw…) Application User Application Operating System Operating System Hardware In einer zeitlich deterministischen Weise! Echtzeitfähigkeit Was ist davon betroffen? Deterministisches Timing • Das RTOS hat bekannte und erwartete Verzögerungen für die Applikation. • Es gibt keine zufälligen Zeit-Effekte. • Mathematische Berechenbarkeit? • Task switching time •Task scheduling • Intertask communication • Intertask synchronisation • Message passing • Interrupt processing Nicht deterministisches Timing • Zufällige Verzögerungen können die Applikation unvorhersehbar verzögern. • Non-fragmenting dynamic memory allocation (Garbage Collection) Warum gibt es so viele RTOS? • Die Office Welt ist homogen (Windows, Mac und Linux) • Die Embedded Welt ist heterogen – – – – – Mikrocontroller /Prozessoren Kostensensitivität Langzeitverfügbarkeit Zertifizierungen Umweltbedingungen • Einsatzgebiete – Industrie - Automotive – Medizin - Militär – Telekomunikation / Netzwerktechnik • Soft- oder Hard-Realtime? Woraus ergibt sich die Relevanz eines RTOS? • Marktdurchdringung • Technologie • Zertifizierungsmöglichkeiten • Einsatzgebiete • Stabilität des Herstellers Die 10 relevanten RTOS? VxWorks Integrity (Green Hills) QNX/ Neutrino MQX (Freescale) FreeRTOS RealtimeLinux Windows CE OSE OS-9 LynxOS Nucleus Emb OS (Segger) CMX Inhouse RTX (Keil/ARM) eCOS Sciopta uC/COS-II Marktdurchdringung? ? ?? Canada Space Agency Zertifizierungen • Es wird nicht nur ein zertifiziertes RTOS benötigt, sondern ein System. • Das RTOS ist ein wichtiger Baustein für die Zertifizierung! • Zertifizierte RTOS-Versionen sind oft eingeschränkt. Applikation / Task Applikation / Task Zertifiziertes RTOS Hardware Gerät Übersicht Zertifizierungen VxWorks QNX/ Neutrino IEC LynxOS IEC 61508; SIL-3 DO-178B Level A DO-178B Level A Common Criteria Die Zertifizierungen ändern sich ständig. Common Criteria IEC 61508; SIL-3 ISO/IEC 15408; CC EAL-7 CENELEC EN 50128 Man muss das zeitnah vor einer Entscheidung EAL4+ abklären. Win CE Sciopta Integrity (Green Hills) Zertifizierte RTOS haben oft einen eingeschränkten IEC61508 SIL-3 Zertifizierbare Soft-SPS EN 50128; SWSIL-4 Funktionsumfang und sind auf bestimmte IEC 61508; SIL-3 FreeRTOS Plattformen (MCU) beschränkt. EAL6+ Security DO178B Level A zertifizierbares kommerzielles Derivat Realtime Linux Preemptive RT-Patch Dual Kernel (Xenomai) • RT-Code läuft im Kernel • GPL- Lizenz • Nicht Mainline Linux • Harte Echtzeit • Ziel ist Preemptive Linux-Kernel • Wird momentan in Kernel integriert • Änderungen in Mainline Kernel nicht immer realtime kompatibel. • Weiche Echtzeit Treiber Viele Treiber sind nicht Echtzeit fähig! RTOS & Multicore Symmetric Multiprocessing Asymmetric Multiprocessing SMP AMP RTOS Core 1 Core 2 RTOS 1 RTOS 2 Core 1 Core 2 • Multicore erhöht die Design Komplexität • Muticore ermöglicht echte parallele Task-Ausführung anstatt serieller multiplexter Taskausführung. Gönnen Sie sich eine Ausbildung! RTOS & Virtualisierung Task Task OS #1 Task Task RT OS #2 Task Task OS #3 Hypervisor Hosted Host RTOS #0 Bare-Metal Processor Hardware Stichwörter: • Binary Translation • Hardware assist virtualisation • Para virtualisation (needs modified Guest OS) Schauen Sie es sich genau an! Kosten Was kostet Sie ein Bug? Betriebssystem Entwicklungsumgebung Windows CE 6.0 IDE + Plattform Builder 995$ + Visual Core 5$ bei 1000 Stk. Studio Prof. 15$ bei 1000 Stk. Die grossen RTOS Ca. 20‘000 $ 5-15.- bei 1000 Stk. Embedded Linux gratis oder Distribution z.B. Montavista 20‘000 $/ Jahr 0.- Sciopta Ab 6‘400.- CHF (32 Bit CPU) 0.- CMX 2000 $– 4000 $ Entwicklerlizenz 0.- Eigener Scheduler nach Aufwand, Wartung! 0.- Alle Preise sind Verhandlungssache und Projekt und Firmenabhängig. Die obige Tabelle soll nur eine Idee über Preise vermitteln. Was kostet Sie Maintainability (Wartung) Royalties Was kostet Sie ein Entwickler? Wo finde ich Hilfe? • 2010 Embedded Market Study 2010 www.embedded.com • Vergleiche zwischen OS von Dedicated Systems www.dedicated-systems.com/ • Anforderungen und technische Whitepapers www.eg3.com/ • Indische Schulungsvideos auf www.youtube.com/watch?v=9NAIG2Pmzfg • Die Noser Engineering AG berät Sie gern herstellerunabhängig. www.noser.ch Diskussion GPL • GNU General Public License • Eine gültige Lizenz mit Copyleft zur Lizenzierung freier Software! 1. SW darf ohne Einschränkungen genutzt werden, inkl. kommerzieller Nutzung. 2. Kopien dürfen inkl. Quellcode frei weitergegeben werden. Sie müssen aber nicht weitergegeben werden. 3. Das Programm darf frei geändert werden. 4. Geänderte Programme unterliegen der selben Lizenz. GPL Ihre spezifische Lizenz GPL Kunden Programm Spezialanpassung Webserver FTP-Server Dual Kernel Linux (Xenomai) Standard Programm RT-Code Hardware z.B. Embedded Linux z.B. RTOS Partitioning OperatingSystem Hardware Gastbetriebssystem