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 ...
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