anticache

Evaluierung und Erweiterung von Echtzeitbetriebssystemen für den Einsatz in Industrieapplikationen (Diplomarbeit)

18.03.2010

Peter Waszecki


Abstract:

Echtzeitanforderungen sind essentiell für Applikationen im Industriebereich, wie z.B. Kontrollschleifen. Im Bereich der drahtlosen Sensornetze heißt dies, dass Übertragungsprotokolle und auch das Betriebssystem der Sensorknoten hart echtzeitfähig sein müssen.

Weit verbreitete Sensornetzbetriebssysteme wie z.B. TinyOS sind event-basierte Betriebssysteme, die auf einen geringen Energieverbrauch optimiert sind und ursprünglich nicht für den Einsatz in Echtzeitsystemen konzipiert sind. Aktuelle Erweiterungen von TinyOS integrieren allerdings nachträglich Echtzeitfähigkeit in das Betriebssystem, indem der bisherige nicht-präemptive Event-Scheduler durch einen prioritätsbasierten, präemptiven Scheduler ersetzt wurde. Dies hat weitreichende Folgen sowohl für den Compiler (einige Features funktionieren nicht mehr, z.B. der automatische Check für Race Conditions) als auch für das Task-Konzept (Registerinhalte müssen bei der Taskunterbrechung gespeichert werden). Welche Auswirkungen dies auf die Performance von TinyOS hat, ist ungeklärt. Ein alternativer Ansatz für ein echtzeitfähiges Sensornetzbetriebssystem ist z.B. FreeRTOS, das von Anfang an als Echtzeitbetriebssystem konzipiert wurde.

Die Vorteile von TinyOS liegen in seinem hohen Verbreitungsgrad, seine Energieeffizienz und das modulare Programmiermodell (NesC).Zudem gibt es eine große Auswahl an freier Software (z.B. Protokolle, Treiber), die einfach in neue Applikationen integriert werden kann. In dieser Diplomarbeit soll untersucht werden, ob TinyOS mit seiner erst nachträglich integrierten Echtzeitfähigkeit ähnliche Ergebnisse erzielen kann wie ein „reines“ Echtzeitbetriebssystem (FreeRTOS).

Ziele der Arbeit:

  • Kurze Anforderungsanalyse von Industrieapplikationen bzgl. Sensornetze
  • Portierung von FreeRTOS auf den ATMega1281
  • Vergleich von TinyOS und FreeRTOS bzgl. der Echtzeitfähigkeit (Reaktionszeiten, Zuverlässigkeit) und Ressourcenverbrauch
  • Entwicklung eines echtzeitfähigen Schedulers (z.B. Rate Monotonic)
  • Entwicklung einer aussagekräftigen Testapplikation
  • Bewertung der Einsatzfähigkeit Systeme in Industrieapplikationen