Paging fordern

Im Computer Betriebssysteme, Paging fordern (im Gegensatz zu vorausschauend Paging) ist eine Methode von virtueller Speicher Management. In einem System, das Demand Paging verwendet, kopiert das Betriebssystem eine Festplatte Seite In den physischen Gedächtnis nur dann, wenn ein Versuch unternommen wird, darauf zuzugreifen und diese Seite noch nicht im Speicher ist (Speicherd.h., wenn ein Seitenfehler tritt ein). Daraus folgt, dass a Prozess beginnt die Ausführung mit keinem seiner Seiten im physischen Speicher, und viele Seitenfehler werden bis zum größten Teil eines Prozesses auftreten Workingset von Seiten befinden sich im physischen Gedächtnis. Dies ist ein Beispiel für a faules Laden Technik.

Basiskonzept

Nach Angaben von Paging folgt, dass Seiten nur dann in den Speicher gebracht werden sollten, wenn der Ausführungsvorgang sie verlangt. Dies wird oft als als bezeichnet faule Bewertung Wie nur diese Seiten des Prozesses ausgetauscht werden Zweitlager zu Haupterinnerung. Vergleichen Sie dies dem reinen Austausch, wobei der gesamte Speicher für einen Prozess während des Prozessstarts vom Sekundärspeicher auf den Hauptspeicher ausgetauscht wird.

Um diesen Prozess zu erreichen a Seitentabelle Implementierung wird verwendet. Die Seitentabelle karten logischer Speicher zu physikalischer Speicher. Die Seitentabelle verwendet a bitweise Bediener zu markieren, wenn eine Seite gültig oder ungültig ist. Eine gültige Seite befindet sich derzeit im Hauptspeicher. Eine ungültige Seite befindet sich derzeit im Sekundärspeicher. Wenn ein Prozess versucht, auf eine Seite zuzugreifen, werden im Allgemeinen die folgenden Schritte befolgt:

  • Versuchen Sie, auf Seite zuzugreifen.
  • Wenn die Seite gültig ist (im Speicher), setzen Sie die Verarbeitungsanweisung wie gewohnt fort.
  • Wenn die Seite ungültig ist, dann a Page-Fault-Falle tritt ein.
  • Überprüfen Sie, ob die Speicherreferenz eine gültige Referenz auf einen Speicherort im Sekundärspeicher ist. Wenn nicht, wird der Prozess beendet (illegaler Speicherzugriff). Ansonsten müssen wir Seite in die erforderliche Seite.
  • Planen Sie die Festplattenoperation, um die gewünschte Seite in den Hauptspeicher zu lesen.
  • Starten Sie die Anweisung neu, die durch die Betriebssystemfalle unterbrochen wurde.

Vorteile

Fordern Sie Paging an, anstatt alle Seiten sofort zu laden:

  • Nur Lastenseiten, die vom Ausführungsvorgang gefordert werden.
  • Da im Hauptspeicher mehr Platz vorhanden ist, können mehr Prozesse geladen werden, wodurch die Reduzierung des Kontextumschaltung Zeit, in der große Mengen an Ressourcen verwendet werden.
  • Bei Programmstart tritt weniger Ladelatenz auf, da aus dem Sekundärspeicher weniger Informationen zugegriffen werden und weniger Informationen in den Hauptspeicher gebracht werden.
  • Da das Hauptgedächtnis im Vergleich zum Sekundärspeicher teuer ist, hilft diese Technik beispielsweise beispielsweise die Kosten für Materialkosten (BOM) in Smartphones. Symbian OS hatte dieses Merkmal.

Nachteile

  • Einzelne Programme stehen vor einer zusätzlichen Latenz, wenn sie zum ersten Mal auf eine Seite zugreifen.
  • Kostengünstig, gering eingebettete Systeme darf keine haben Speicherverwaltungseinheit Das unterstützt den Seitenersatz.
  • Speicherverwaltung mit Seitenersatzalgorithmen wird etwas komplexer.
  • Mögliche Sicherheitsrisiken, einschließlich Anfälligkeit für Timing -Angriffe; sehen Percival, Colin (2005-05-13). Cache fehlt für Spaß und Gewinn (PDF). BSDCAN 2005. (Speziell der virtuelle Speicherangriff in Abschnitt 2).
  • Prügel Dies kann aufgrund wiederholter Seitenfehler auftreten.

Siehe auch

Verweise

  • Tanenbaum, Andrew S. Betriebssysteme: Design und Implementierung (zweite Ausgabe). New Jersey: Prentice-Hall 1997.