Warum kann das Betriebssystem nicht ganze 64-Bit für die Adressierung verwenden? Warum nur die 48-Bit?

Ich lese "Linux-Kernel verstehen".

Paging für 64-Bit-Architekturen

Wie wir in den vorherigen Abschnitten gesehen haben, wird das zweistufige Paging häufig von 32-Bit-Mikroprozessoren verwendet. Paging auf zwei Ebenen ist jedoch nicht für Computer geeignet, die eine 64-Bit-Architektur verwenden. Lassen Sie uns anhand eines Gedankenexperiments erklären, warum:

Starten Sie mit einer Standardseitengröße von 4 KB. Weil 1 KB einen Bereich von 2 @ abdec 10 Adressen, 4 KB umfasst 2 12 -Adressen, daher beträgt das Offset-Feld 12 Bit. Auf diese Weise können bis zu 52 Bit der linearen Adresse zwischen den Feldern "Tabelle" und "Verzeichnis" verteilt werden.Wenn wir jetzt beschließen, nur 48 der 64 Bits für die Adressierung zu verwenden (diese Einschränkung lässt uns einen komfortablen Adressraum von 256 TB übrig!), die restlichen 48-12 = 36 Bits müssen auf die Felder Tabelle und Verzeichnis aufgeteilt werden. Wenn wir jetzt beschließen, 18 Bit für jedes dieser beiden Felder zu reservieren, sollten sowohl das Seitenverzeichnis als auch die Seitentabellen jedes Prozesses 2 @ enthalte 18 Einträge, dh mehr als 256.000 Einträge.

"Wenn wir uns jetzt entscheiden, nur 48 der 64 Bits für die Adressierung zu verwenden". Warum? & Warum nur 48 Bits? Warum nicht eine andere Nummer?

Nun, ich bin nur ein normaler PC-Benutzer und Programmierer. Es ist für mich nur schwer zu glauben, dass die 32-Bit-Adressierung, d. H. 4 GB (2 GB / 3 GB, um genauer zu sein) Adressraum pro Prozess, eine Grenze darstellt. Wenn duJa wirklic ist auf dieses Limit gestoßen. Bitte gib mir ein Beispiel.

Was ist diese Grenze für Windows?

Ich weiß, dass virtueller Speicher! = Physischer Speicher und Prozessoradressen haben nichts mit virtuellem Speicher zu tun. Das ist eine ganz andere Frage. Wie man die Anzahl der Adresspins (= Größe des Adressbusses) für einen Prozessor kennt.http: //ark.intel.co Spezifikationen eines Prozessors enthalten diese Spezifikation nicht.

Antworten

SehenPaul Betts Antwort für eine vernünftige Antwort auf die erste Frage.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage