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.

5.2 Wesentliche Aspekte der Speicherverwaltung 111<br />

ist. Das Laden einer Seite in einen Seitenrahmen wird Einlagern genannt. Moglicherweise<br />

ist es notwendig, zunachst einen Seitenrahmen frei zu machen, um eine benotigte Seite<br />

einlagern zu konnen. Das Entfernen einer Seite aus dem Arbeitsspeicher mit ihrer Abspeicherung<br />

in einem freien Block des Hintergrundspeichers wird Auslagern genannt. Die<br />

Entscheidung daruber, wann eine Seite ausgelagert wird, kann nach verschiedenen Kriterien<br />

getroen werden, die mittels entsprechender Seitenersetzungsalgorithmen durchgesetzt<br />

werden siehe Abschnitt 5.2.3.1. Zusatzlich mussen Verfahren bereitgestellt werden, die die<br />

Zuordnung <strong>von</strong> Seitenrahmen zu Prozessen gewahrleisten siehe Abschnitt 5.2.3.2.<br />

5.2.3.1 Seitenersetzungsalgorithmen<br />

Wenn ein Proze aktuell uber den Prozessor verfugt, so fuhrt der Prozessor die Instruktionen<br />

des Programms mit den entsprechenden Adressen aus. Hierbei werden logische<br />

Adressen in physikalische Adressen umgerechnet, und die Speicherverwaltung hat Kenntnis<br />

daruber, ob eine zu einer logischen Adresse gehorende Seite im Arbeitsspeicher realisiert<br />

ist, oder nicht. Sobald eine benotigte Seite nicht im AS-realisiert ist, erzeugt das Betriebssystem<br />

einen Seitenfehler, der Proze wird blockiert, und der Prozessor wird freigegeben.<br />

Die Speicherverwaltung mu Manahmen ergreifen, damit der Proze die Ausfuhrung seiner<br />

Berechnung nach angemessener Zeit fortsetzen kann. Zu diesen Manahmen gehort<br />

insbesondere, da die fehlende Seite in einen Seitenrahmen gespeichert wird. Hierbei sind<br />

zwei Falle zu unterscheiden:<br />

1. Seitenrahmen, die fur den Proze genutzt werden konnen, sind frei. In diesem Fall<br />

ist die Seite in einen solchen einzulagern.<br />

2. Alle Seitenrahmen, die ein Proze nutzen kann, sind bereits belegt. In diesem Fall<br />

mu zunachst ein Seitenrahmen frei gemacht werden, indem eine im AS-realisierte<br />

Seite in den Hintergrundspeicher gelegt (verdrangt) wird. Erst nach der Verdrangung<br />

kann die benotigte Seite eingelagert werden.<br />

Die Auswahl einer Seite, die verdrangt werden kann, erfolgt uber verschiedene Kriterien,<br />

die mittels sogenannter Seitenersetzungsalgorithmen durchgesetzt werden siehe die Kapitel<br />

3.4 in [Tan94], 6.4.2 in [Spi95] und 9.5 in [GS94]. Die Speicherverwaltung fuhrt hierbei eine<br />

Liste der Seiten, die im Arbeitsspeicher realisiert sind. Die Auswahl einer Seite erfolgt beispielsweise<br />

mit einer festgelegten Wahrscheinlichkeit bei der Random-Strategie, oder, weil<br />

sie am langsten im Arbeitsspeicher realisiert ist, mit der FIFO-Strategie, oder gema weiterer<br />

Kriterien, die ausfuhrlich in der oben genannten Literatur beschrieben sind. Derartige<br />

Algorithmen werden beispielsweise gema der Anzahl der erzeugten Seitenfehler bewertet.<br />

So gilt fur FIFO die sogenannte FIFO-Anomalie, siehe u.a. Kapitel 3.5 in [Tan94], da die<br />

Anzahl der Seitenfehler mit der Steigerung der Anzahl der Seitenrahmen wachst. Bei der<br />

Entscheidung uber eine Auslagerung sollte berucksichtigt werden, ob die Seite oft oder<br />

selten benutzt wird. Wir werden die Strategie LRU (Least Recently Used) modellieren, bei<br />

der die Seite ausgewahlt wird, die am langsten nicht benutzt wurde siehe Abschnitt 5.5.2.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!