Cuvillier Verlag

35 Jahre Kompetenz im wissenschaftlichen Publizieren
Internationaler Fachverlag für Wissenschaft und Wirtschaft

Cuvillier Verlag

De En Es
K Struct

Printausgabe
EUR 30,15 EUR 28,64

E-Book
EUR 21,11

K Struct

Ein Ansatz zur Analyse und Beschreibung von Nebenläufigkeit in Betriebssystemen

Alexander Schmidt (Autor)

Vorschau

Inhaltsverzeichnis, Datei (39 KB)
Leseprobe, Datei (190 KB)

ISBN-13 (Printausgabe) 3869559977
ISBN-13 (Printausgabe) 9783869559971
ISBN-13 (E-Book) 9783736939974
Sprache Deutsch
Seitenanzahl 192
Umschlagkaschierung glänzend
Auflage 1 Aufl.
Band 0
Erscheinungsort Göttingen
Promotionsort Potsdam
Erscheinungsdatum 26.01.2012
Allgemeine Einordnung Dissertation
Fachbereiche Informatik
Schlagwörter Nebenläufigkeit, Betriebssysteme, Windows, K Struct
Beschreibung

Der Paradigmenwechsel bei der Architektur von Prozessoren hin zu Mehrkernprozessoren (multicore processor) verlangt von Software ein erhöhtes Maß an Nebenläufigkeit, um die verfügbaren parallelen Rechenressourcen effizient zu nutzen. Betriebssysteme sind ein Beispiel für Software, die hochgradig asynchron und damit in hohem Maße nebenläufig ist. Wird in einer solchen Software
das Konzept des gemeinsamen Hauptspeichers (shared memory) zur Kommunikation zwischen einzelnen Aktivitäten verwendet, müssen Zugriffe auf diese nicht-skalaren Daten in kritischen Abschnitten erfolgen, die geeignet synchronisiert werden. Für das Überwachen und Beobachten des Systems ist häufig ein Zugriff auf nicht-skalare Daten im gemeinsamen Speicher notwendig, die den Zustand des Systems beschreiben. Ohne eine Beachtung des Protokolls, das zur Synchronisation verwendet wird, besteht die Gefahr, dass ein solches Überwachungswerkzeug Daten ausliest, die inkonsistent sind und keinen tatsächlichen Zustand des Systems repräsentieren. Mit dem Vorhandensein vieler paralleler Ausf¨uhrungseinheiten nimmt die Gefahr von Wettlaufsituationen zwischen Betriebssystem und Beobachtungswerkzeug und damit die Gefahr des Auslesens von inkonsistenten Daten zu. Um diese Probleme zu vermeiden, wird in der vorliegenden Arbeit der KStruct-Ansatz vorgestellt, der es einem dynamischen, nicht-integrierten Beobachtungswerkzeug erlaubt, auf den Zustand eines Betriebssystems unter Berücksichtigung des Synchronisationsprotokolls zuzugreifen. Dazu wird mit Hilfe der Sprache KStruct Access, einer Erweiterung der Programmiersprache C, das
Synchronisationsprotokoll des Betriebssystems definiert, welches als Vertrag zwischen Betriebssystem und Überwachungswerkzeug dient. Die Annotationen werden von einem Compiler in eine Komponente übersetzt, die von Beobachtungswerkzeugen für den Zugriff auf den gemeinsamen Speicher verwendet werden kann, um Daten unter Einhaltung des Protokolls auszulesen. Um den Annotationsprozess gerade für bestehende Softwaresysteme zu unterstützen, wird zusätzlich KStruct Advice vorgestellt, womit sich ein Betriebssystem hinsichtlich des verwendeten Synchronisationsprotokolls analysieren lässt. Dazu wird ein formales Modell einer Sperre definiert, welches die Grundlage für eine statische Datenflussanalyse zur Berechnung der Zustände aller Sperren darstellt.
Der Zustand einer Sperre wird schließlich mit Zugriffen auf Datenstrukturen im gemeinsamen Speicher korreliert und so ein Synchronisationsprotokoll abgeleitet. Die Ergebnisse des Ansatzes werden im Kontext des Windows Research Kernels betrachtet, diskutiert und evaluiert.