19. 10. 2012

Der IDL-Compiler cid


Jan Bierbaum

TU Dresden

Verteidigung der Beleg-Arbeit

Bei der Entwicklung mikrokernbasierter Betriebssysteme ist Interprozesskommunikation (IPC) ein Zentraler Mechanismus: Der Philosophie des Kerns folgend, besitzen diese Systeme ebenfalls oft eine komponentenbasierte Client-Server-Architektur innerhalb derer IPC zur unverzichtbaren und performancekritischen Infrastruktur wird.

Die direkte Nutzung von IPC ist für Entwickler sehr arbeitsaufwändig und fehleranfällig. Bei der Arbeit mit verteilten Systemen, die eine ähnliche Struktur aufweisen, ist daher die Verwendung von so genannten IDL-Compilern üblich. Sie erzeugen aus einer Spezifikation der gewünschten Kommunikation mittels einer speziellen Schnittstellenbeschreibungssprache (IDL) zuverlässig geeigneten Programmcode.

Im Vortrag wird "Cid" vorgestellt - ein IDL-Compiler für L4Re, bei dessen Implementierung maßgeblich auf Teile des C++-Compilers "Clang" zurückgegriffen wurde. Auch einige Messungen zum Laufzeitverhalten des von Cid erzeugten Kommunikationscodes werden präsentiert.

19. 10. 2012

Der ATLAS Scheduler


Stefan Wächtler

TU Dresden


Das CPU-Scheduling von Anwendungen mit weichen Echtzeitanforderungen erfolgt unter Linux im Regelfall mittels des Completely Fair Schedulers (CFS) zusammen mit anderen Anwendungen ohne Echtzeitanforderungen. Dies funktioniert, solange ausreichend viele CPU-Ressourcen zur Verfügung stehen. In Systemen mit Überlast ist der Ansatz problematisch, da weiche Echtzeitanwendungen vom CPU-Scheduler nur unzureichend viel Rechenzeit erhalten. Die Folge ist, dass betroffene Anwendungen nicht in der vom Benutzer erwarteten Qualität funktionieren.

Das Ziel meiner Diplomarbeit ist die Implementation und Evaluierung eines CPU-Schedulers und dessen Integration in den Linux-Kern auf Basis des ATLAS-Konzepts (Auto-Training Look-Ahead Scheduler). Anwendungen haben damit die Möglichkeit, Rechenzeitanfragen in Form von Jobs an den CPU-Scheduler zu übermitteln, der mit Hilfe dieser Informationen eine bessere Einplanung als CFS garantiert.

Im Statusvortrag stelle ich das erarbeitete grundlegende Design des CPU-Schedulers sowie dessen Integration in die schon bestehende Schichtenarchitektur von Schedulern des Linux-Kerns vor. Im Mittelpunkt steht dabei neben der Erstellung des Ablaufplans auf Basis der Job-Übermittlungen die Spezifikation der Anforderungen an den Scheduler sowie die Vorstellung der benutzten Evaluierungsmethode.
28. Oct 2020
· Copyright © 2001-2022 Operating Systems Group, TU Dresden | Impressum ·