30.01.2014 Aufrufe

Abstract-Band - Fakultät für Informatik, TU Wien - Technische ...

Abstract-Band - Fakultät für Informatik, TU Wien - Technische ...

Abstract-Band - Fakultät für Informatik, TU Wien - Technische ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

parameters and list their advantages and disadvantages. To further illustrate<br />

the differences, a simple ring topology network interface controller is<br />

described with all the considered methods and the implications of their use<br />

for the description are indicated. Next, to demonstrate the use of each<br />

description method in its typical field of application, selected parts of the<br />

faculty developed SPEAR2 processor are implemented with the methods. As a<br />

result of this work a comparison of seven different description methods is<br />

now available that, unlike the existing literature so far, views these methods<br />

from the same angle, namely a carefully chosen set of criteria. This<br />

comparison, along with the selected demonstrative examples, could serve<br />

prospective designers of asynchronous circuits when choosing a description<br />

method for a project. At the same time, the extraction of the underlying<br />

concepts of the considered methods along with their comparison is also<br />

valuable for a didactic presentation of asynchronous design.<br />

Arbeitsbereich Real Time Systems<br />

Ulrich Buchgraber<br />

Visualisierung von Prozesssynchronisation mit Semaphoren<br />

Studium: Masterstudium <strong>Technische</strong> <strong>Informatik</strong><br />

Betreuer: Ao.Univ.Prof. Dr. Peter Puschner<br />

Das Ziel dieser Diplomarbeit ist es, ein Visualisierungstool <strong>für</strong> parallel<br />

ablaufende Programme (Tasks) zu entwerfen. Diese Tasks sollen wie Prozesse<br />

eines Betriebssystems voneinander unabhängig laufen und über einen<br />

gemeinsamen Speicher und Synchronisationskonstrukte (Semaphore) kommunizieren<br />

können. Der Ablauf der Programme soll vom Benutzer gesteuert<br />

werden können und der Zustand der einzelnen Tasks, der Semaphore und<br />

des gemeinsamen Speichers geeignet visualisiert werden. Als Hilfsmittel <strong>für</strong><br />

die Untersuchung eines Algorithmus, der Locks verwendet, soll das Tool um<br />

ein Analyseverfahren erweitert werden, das Deadlocksituationen erkennt und<br />

visualisiert. Das Tool soll <strong>für</strong> didaktische Zwecke, z.B. <strong>für</strong> Vorlesungen wie<br />

Betriebssysteme, geeignet sein. Das zentrale Ergebnis der Arbeit ist die Implementierung<br />

des Visualisierungstools, eine plattformübergreifende Desktopsoftware,<br />

die auf einer Open-Source-Hostingplattform veröffentlicht wurde.<br />

Taskprogramme werden darin mit der simpel aufgebauten Programmiersprache<br />

Lua beschrieben. Zugriffe auf den gemeinsamen Speicher und<br />

die Semaphore sind durch einfache Anweisungen im Programmcode möglich.<br />

Mit Debugging-Befehlen wie Run, Step und Stop bzw. mit Breakpoints im<br />

Codeeditor kann der Programmfluss, wie von Standard-IDEs bekannt,<br />

gesteuert werden. In der Benutzeroberfläche wird der gemeinsame Speicher<br />

mit den Semaphoren in einer Baumstruktur visualisiert und alle Taskprogramme<br />

nebeneinander dargestellt, um zu jedem Zeitpunkt den gesamten<br />

Zustand des untersuchten Algorithmus erfassen zu können. Für die Deadlockanalyse<br />

wurden zwei Laufzeitanalyseverfahren, die in dieser Arbeit aus-führ-<br />

91

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!