2017-05-05 6 views
2

Jetzt studiere ich Memory Management in OHierarchical Seitentabelle im OS-Speicher-Paging

in hierarchischer Seitentabellenstruktur, wenn es 32-Bit-Maschine ist, 4KB von page-size und 4B von page-entry Größe.

warum Adresse werden die Bits geteilt 10-10-12

ich 20 - 12 wissen, 12 Bit sind offset Wert von 4kByte -> 2^12

Aber warum 20 Bits 10-10 werden

ist es unmöglich zu 11-9 oder 12-8?

Antwort

1

Weil sie eine zweistufige Seitentabelle verwenden. 20-12 würde nur 1 Ebene Seitentabelle verwenden und das verbraucht Speicher.

Die ersten 10 Bits (0-9) sind der entsprechende Eintrag in der PGDIR. Dieser Eintrag zeigt auf eine Seitentabelle, in dieser Seitentabelle greifen Sie auf den Eintrag zu, der den zweiten 10 Bits entspricht. (10-19).

Motivation:
Betrachten Sie den Overhead, um alle erforderlichen Seitentabellen zu speichern, um einen einzelnen Prozess zu verwalten.
#pages * size_entry = 2^20 * 4 = 4MB

, die eine Menge ist !.
Was aber, wenn wir eine Seitentabelle der ersten Ebene verwenden, die 1024 Einträge enthält, die jeweils auf zusätzliche 1024 Seitentabellen zeigen? das sind 1024 * 1024 = 1M Einträge wie zuvor.

Wie hoch ist der Speicherbedarf jetzt? 1K * 4 + 1 * 4 = 4KB + 4B ~ = 4KB

Verwandte Themen