[gesichtete Version] | [gesichtete Version] |
Keine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
(13 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Ein '''Page fault''', oder zu deutsch '''Seitenfehler''', tritt auf, falls die MMU bei der [[Seitentabellen#Adressumrechnung_mit_einstufiger_Seitentabelle|Umrechnung einer virtuellen in eine | Ein '''Page fault''', oder zu deutsch '''Seitenfehler''', tritt auf, falls die MMU bei der [[Seitentabellen#Adressumrechnung_mit_einstufiger_Seitentabelle|Umrechnung einer virtuellen in eine physische Adresse]] feststellt, dass die benötigte (virtuelle) Seite nicht in einem (physischen) Seitenrahmen eingelagert ist. | ||
</p> | </p> | ||
<br /> | <br /> | ||
== Benötigte Seite ist nicht eingelagert == | |||
<p> | <p> | ||
Zu sehen war diese Situation bereits in dem folgenden, schon bekannten Video, ab Minute 05:30: | Zu sehen war diese Situation bereits in dem folgenden, schon bekannten Video, ab Minute 05:30: | ||
Zeile 10: | Zeile 10: | ||
<p> | <p> | ||
<loop_index id="5fa9786dbb7c2">Adressumrechnung mit einstufiger Seitentabelle</loop_index> | |||
<loop_media type="video" title="MMU: Page fault bei der Adressumrechnung (06:32 Gesamtlänge, Page fault ab 05:30)" description="http://youtu.be/aSSmsETQARw?t=5m30s" copyright="CC-BY" index=true show_copyright=true> | <loop_media type="video" title="MMU: Page fault bei der Adressumrechnung (06:32 Gesamtlänge, Page fault ab 05:30)" description="http://youtu.be/aSSmsETQARw?t=5m30s" copyright="CC-BY" index=true show_copyright=true id="5fa9786dbb7cc"> | ||
{{#ev:youtube|aSSmsETQARw|700}} | {{#ev:youtube|aSSmsETQARw|700|center||330}} | ||
</loop_media> | </loop_media> | ||
</p> | </p> | ||
<br /> | <br /> | ||
== Aufgabe 1 == | |||
<p> | <p> | ||
<loop_area type="task"> | <loop_area type="task"> | ||
<loop_task title="Page Fault or No Page Fault?" | <loop_task title="Page Fault or No Page Fault?" id="5fa9786dbb7d3"> | ||
<p> | <p> | ||
Erläutere:<br /> | |||
Wie oder woran stellt die MMU fest, ob sie einen Page fault auslösen muss, oder nicht? | |||
</p> | </p> | ||
</loop_task> | </loop_task> | ||
Zeile 33: | Zeile 31: | ||
<br /> | <br /> | ||
<p> | <p> | ||
Am [http://youtu.be/aSSmsETQARw?t=5m30s Ende des Videos] wird angedeutet, dass ein Page fault einem Interrupt entspricht. In der Folge muss das Betriebssystem dafür sorgen, dass die fehlende virtuelle Seite in einen freien Seitenrahmen des | Am [http://youtu.be/aSSmsETQARw?t=5m30s Ende des Videos] wird angedeutet, dass ein Page fault einem Interrupt entspricht. In der Folge muss das Betriebssystem dafür sorgen, dass die fehlende virtuelle Seite in einen freien Seitenrahmen des physischen Hauptspeichers eingelagert wird. Anschließend kann die MMU erneut die Adressumrechnung durchführen. | ||
</p> | </p> | ||
Zeile 41: | Zeile 39: | ||
<br /> | <br /> | ||
== Aufgabe 2 == | |||
<p> | <p> | ||
<loop_area type="task"> | <loop_area type="task"> | ||
<loop_task title="Was passiert bei einem Page fault?"> | <loop_task title="Was passiert bei einem Page fault?" id="5fa9786dbb7db"> | ||
<p> | <p> | ||
Ein [http://youtu.be/aSSmsETQARw?t=5m30s Page fault wird ausgelöst], dies wird durch einen Interrupt angezeigt. Was passiert mit diesem Interrupt-Signal? | Ein [http://youtu.be/aSSmsETQARw?t=5m30s Page fault wird ausgelöst], dies wird durch einen Interrupt angezeigt. Was passiert mit diesem Interrupt-Signal? | ||
Zeile 84: | Zeile 83: | ||
* Computer bzw. Rechner | * Computer bzw. Rechner | ||
* Dispatcher | * Dispatcher | ||
* DMA ( | * DMA (Direct Memory Access) bzw. DMA-Controller | ||
* Hintergrundspeicher | * Hintergrundspeicher | ||
* Interrupt | * Interrupt | ||
* Interruptbehandlungsroutine | * Interruptbehandlungsroutine | ||
* Interrupt-Controller | * Interrupt-Controller | ||
* Kontextwechsel | |||
* MMU (Memory Management Unit) | * MMU (Memory Management Unit) | ||
* Page fault | * Page fault bzw. Seitenfehler | ||
* | * physische Adresse | ||
* | * physischer Speicher (RAM) | ||
* Present/Absent-Bit | |||
* Prozess (Prozess A, Prozess B, ...) | * Prozess (Prozess A, Prozess B, ...) | ||
* Prozesskontrollblock | * Prozesskontrollblock | ||
* Prozesstabelle | * Prozesstabelle | ||
* Quantum | |||
* rechnend (Prozesszustand) | * rechnend (Prozesszustand) | ||
* Register | |||
* Scheduler | * Scheduler | ||
* Seite (virtuell) | * Seite (virtuell) | ||
* Seitenrahmen ( | * Seitenrahmen (physisch) | ||
* Seitenrahmen-Nr. | |||
* Seitentabelle | |||
* virtuelle Adresse | * virtuelle Adresse | ||
* virtuelle Speicherverwaltung | * virtuelle Speicherverwaltung | ||
Zeile 107: | Zeile 112: | ||
</loop_task> | </loop_task> | ||
</loop_area> | </loop_area> | ||
</p> | |||
<br /> | |||
<p> | |||
Das Ergebnis der vorangegangenen Aufgabe zeigt den detaillierten Ablauf bei einem '''Page fault'''. Dabei wird vereinfachend davon ausgegangen, dass im physischen Speicher ein freier Seitenrahmen zur Verfügung steht, in den die virtuelle Seite aus dem Hintergrundspeicher eingelagert werden kann. | |||
</p> | |||
<p> | |||
In der Praxis ist aber davon auszugehen, dass nicht immer ein freier Seitenrahmen verfügbar ist. In diesem Fall sind also alle Seitenrahmen bereits belegt und bevor die benötigte Seite eingelagert werden kann, muss zunächst (mindestens) ein Seitenrahmen frei gemacht werden. | |||
</p> | |||
<p> | |||
Anders ausgedrückt geht es darum, eine derzeit in einem Seitenrahmen eingelagerte virtuelle Seite durch die benötigte virtuelle Seite zu ersetzen. Hierzu gibt es verschiedene sogenannte [[Seitenersetzungsverfahren]]. | |||
</p> | </p> | ||
Ein Page fault, oder zu deutsch Seitenfehler, tritt auf, falls die MMU bei der Umrechnung einer virtuellen in eine physische Adresse feststellt, dass die benötigte (virtuelle) Seite nicht in einem (physischen) Seitenrahmen eingelagert ist.
Zu sehen war diese Situation bereits in dem folgenden, schon bekannten Video, ab Minute 05:30:
Wenn Sie dieses Element öffnen, werden Inhalte von externen Dienstleistern geladen und dadurch Ihre IP-Adresse an diese übertragen.
Erläutere:
Wie oder woran stellt die MMU fest, ob sie einen Page fault auslösen muss, oder nicht?
Am Ende des Videos wird angedeutet, dass ein Page fault einem Interrupt entspricht. In der Folge muss das Betriebssystem dafür sorgen, dass die fehlende virtuelle Seite in einen freien Seitenrahmen des physischen Hauptspeichers eingelagert wird. Anschließend kann die MMU erneut die Adressumrechnung durchführen.
Die folgende Aufgabe gibt Anlass zu einer detaillierteren Beschäftigung mit einem Page fault:
Ein Page fault wird ausgelöst, dies wird durch einen Interrupt angezeigt. Was passiert mit diesem Interrupt-Signal?
Oder anders gefragt:
Wie müsste das Video fortgesetzt werden?
Aufgrund deiner Erfahrungen aus den vorangegangenen Kapiteln kannst du eine Prognose zur Fortsetzung des Videos wagen.
Diskutiere deine Prognose in deiner Lerngruppe! Vervollständigt gemeinsam die Beschreibung und eweitert die Liste der Fachbegriffe.
Erst daran anschließend könnt ihr anhand der folgenden Liste prüfen, ob euch noch Fachbegriffe fehlen, oder ob ihr sogar noch darüber hinaus gehende Begriffe identifiziert habt:
Das Ergebnis der vorangegangenen Aufgabe zeigt den detaillierten Ablauf bei einem Page fault. Dabei wird vereinfachend davon ausgegangen, dass im physischen Speicher ein freier Seitenrahmen zur Verfügung steht, in den die virtuelle Seite aus dem Hintergrundspeicher eingelagert werden kann.
In der Praxis ist aber davon auszugehen, dass nicht immer ein freier Seitenrahmen verfügbar ist. In diesem Fall sind also alle Seitenrahmen bereits belegt und bevor die benötigte Seite eingelagert werden kann, muss zunächst (mindestens) ein Seitenrahmen frei gemacht werden.
Anders ausgedrückt geht es darum, eine derzeit in einem Seitenrahmen eingelagerte virtuelle Seite durch die benötigte virtuelle Seite zu ersetzen. Hierzu gibt es verschiedene sogenannte Seitenersetzungsverfahren.
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png