3.3.2.1 Page Fault

[gesichtete Version][gesichtete Version]
KKeine Bearbeitungszusammenfassung
 
(16 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<p>
 
Ein '''Page fault''', oder zu deutsch '''Seitenfehler''', tritt auf, falls die MMU bei der [[Seitentabellen#Adressumrechnung_mit_einstufiger_Seitentabelle|Umrechnung einer virtuellen in eine physikalische Adresse]] feststellt, dass die benötigte (virtuelle) Seite nicht in einem (physikalischen) Seitenrahmen eingelagert ist.
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 ====
== 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>
{{#index:Adressumrechnung mit einstufiger Seitentabelle}}
<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 ====
== 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:
Erläutere:<br />
</p>
Wie oder woran stellt die MMU fest, ob sie einen Page fault auslösen muss, oder nicht?
<p>
* 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 einen Interrupt auslöst. Die folgende Aufgabe gibt Anlass zur näheren Beschäftigung damit:
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>
Die folgende Aufgabe gibt Anlass zu einer detaillierteren Beschäftigung mit einem Page fault:
</p>
</p>


<br />
<br />
==== Aufgabe 2 ====
 
== 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 49: Zeile 52:
</p>
</p>
<p>
<p>
Aufgrund deiner Erfahrungen aus den vorangegangenen Kapiteln kannst du eine Prognose zur Fortsetzung des Videos wagen.
Aufgrund deiner Erfahrungen aus den vorangegangenen Kapiteln kannst du eine Prognose zur Fortsetzung des [http://youtu.be/aSSmsETQARw?t=5m30s Videos] wagen.
* Notiere stichpunktartig den weiteren Verlauf!
* Notiere stichpunktartig den weiteren Verlauf!
* Nutze Fachbegriffe zur Beschreibung!
* Nutze Fachbegriffe zur Beschreibung!
* Gehe davon aus, dass mehrere Prozesse auf dem Rechner gestartet sind und vom Betriebssystem verwaltet werden.
* Beginne mit dem Moment, in dem die MMU den Page fault auslöst.
* Beginne mit dem Moment, in dem die MMU den Page fault auslöst.
* Gehe davon aus, dass ein freier Seitenrahmen zur Verfügung steht.
* Beschreibe bis zu dem Moment, in dem die Adressumrechnung durch die MMU erneut versucht wird und schließlich klappt.
* Beschreibe bis zu dem Moment, in dem die Adressumrechnung durch die MMU erneut versucht wird und schließlich klappt.
</p>
</p>
<p>
<p>
Diskutiere deine Prognose in deiner Lerngruppe! Vervollständigt gemeinsam die Beschreibung, eweitert die Liste der Fachbegriffe.
Diskutiere deine Prognose in deiner Lerngruppe! Vervollständigt gemeinsam die Beschreibung und eweitert die Liste der Fachbegriffe.
</p>
</p>
<p>
<p>
Zeile 67: Zeile 72:
<p>
<p>
Die Begriffe stehen hier in alphabetischer Ordnung. Achte darauf, dass du die sinnvolle zeitliche Abfolge beschreibst!
Die Begriffe stehen hier in alphabetischer Ordnung. Achte darauf, dass du die sinnvolle zeitliche Abfolge beschreibst!
</p>
<p>
Falls dir einige der folgenden Fachbegriffe nicht geläufig sind: Lies ihre jeweilige Definition nach!
</p>
</p>
<p>
<p>
* Adressumrechnung
* Adressumrechnung
* bereit (Prozesszustand)
* Betriebssystem
* blockiert (Prozesszustand)
* blockiert (Prozesszustand)
* Computer bzw. Rechner
* Dispatcher
* Dispatcher
* DMA (Direkt Memory Access) bzw. DMA-Controller
* 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
* physikalische Adresse
* physische Adresse
* physikalischer Speicher
* physischer Speicher (RAM)
* Prozess
* Present/Absent-Bit
* Prozess (Prozess A, Prozess B, ...)
* Prozesskontrollblock
* Prozesskontrollblock
* Prozesstabelle
* Prozesstabelle
* Quantum
* rechnend (Prozesszustand)
* rechnend (Prozesszustand)
* Register
* Scheduler
* Scheduler
* Seite (virtuell)
* Seite (virtuell)
* Seitenrahmen (physikalisch)
* Seitenrahmen (physisch)
* Seitenrahmen-Nr.
* Seitentabelle
* virtuelle Adresse
* virtuelle Adresse
* virtuelle Speicherverwaltung
* virtueller Speicher
* virtueller Speicher
</p>
</p>
Zeile 94: 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>



Aktuelle Version vom 8. Juni 2022, 16:46 Uhr

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.


Benötigte Seite ist nicht eingelagert

Zu sehen war diese Situation bereits in dem folgenden, schon bekannten Video, ab Minute 05:30:


Aufgabe 1

Aufgabe

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:


Aufgabe 2

Aufgabe

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.

  • Notiere stichpunktartig den weiteren Verlauf!
  • Nutze Fachbegriffe zur Beschreibung!
  • Gehe davon aus, dass mehrere Prozesse auf dem Rechner gestartet sind und vom Betriebssystem verwaltet werden.
  • Beginne mit dem Moment, in dem die MMU den Page fault auslöst.
  • Gehe davon aus, dass ein freier Seitenrahmen zur Verfügung steht.
  • Beschreibe bis zu dem Moment, in dem die Adressumrechnung durch die MMU erneut versucht wird und schließlich klappt.

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