Auswahlkriterien für Embedded Betriebssysteme - Microconsult.de
Auswahlkriterien für Embedded Betriebssysteme - Microconsult.de
Auswahlkriterien für Embedded Betriebssysteme - Microconsult.de
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Auswahlkriterien</strong> <strong>für</strong><br />
<strong>Embed<strong>de</strong>d</strong> <strong>Betriebssysteme</strong><br />
Thomas Batt<br />
t.batt@microconsult.com<br />
<strong>Auswahlkriterien</strong> <strong>für</strong> <strong>Embed<strong>de</strong>d</strong> <strong>Betriebssysteme</strong>
1. Der Dschungel von <strong>Betriebssysteme</strong>n<br />
2. <strong>Betriebssysteme</strong><br />
- Kategorien<br />
- Mögliche Komponenten<br />
- Spezifikationsvergleich<br />
3. Ausgangspunkt <strong>für</strong> die richtige Auswahl<br />
4. Abhängigkeiten - Applikationshardware<br />
5. Abhängigkeiten - Applikationssoftware<br />
6. Abhängigkeiten - Projektrandbedingungen<br />
7. Zusammenfassung<br />
8. Wie geht’s weiter?<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Inhalt
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Der Dschungel von <strong>Betriebssysteme</strong>n<br />
OS-9<br />
SCIOPTA<br />
OSE<br />
µnOS<br />
Palm OS<br />
ThreadX<br />
EUROSplus<br />
Windows XP <strong>Embed<strong>de</strong>d</strong><br />
AMX RTOS<br />
TTP-OS<br />
RTLinux<br />
osCAN<br />
PXROS<br />
Nucleus Plus<br />
ThreadX-µITRON<br />
RTXC<br />
INTEGRYTY µC/OS-II<br />
OSEKplus HyNetOS<br />
RMOS<br />
Fusion RTOS<br />
<strong>Embed<strong>de</strong>d</strong> Linux eCOS<br />
ChronOS<br />
embOS<br />
Hyper ITRON<br />
Java Card<br />
Symbian OS<br />
NetBSD ProOSEK<br />
OSEKturbo<br />
ELX-ITRON SaveJe OS Real-Time Architect<br />
VxWorks<br />
PrKERNEL CMX-RTX<br />
Nucleus µiPLUS<br />
Advances RTX Nucleus OSEK NORTi Windows CE .Net<br />
PORTOS<br />
RTX<br />
Inferno<br />
INtime<br />
iRMX<br />
Nimble<br />
IRIX<br />
Die Zusammenstellung erhebt keinen Anspruch auf Vollständigkeit und besitzt keinen werten<strong>de</strong>n Charakter.<br />
Die verwen<strong>de</strong>ten Warenzeichen und Marken sind Eigentum <strong>de</strong>r Inhaber.
?<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Betriebssystem<br />
?<br />
Abhängigkeiten <strong>für</strong> die richtige Auswahl<br />
?
<strong>Embed<strong>de</strong>d</strong> / Echtzeit-System<br />
Betriebssystem-<br />
Kategorien<br />
<strong>Embed<strong>de</strong>d</strong><br />
Betriebssystem<br />
Echtzeit-<br />
Betriebssystem<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Kommunikation<br />
Herunterskalierung<br />
Echtzeiterweiterung<br />
Betriebssystem - Kategorien<br />
Desktop- / Server- /<br />
Steuer- / Diagnose-System<br />
Betriebssystem-<br />
Kategorien<br />
Desktop<br />
Betriebssystem<br />
Server<br />
Betriebssystem
Task-Management<br />
Scheduler<br />
Zeit-<br />
Management<br />
Datei-<br />
Management<br />
Task<br />
CPU<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Interrupt-<br />
Management<br />
Synchronisation<br />
Betriebssystem – Komponenten (1 ..)<br />
Interrupt-<br />
Task<br />
Interrupt-Service<br />
Routine<br />
Interrupt-Quelle<br />
Interne / Externe<br />
Kommunikation<br />
Ressourcen-<br />
Management<br />
Speicher-<br />
Management
I/O-<br />
Management<br />
Kompatibilität<br />
Entwicklungs- /<br />
Debug-Tools<br />
RS232<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Fehler-<br />
Management<br />
Java Virtual<br />
Machine (JVM)<br />
Dokumentation<br />
Betriebssystem – Komponenten (.. 2)<br />
Nachladbare<br />
Applikationen<br />
Graphisches<br />
Benutzerinterface<br />
Hersteller-<br />
Support
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Betriebssystem - Spezifikationsvergleich<br />
Ein Vergleich von zeitlichen Hersteller-Spezifikationen<br />
<strong>de</strong>r <strong>Betriebssysteme</strong> ist nur bedingt möglich, da die Daten<br />
von vielen Parametern abhängen:<br />
CPU<br />
Architektur<br />
CPU<br />
Taktfrequenz<br />
Cache-<br />
Benutzung<br />
Testprogramm<br />
Lokatierung <strong>de</strong>s<br />
Testprogramms<br />
Compiler (Tools)<br />
Typ/Optimierung
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Requirements <strong>de</strong>r Applikation<br />
Funktionale Requirements<br />
• Funktionalitäten, die von außerhalb<br />
<strong>de</strong>s Systems beobachtbar sind<br />
Ausgangspunkt <strong>für</strong> die richtige Auswahl<br />
Quality of Services (QoS)<br />
• Eigenschaften <strong>de</strong>r einzelnen<br />
Funktionalitäten<br />
• Verhaltensbeschreibung <strong>de</strong>s<br />
Gesamtsystems<br />
• Nichtfunktionale Requirements<br />
Aus <strong>de</strong>n Requirements <strong>de</strong>r Applikation ergeben sich<br />
die benötigten Eigenschaften <strong>de</strong>s Betriebssystems!
Applikations-<br />
? hardware<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Betriebssystem<br />
?<br />
Abhängigkeiten <strong>für</strong> die richtige Auswahl<br />
?
CPU Architektur<br />
Memory Management Unit (MMU)<br />
Peripherie<br />
ApplikationsApplikationshardwarehardware<br />
Ressourcen<br />
- Datenspeicher (RAM)<br />
- Programmspeicher (ROM)<br />
- Rechenleistung (CPU)<br />
- Timer<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Applikationshardware<br />
Betriebssystem<br />
Betriebssystem<br />
Unterstützung <strong>de</strong>r CPU<br />
- Multiprozessor-Unterstützung<br />
- Art <strong>de</strong>s Multiprocessing<br />
- Verteilung <strong>de</strong>r Software<br />
Unterstützung <strong>de</strong>r MMU<br />
I/O Management o<strong>de</strong>r keine Unterstützung<br />
- Treiber, Board Support Package<br />
- Protokolle<br />
Verbrauch und Unterstützung<br />
- Skalierbarkeit<br />
- Modularität
Applikations-<br />
? hardware<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Betriebssystem<br />
?<br />
Abhängigkeiten <strong>für</strong> die richtige Auswahl<br />
Applikations-<br />
? software
ApplikationsApplikationssoftwaresoftware<br />
Funktionale Requirements:<br />
Klassifizierung <strong>de</strong>r Applikation<br />
Graphisches Benutzerinterface<br />
Externe Kommunikation<br />
(Netzwerkfähigkeit)<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Applikationssoftware (1 ..)<br />
Betriebssystem<br />
Betriebssystem<br />
• Kategorien<br />
- Desktop / Server<br />
- <strong>Embed<strong>de</strong>d</strong> / Echtzeit<br />
• Gleiche <strong>Betriebssysteme</strong> <strong>für</strong><br />
verschie<strong>de</strong>ne Applikationsplattformen<br />
Unterstützung<br />
- Bibliothek mit Elementen<br />
- Event Handler<br />
Unterstützung<br />
- Netzwerkschichten<br />
- Protokolle<br />
- Netzwerk-Applikationen
ApplikationsApplikationssoftwaresoftware<br />
Funktionale Requirements:<br />
Nachladbare Applikationen<br />
Ablauffähigkeit von<br />
Betriebssystem-frem<strong>de</strong>n<br />
Applikationen<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Applikationssoftware (.. 2 ..)<br />
Unterstützung<br />
Betriebssystem<br />
Betriebssystem<br />
Unterstützung<br />
- Spezielle APIs<br />
- Kompatibilitätsadapter
Portabilität<br />
ApplikationsApplikationssoftwaresoftware<br />
Quality of Services (QoS):<br />
Performance<br />
Wartbarkeit<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Applikationssoftware (.. 3 ..)<br />
Betriebssystem<br />
Betriebssystem<br />
• Unterstützung verschie<strong>de</strong>ner<br />
CPU-Architekturen<br />
- leichte Portierbarkeit<br />
• I/O Management<br />
- Treiber, Board Support Package<br />
• Sehr „schlanker“ Aufbau<br />
• Rein statisches Betriebssystem<br />
• Zeitliche Spezifikationen<br />
- API-Aufrufe<br />
- Interne Mechanismen<br />
- Boot und Shutdown<br />
• Optimale Portierung auf CPU<br />
Klar strukturiertes API<br />
- Dokumentation<br />
- Hersteller-Support
ApplikationsApplikationssoftwaresoftware<br />
Quality of Services (QoS):<br />
Wie<strong>de</strong>rverwertbarkeit<br />
Echtzeitfähigkeit<br />
- Vorhersagbarkeit<br />
- Interrupts<br />
- Zeitverhalten<br />
- Durchlaufzeiten<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Applikationssoftware (.. 4 ..)<br />
• Skalierbarkeit<br />
• Modularität<br />
Betriebssystem<br />
Betriebssystem<br />
• Zeiten <strong>de</strong>r API Calls<br />
- Dauer<br />
- Interrupt-Blockierzeit<br />
• Interrupt Latenzzeit<br />
• Scheduler Algorithmus<br />
- Time Triggered<br />
- Prioritätsbasierend<br />
- Preemptive / nicht preemptive
ApplikationsApplikationssoftwaresoftware<br />
Quality of Services (QoS):<br />
Sicherheit und Zuverlässigkeit<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Applikationssoftware (.. 5)<br />
Betriebssystem<br />
Betriebssystem<br />
• Speicherüberprüfung<br />
- Statisch<br />
- Dynamisch<br />
- MMU-Unterstützung<br />
• Rein statisches Betriebsystem<br />
• Enthaltenes<br />
Speichermanagement nutzen<br />
• Kein dynamisches<br />
Speichermanagement mit<br />
- melloc() / free() C<br />
- new() / <strong>de</strong>lete() C++<br />
• Redundanz-Unterstützung<br />
- Cluster-Architekturen<br />
- Fail Over Handling<br />
- Hohe Verfügbarkeit<br />
(High Availability)
Applikations-<br />
? hardware<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Betriebssystem<br />
Projektrand-<br />
? bedingungen<br />
Abhängigkeiten <strong>für</strong> die richtige Auswahl<br />
Applikations-<br />
? software
ProjektrandProjektrandbedingungenbedingungen<br />
Kosten<br />
- Entwicklungskosten<br />
- Produktionskosten<br />
- Produktkosten<br />
- Wartungskosten<br />
Entwicklungszeit<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Projektrandbedingungen (1 ..)<br />
Betriebssystem<br />
Betriebssystem<br />
• Einsparung Entwicklungskosten<br />
• Kosten Entwicklungslizenz<br />
• Kosten Royalty<br />
- Keine<br />
- Pro Produktkategorie<br />
- Pro ausgeliefertem Produkt<br />
• Kosten Buy-Out<br />
- Möglichkeit<br />
• Kosten Zusatzkomponenten<br />
• Kosten Wartungsvertrag<br />
• Einsparung Entwicklungszeit<br />
• Einsatz eines bekannten<br />
Betriebssystems<br />
- kein Einarbeitungsaufwand<br />
• Einsatz eines neuen<br />
Betriebssystems<br />
- Fehlen<strong>de</strong> Erfahrung Risiko
ProjektrandProjektrandbedingungenbedingungen<br />
Integration <strong>de</strong>s Betriebssystems<br />
in bestehen<strong>de</strong> Tool-Chain<br />
Betriebssystem-Vorgaben /<br />
Einschränkungen durch<br />
<strong>de</strong>n Auftraggeber<br />
Standards und Zertifizierungen<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Projektrandbedingungen (.. 2)<br />
Betriebssystem<br />
Betriebssystem<br />
• Unterstützung Compiler, Linker<br />
und Locator<br />
- Vorkompilierte LIBs, Objektfiles<br />
• Unterstützung Debugger<br />
- Source Line Debugging<br />
- RTOS-Unterstützung<br />
• Unterstützung Case-Tool<br />
- RTOS Framework-Anpassung<br />
Eingeschränkte Auswahl<br />
• Unterstützung <strong>de</strong>r Standards<br />
- RTOS-Unterstützung<br />
• Unterstützung <strong>de</strong>r Kriterien <strong>für</strong><br />
anstehen<strong>de</strong> Zertifizierung(en)<br />
- Source Co<strong>de</strong> verfügbar<br />
- Buy-Out
Requirements <strong>de</strong>r <strong>de</strong>r<br />
Applikation<br />
••Funktional Funktional<br />
••Quality Qualityof of Service<br />
••Applikationshardware Applikationshardware<br />
••Applikationssoftware Applikationssoftware<br />
••Projektrandbedingungen Projektrandbedingungen<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Kompatibilität<br />
Zusammenfassung<br />
Eigenschaften <strong>de</strong>s <strong>de</strong>s<br />
Betriebssystems<br />
••Komponenten Komponenten<br />
••Spezifikation Spezifikation
Seminar: RTOS richtig auswählen (Dauer: 1 Tag)<br />
Seminar: RTOS – Grundlagen (Dauer: 3 Tage)<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Wie geht‘s weiter?<br />
Weitere Informationen fin<strong>de</strong>n Sie im Internet: http://www.microconsult.<strong>de</strong>
Anfor<strong>de</strong>rungs-<br />
Analyse<br />
HW-/SW-Technologien, Tools, Metho<strong>de</strong>n, Prozess, Team<br />
© MicroConsult - MicroElectronics Consulting & Training GmbH<br />
Training, Coaching, Engineering<br />
Analyse<br />
Design<br />
MicroConsult<br />
unterstützt<br />
Sie bei:<br />
Implementierung Unit-Test<br />
Wissen nach Maß <strong>für</strong> <strong>Embed<strong>de</strong>d</strong> Projekte<br />
System-Test<br />
Komponenten-<br />
Test<br />
Abnahme-<br />
Test