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.

4.5 Prozessorverwaltung fur n Prozesse 79<br />

Diese Darstellung macht deutlich, welche tiefe Schachtelung <strong>von</strong> EETs sich bereits fur<br />

diesen Beispielablauf ergibt. Die einzelnen Boxen konnen aus den bisher gezeigten EETs<br />

hergeleitet werden. Der Nachrichtenu in dieser graphischen Darstellung ist aufgrund der<br />

zahlreichen verwendeten Boxen nur noch schwer nachvollziehbar. Im folgenden werden wir<br />

auf die Veranschaulichung durch EETs verzichten.<br />

4.5 Prozessorverwaltung fur n Prozesse<br />

In den Abschnitten 4.3 und 4.4 wurden die ersten Schritte <strong>zur</strong> <strong>formalen</strong> <strong>Modellierung</strong> der<br />

Prozessorverwaltung bewaltigt. Fur den Systemaufbau wurde eine vereinfachte Struktur<br />

gewahlt, an der das fur die Prozessorverwaltung wesentliche Verhalten demonstriert werden<br />

konnte. In Abschnitt 4.4 haben wir uns der zu behandelnden Konkurrenzsituation bzgl. des<br />

Prozessors auf einfache Weise genahert: Zwei Prozesse konkurrieren um den Prozessor. Die<br />

Queue sorgt dafur, da kein Proze bevorzugt behandelt wird und die Zuteilung/Freigabe<br />

des Prozessors fair erfolgt. Beim Ubergang <strong>zur</strong> <strong>Modellierung</strong> des auf zwei Prozesse erweiterten<br />

Systems konnten groe Teile der Spezikation aus Abschnitt 4.3 wiederverwendet<br />

werden. Mit diesen Vorbereitungen sind wir nun in der Lage, die allgemeine Aufgabenstellung<br />

der Prozessorverwaltung zu behandeln:<br />

Fur ein Einprozessorsystem werden die Zuteilung und Freigabe des exklusiv nutzbaren<br />

Betriebsmittels "<br />

Prozessor\ fur endlich viele Prozesse modelliert.<br />

Betrachten wir die einzelnen Komponenten ausgehend <strong>von</strong> den Abschnitten 4.3.1 und 4.4.1:<br />

Prozessor: Im System ist ein Prozessor enthalten, der zu jedem Zeitpunkt genau einem<br />

Proze zugeteilt ist. Der Prozessor registriert nicht, an welchen Proze er aktuell<br />

gebunden ist, er fuhrt die Instruktionen aus, die an ihn gesendet werden.<br />

Suspendierungs- und Terminierungsmeldungen werden weitergeleitet. Die Nachrichten,<br />

die der Prozessor empfangt, sind unabhangig <strong>von</strong> der Anzahl der Prozesse. An<br />

der <strong>Modellierung</strong> <strong>von</strong> PZ werden keine Anderungen vorgenommen.<br />

Prozesse: Im System sind nun n 2 IN Prozesse Pi mit i 2 f1 : : :ng enthalten. Fur<br />

jeden Pi ist eine Berechnung deniert, und Pi benotigt den Prozessor, um diese<br />

auszufuhren. Da wir <strong>von</strong>einander unabhangige Prozesse betrachten, kann jeder der<br />

n Prozesse entsprechend der Spezikation <strong>von</strong> P 1 modelliert werden. Alle Bezeichner<br />

sind so zu wahlen, da ihre Eindeutigkeit sichergestellt ist. Die Spezikationen<br />

der Prozesse P 1 und P 2 aus den Abschnitten 4.3.3 und 4.4.2 werden vollstandig<br />

wiederverwendet.<br />

Dispatcher: Der Dispatcher stellt die Verbindung zwischen dem aktuell ausgewahlten<br />

Proze und dem Prozessor her. Zur Erzeugung dieser Verbindung mu er mit dem<br />

ausgewahlten Proze Pi verbunden sein. Den entsprechenden Port erhalt er <strong>von</strong> der<br />

Queue. Es sind geringfugige Anderungen an der Spezikation <strong>von</strong> D vorzunehmen.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!