OSEK / OSEKtime - ein Vergleich Hauptseminar WS 07/08 André Puschmann andre.puschmann@stud.tu-ilmenau.de Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Fachgebiet Rechnerarchitektur 23. Januar 2008 1 / 15
Gliederung 1 Einführung 2 OSEK/VDX-OS Architektur Task-Management Ressourcen-Verteilung / Interrupt-Verarbeitung 3 OSEKtime-OS Architektur Task-Management Interrupt-Verarbeitung 4 Zusammenfassung 2 / 15
Wer oder was ist OSEK? Historisches industrielles Standardisierungsgremium Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug 1993 gegründet 1994 Zusammenschluss mit VDX zu OSEK/VDX 3 / 15
Wer oder was ist OSEK? Motivation Anzahl der elektronischen Komponenten nimmt ständig zu Software wurde immer komplexer Versuch Basissoftware zu standardisieren Wiederkehrende Kosten vermeiden Ziele Portabilität und Wiederverwendbarkeit Skalierbarkeit und Konfigurierbarkeit Kosteneinsparung Verbesserung der Softwarequalität 4 / 15
Wer oder was ist OSEK? Motivation Anzahl der elektronischen Komponenten nimmt ständig zu Software wurde immer komplexer Versuch Basissoftware zu standardisieren Wiederkehrende Kosten vermeiden Ziele Portabilität und Wiederverwendbarkeit Skalierbarkeit und Konfigurierbarkeit Kosteneinsparung Verbesserung der Softwarequalität 4 / 15
OSEK-Standards OSEK-OS: Event Triggered Realtime Operating System OSEKtime-OS: Time Triggered Realtime Operating System OSEK-OIL: OSEK Implementation Language OSEK-COM: Communication OSEK-NM: Network Management 5 / 15
Architektur 6 / 15
Task-Management Konzept Einfache Task laufen durch ohne zu blockieren Erweiterte Task können auf Ereignisse warten können somit blockieren Zustandsmodell 7 / 15
Scheduling Konzept Tasks werden Prioritäten zugeordnet Zuteilung des Prozessors durch Scheduler nicht-preemptives Scheduling preemptives Scheduling 8 / 15
Ressourcen-Verteilung Ziel: korrekte Verteilung der Betriebsmittel mögliche Probleme: Deadlocks (ungewollte) Prioritätenumkehr Lösung: Priority-Ceiling-Protokoll 9 / 15
Ressourcen-Verteilung Ziel: korrekte Verteilung der Betriebsmittel mögliche Probleme: Deadlocks (ungewollte) Prioritätenumkehr Lösung: Priority-Ceiling-Protokoll 9 / 15
Interrupt-Verarbeitung Prioritäten hängen von Hardware ab Einplanung erfolgt nicht durch Betriebssystem Aktivierung/Deaktivierung durch Systemfunktionen 10 / 15
Architektur 11 / 15
Task-Management Task-Konzept keine Prioritäten feste Parameter Aktivierungszeitpunkte Deadlines striktes Muster für Abarbeitung Ablauftabelle Dispatcher regelt Ablauf Deadlineüberwachung besonderer Task: Idle-Task Zustandsmodell 12 / 15
Interrupt-Verarbeitung Konzept festes Intervall für jeden Interrupt darf nur einmal auftreten Zeitpunkt in Ablauftabelle definiert Interrupts nicht manuell abschaltbar nicht-maskierbare Interrupts können böse Folgen haben 13 / 15
Zusammenfassung beides statische Betriebssysteme ereignisgesteuert vs. zeitgesteuert Scheduler vs. Dispatcher unterschiedliche Interrupt/Ressourcen-Verarbeitung 14 / 15
Ende Vielen Dank für die Aufmerksamkeit! 1 1 Quellen entsprechen denen der Seminararbeit 15 / 15