22.04.2014 Aufrufe

Eine Methode zur formalen Modellierung von ...

Eine Methode zur formalen Modellierung von ...

Eine Methode zur formalen Modellierung von ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

138 Prozekooperation<br />

6.1.1 Gemeinsamer Speicher<br />

Die Verwendung <strong>von</strong> gemeinsamem Speicher bedeutet, da sich Prozesse bestimmte Variablen<br />

bzw. Speicherbereiche teilen und diese gemeinsam benutzen. Hierbei werden die<br />

Ablaufe, in denen die Nutzung der gemeinsamen Daten <strong>von</strong> der zeitlichen Reihenfolge der<br />

Nutzung durch die Prozesse abhangig ist, als zeitkritische Ablaufe bezeichnet, siehe die<br />

Abschnitte 2.2.1 in [Tan94], 9.5 in [PS85] und Kapitel 2 in [MOO87]. Bei der Nutzung<br />

gemeinsamer Daten ergibt sich das Problem, da mehrere Prozesse moglicherweise zum<br />

gleichen Zeitpunkt auf einen gemeinsamen Speicherbereich zugreifen. Dabei konnen Kon-<br />

iktsituationen auftreten, in denen ein Proze den Wert der Daten verandert, wahrend ein<br />

anderer zum gleichen Zeitpunkt den Wert der Daten liest. Um dies auszuschlieen, mu<br />

der sogenannte wechselseitige Ausschlu gewahrleistet sein. Greift ein Proze auf einen<br />

gemeinsamen Speicherbereich zu, wird auf diese Weise sichergestellt, da alle anderen Prozesse<br />

den Speicherbereich zu diesem Zeitpunkt auf keinen Fall nutzen. Die Auswahl der<br />

geeigneten Realisierung ist eine wichtige Entwurfsentscheidung in Betriebssystemen.<br />

Die verschiedenen Losungswege werden entsprechend zu den bereits beschriebenen Strategien<br />

des Scheduling oder der Seitenersetzungen gema spezieller Kriterien bewertet. Die<br />

Losungen <strong>zur</strong> Gewahrleistung <strong>von</strong> wechselseitigem Ausschlu reichen uber aktives Warten<br />

(Abschnitt 2.2.3 in [Tan94]), Semaphore (Abschnitte 2.2.5 in [Tan94] und 9.6 in [PS85])<br />

bis hin zu Monitoren (Abschnitte 2.2.7 in [Tan94] und 2.9 in [Fin88]). Da wir in der vorliegenden<br />

Arbeit weder Daten noch Algorithmen auf Datenbereichen modellieren, gehen wir<br />

auf diese Konzepte und Losungen nicht weiter ein. Die genannte Literatur behandelt diese<br />

Probleme mit groer Ausfuhrlichkeit. Da Focus vor allem das Konzept des Nachrichtenaustausch<br />

verwendet, werden wir das im folgenden Abschnitt beschriebene Konzept der<br />

nachrichtenorientierten System modellieren.<br />

6.1.2 Nachrichtenaustausch<br />

Neben der Benutzung <strong>von</strong> gemeinsamem Speicher konnen Prozesse durch direkten Nachrichtenaustausch<br />

(Message Passing) miteinander kooperieren. Die Prozesse stehen in Sender-<br />

und Empfanger-Beziehung zueinander. Die Konzepte des Nachrichtenaustauschs werden<br />

beispielsweise in Abschnitt 2.2.8 <strong>von</strong> [Tan94] sowie die Kapitel 2 in [Spi97b] und<br />

Abschnitt 9.8 in [PS85] beschrieben.<br />

Die Konzepte des Nachrichtenaustauschs werden darin unterschieden, wie Sender und<br />

Empfanger einander zugeordnet sind: Mit der 1:1-Zuordnung sind jeweils der Sender und<br />

der Empfanger eindeutig festgelegt. Daneben gibt es m:1-Zuordnungen, in denen mehrere<br />

Sender und 1:n-Zuordnungen, wobei mehrere Empfanger vorliegen, sowie die allgemeine<br />

Form der m:n-Zuordnung, in denen beliebige Zuordnungen getroen werden konnen. Insbesondere<br />

mu festgelegt werden, ob jeder im System auftretende Proze mit jedem anderen<br />

Proze kommunizieren kann, oder ob hier einschrankende Festlegungen getroen werden.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!