Ü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