Quelle: dotnetpro
Das eigene Betriebssystem, Teil 7 12.06.2023, 00:00 Uhr

Virtuelle Adressen

Eine virtuelle Speicherverwaltung wird implementiert.
Der vorangegangene Teil dieser Serie [1] hat die physische Hauptspeicherverwaltung näher beleuchtet und es wurde ein einfacher Page Frame Allocator implementiert. Dieser fungiert nun als Basis für die virtuelle Speicherverwaltung, die wir in dieser Folge implementieren werden. In der kommenden Folge soll dann noch ein einfacher Heap Manager eingebaut werden, der die Funktionen malloc() und free() anbieten wird, um kleinere Hauptspeicherbereiche verwalten zu können.
Der in der zurückliegenden Folge implementierte einfache Page Frame Allocator ist auf Basis von Bitmap-Masken in der Lage, physische Hauptspeicherblöcke zu jeweils 4 KByte zu verwalten. Dieser Page Frame Allocator bildet die Basis für die virtuelle Speicherverwaltung. In dieser Folge der Serie lernen Sie, wie Sie im Rahmen von Page Faults einer virtuellen Speicheradresse einen physikalischen Page Frame zuweisen können.

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar