01.05.2013 Aufrufe

Auswahlkriterien für Embedded Betriebssysteme - Microconsult.de

Auswahlkriterien für Embedded Betriebssysteme - Microconsult.de

Auswahlkriterien für Embedded Betriebssysteme - Microconsult.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!