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