4.4 Linux für eingebettete Systeme
243
Betriebssystem-API zur Verfügung gestellt werden. Der Grund hierfür ist, dass die
Benutzer kleiner Mikrocontroller oft Unterbrechungsprioritäten direkt kontrollieren
möchten; daher ist es wichtig, eine Standardmethode zur Aktivierung und Deaktivierung von Unterbrechungen zur Verfügung zu stellen. Zudem spezifiziert der
OSEK/VDX-Standard zwei Arten von Unterbrechungsbehandlungsroutinen (engl.
Interrupt Service Routines (ISR)):
• Kategorie 1: einfacher und schneller, implementiert keinen Aufruf des Schedulers
am Ende der ISR;
• Kategorie 2: diese ISR kann einige Funktionen aufrufen, die das SchedulingVerhalten ändern. Am Ende der ISR kann Scheduling stattfinden. ISR1 hat stets
eine höhere Priorität als ISR2.
Eine wichtige Eigenschaft von OSEK/VDX-Kernen ist die Möglichkeit, den Speicherverbrauch genau zu kontrollieren. Dazu kann aus Produktionsversionen Code
zur Fehlerüberprüfung entfernt werden, zudem sind spezielle Einsprungpunkte (engl.
hooks) vorgesehen, die vom System aufgerufen werden, wenn bestimmte Ereignisse
auftreten. Diese Eigenschaften erlauben es, den Speicherverbrauch einer Anwendung präzise zu steuern; die während des Debugging genutzte Version ist größer
(und sicherer), während die Produktionsversion kleiner ist, da zu diesem Zeitpunkt
die meisten Fehler im Code bereits gefunden und beseitigt sein sollten.
Der OSEK/VDX-Standard unterstützt eine Sprache namens ORTI, um die Debugging-Möglichkeiten zu verbessern. Diese Sprache enthält eine Beschreibung, an
welchen Speicherstellen die verschiedenen Objekte des Betriebssystems alloziert
wurden. Die ORTI-Datei wird normalerweise vom OIL-Compiler erzeugt. Sie wird
von Debuggern genutzt, um detaillierte Informationen über im System definierte
Betriebssystemobjekte anzuzeigen (beispielsweise könnte der Debugger eine Liste
aller Tasks im System zusammen mit ihrem jeweiligem Status ausgeben).
Alle vom OSEK/VDX-Standard definierten Eigenschaften wurden im Open Source-Kern ERIKA Enterprise implementiert [157]. Zielplattform ist eine Reihe von
Mikrocontrollern. Die endgültige Codegröße schwankt dabei zwischen 1 und 5 Kilobyte Objektcode. ERIKA Enterprise implementiert auch weitere Eigenschaften,
wie den EDF-Scheduler, und stellt damit ein offenes und kostenloses Betriebssystem
zur Verfügung, das zum Lernen, zum Testen und auch zum Implementieren echter
Anwendungen für Industrie- und Lehrzwecke eingesetzt werden kann.
4.4 Linux für eingebettete Systeme
Die Anforderungen an die Funktionalität eingebetteter Systeme steigen zusehends.
Beispiele hierfür sind Netzwerkkonnektivität (besonders für das Internet der Dinge)
oder anspruchsvolle Grafikanzeigen. Zur Realisierung dieser Funktionalität muss
ein typisches eingebettetes Betriebssystem durch eine große Menge an Software
erweitert werden. Teile dieser komplexen Funktionen können auch in kleine eingebettete Betriebssysteme integriert werden, wie z.B. ein kleiner Internetprotokollstack
Précédent

- 263/485

Suivant