3.3.2.2.3.1 Optimaler Seitenersetzungsalgorithmus

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<p>
 
<loop_index>Optimaler Seitenersetzungsalgorithmus|Seitenersetzungsalgorithmus, optimaler</loop_index>
<loop_index id="5fa9786d64ad6">Optimaler Seitenersetzungsalgorithmus</loop_index><loop_index id="5fa9786d8f3c1">Seitenersetzungsalgorithmus, optimaler</loop_index>
Der '''optimale Algorithmus''' wählt unter allen derzeit in einem Seitenrahmen eingelagerten virtuellen Seiten diejenige Seite zur Ersetzung aus, welche '''in Zukunft am längsten nicht mehr benötigt''' wird.
Der '''optimale Algorithmus''' wählt unter allen derzeit in einem Seitenrahmen eingelagerten virtuellen Seiten diejenige Seite zur Ersetzung aus, welche '''in Zukunft am längsten nicht mehr benötigt''' wird.
</p>
</p>
Zeile 17: Zeile 17:


<br />
<br />
==== Aufgabe 1 ====
== Aufgabe 1 ==
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="Implementiere den optimalen Seitenersetzungsalgorithmus">
<loop_task title="Implementiere den optimalen Seitenersetzungsalgorithmus" id="5fa9786d64add">
<p>
<p>
Hast du eine Idee, wie man den optimalen Algorithmus implementieren könnte? Seine Arbeitsweise ist doch mit Worten so einfach zu beschreiben!
Hast du eine Idee, wie man den optimalen Algorithmus implementieren könnte? Seine Arbeitsweise ist doch mit Worten so einfach zu beschreiben!
Zeile 32: Zeile 32:


<br />
<br />
==== Aufgabe 2 ====
== Aufgabe 2 ==
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="Optimales M-Bit">
<loop_task title="Optimales M-Bit" id="5fa9786d64ae0">
<p>
<p>
Angenommen, ein Betriebssystem arbeitet mit dem optimalen Seitenersetzungsalgorithmus und [[Seitentabellen#Beispiel_einer_Seitentabelle|einstufigen Seitentabellen]].
Angenommen, ein Betriebssystem arbeitet mit dem optimalen Seitenersetzungsalgorithmus und [[Seitentabellen#Beispiel_einer_Seitentabelle|einstufigen Seitentabellen]].

Aktuelle Version vom 10. November 2020, 13:56 Uhr

Der optimale Algorithmus wählt unter allen derzeit in einem Seitenrahmen eingelagerten virtuellen Seiten diejenige Seite zur Ersetzung aus, welche in Zukunft am längsten nicht mehr benötigt wird.

Der Grund für diese Strategie ist ganz einfach: Hierbei werden in Zukunft am wenigsten weitere Seitenfehler ausgelöst. Und da die Behebung jedes Seitenfehlers Zeit kostet, und so das Gesamtsystem für den Bediener verlangsamt, ergibt sich bei konsequenter Anwendung des optimalen Algorithmuses ein möglichst schnelles System.


Hinweis

Es wäre für die Performance des Systems sehr schlecht, wenn ein Seitenersetzungsalgorithmus genau denjenigen Seitenrahmen für die benötigte Seite frei macht, in dem sich bislang genau die Seite befand, die gleich beim nächsten auf der CPU verarbeiteten Befehl angesprochen werden wird.


Aufgabe 1

Aufgabe

Hast du eine Idee, wie man den optimalen Algorithmus implementieren könnte? Seine Arbeitsweise ist doch mit Worten so einfach zu beschreiben!

Diskutiere deine Idee in deiner Lerngruppe.


Aufgabe 2

Aufgabe

Angenommen, ein Betriebssystem arbeitet mit dem optimalen Seitenersetzungsalgorithmus und einstufigen Seitentabellen.

  • Wird in den Seitentabellen dann eine Spalte für das M-Bit enthalten sein?
  • Wofür wird das M-Bit ggf. benötigt?



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png