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

Erfolgreiche ePaper selbst erstellen

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

42 Betriebssysteme<br />

sogenannten Auslagerungen, also die Bereitstellung geforderter Daten im Arbeitsspeicher<br />

und die Sicherung aktuell nicht benotigter Daten im Hintergrundspeicher mussen durchgefuhrt<br />

werden. Speicherverwaltungen werden danach unterschieden, ob Prozesse wahrend<br />

ihrer Ausfuhrung zwischen AS und HS transferieren (Swapping und Paging), oder nicht. Die<br />

Speicherverwaltung hat weiter die Aufgabe, freie Speicherbereiche zu ausreichend groen<br />

Bereichen zusammenzufassen. Hierzu gibt es verschiedene Verfahren, die beispielsweise in<br />

den Kapiteln 3.2 in [Tan94] oder 5 in [Fin88] beschrieben sind.<br />

Damit ein Benutzer das Programm nicht selbst in kleine, modulare Teile, die eine festgelegte<br />

Groe haben, aufteilen mu, wurde das Konzept des virtuellen Speichers entwickelt,<br />

siehe die Kapitel 9 in [GS94] oder 3.3 in [Tan94]. Die Idee besteht darin, da der <strong>von</strong> einem<br />

Proze benotigte Speicherplatz die Groe des fur den Proze zuganglichen Speicherplatzes<br />

uberschreiten darf. Das Betriebssystem sorgt dafur, da die aktuell benotigten Teile im<br />

Arbeitsspeicher <strong>zur</strong> Verfugung stehen. Die Entscheidungen daruber, welche Teile aus dem<br />

Arbeitsspeicher ausgelagert werden konnen und sollen, werden durch sogenannte Seitenersetzungsalgorithmen<br />

getroen. Diese werden mittels verschiedener Kriterien bewertet siehe<br />

beispielsweise die Kapitel 3.4 in [Tan94], 6.4.2 in [Spi95] und 9.5 in [GS94]. Wir werden in<br />

Kapitel 5 eine Losung mit virtuellem Speicher und einer Ersetzungsstrategie gema LRU<br />

(Least Recently Used) modellieren.<br />

3.3.3 Prozekooperation<br />

Mit der Prozessorverwaltung wird dafur gesorgt, da alle Berechnungen der Prozesse fortschreiten<br />

konnen. Daneben sollten auch Konzepte dafur angeboten werden, Prozesse fur<br />

kooperative Problemlosungen einsetzen zu konnen. Dabei sollen Prozesse durch ihre Berechnungen<br />

Beitrage zu gemeinsamen Losungen mit anderen Prozessen leisten. Um dieses<br />

Ziel zu erreichen, sind Abstimmungen der Prozesse untereinander notwendig. <strong>Eine</strong> einfache<br />

Losung <strong>zur</strong> Abstimmung <strong>von</strong> Prozessen untereinander besteht darin, da ein Proze<br />

das Ergebnis, das ein anderer Proze bei seiner Terminierung liefert, verwendet, vergleiche<br />

beispielsweise Kapitel 9.2 in [Fin88]. Die verschiedenen Losungen <strong>von</strong> der Nutzung<br />

gemeinsamer Speicher bis hin zu nachrichtenorientierten Systemen sind in der Literatur<br />

beschrieben, siehe [PS85] fur die Beschreibung der Losungen mit gemeinsamem Speicher<br />

sowie [Tan94] und [Spi95] <strong>zur</strong> Beschreibung der Losungen mit Nachrichtenaustausch.<br />

Da Focus auf Nachrichtenaustausch ausgerichtet ist, werden wir eine Prozekooperation<br />

modellieren, in der Nachrichtentransporte (Message Passing) mit den beiden Basisoperationen<br />

send und receive moglich sind. Dabei werden blockierendes Senden und nichtblockierendes<br />

Senden unterschieden. Diese Konzepte werden nur in wenigen Systemen alternativ<br />

angeboten die Entscheidung fur eine der Varianten wird ublicherweise vom Systementwickler<br />

getroen. In Kapitel 6 werden die Funktionsweisen beider Alternativen erlautert<br />

und beide Varianten modelliert. Fur weitere Erlauterungen wird vor allem auf die Kapitel<br />

2.2.8 in [Tan94] und 2.1 in [Spi95] verwiesen.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!