[Seite]: Blockaden im Prozess.
【Seitenrahmen】: Ein Block im Speicher.
[Seitentabelle]: Eine spezielle Datenstruktur, die den Seitentabellenbereich des Systembereichs speichert (speichert die Entsprechung zwischen logischen Seiten und physischen Seitenrahmen). Jeder Prozess verfügt über eine eigene Seitentabelle, und in der PCB-Tabelle gibt es Zeiger, die auf die Seitentabelle verweisen.
(1) Logische Adresse (Seitennummer, Offset), die logische Adresse ist die virtuelle Adresse. Die Seitentabelleneinträge der sekundären Seitentabelle lauten beispielsweise wie folgt:
(2) Physikalische Adresse (Seitenrahmennummer, Offset). Die Zuordnungsbeziehung ist wie folgt:
[Seitentabellen-Cache]: CPU-Speicherverwaltungseinheit (MMU), ein vom Prozessorhersteller in der Speicherverwaltungseinheit hinzugefügter Cache (Seitentabellen-Cache genannt). ). Funktion zur Umwandlung virtueller Adressen in physische Adressen.
Die Seitentabelle besteht aus mehreren Seitentabelleneinträgen, und jede Zeile in der Seitentabelle ist ein Seitentabelleneintrag.
Seitenrahmennummer: Wird speziell zum Speichern der physischen Seite verwendet, die der virtuellen Seite entspricht.
Seitentabelleneinträge werden von der Hardware entworfen.
Das Seitenverzeichnis stellt ein Verzeichnis (zweidimensionale Struktur) für die Seitentabelle bereit und unterstützt die mehrstufige Suche. Wenn eine Anwendung auf der CPU ausgeführt wird, muss sie die Startadresse des Seitenverzeichnisses in ein Register eingeben (da der Übersetzungsprozess der virtuellen Adresse einen Offset erfordert).
Der Arbeitsprozess von MMU: CPU erhält die virtuelle Adresse–>MMU fragt das Seitenverzeichnis ab–>MMU fragt die Seitentabelle ab–>MMU erhält den Seitentabelleneintrag–>MMU erhält die physische Seitennummer– >MMU erhält die physische Adresse.
Das obige ist der detaillierte Inhalt vonWas ist das Prinzip der Linux-Kernel-Seitentabelle und des Seitentabellen-Cache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!