Anzeige

Am Puls von Microsoft

Anzeige

Frage Wie verwaltet Windows Server 2003 32 Bit mehr als 4 GB RAM?

Hallo zusammen!

Ich habe eben einen Beitrag gelesen, der mir die oben genannte Frage aufgeworfen hat: Wie verwaltet Windows Server 2003 32 Bit mehr als 4 GB RAM? Ich habe mir dazu vorher noch nie Gedanken gemacht.
(siehe dazu auch Windows Server 2003 - Editionsvergleich)

Da die Frage nach dem "wie" ein wenig von dem anderen Thema abweicht, eröffne ich mal ein Neues dazu.

Also, ein 32 Bit-Register kann 2^32 = 4.294.967.296 Byte des RAMs adressieren und somit lassen sich maximal 4 GB RAM verwalten. Mehr RAM lässt sich einfach nicht adressieren, da die 2^32 Adressen einfach nicht ausreichen. Und trotzdem funktioniert es ja bei den 32-Bit Servern. Wie wird das gemacht? Welcher "Trick" wird angewendet? Wird dafür eine ganz andere Prozessorarchitektur verwendet? In dem oben genannten Beitrag gibt es einen Link, der erklärt, wie sich diese Hardware-technische Grenze umgehen lässt. Also kann es ja eigentlich nicht von der Architektur abhängen. Die Verwaltung von mehr RAM wird also wohl softwareseitig umgesetzt. Dann kann der RAm aber ja nicht direkt über die CPU-Register adressiert werden. Die höheren Adressen müssen dann ja irgendwie berechnet werden. Das muss doch relativ Performance-lastig sein.

Ich weiß, wie die Adressen normalerweise verwaltet werden und als ich im letzten Semester Assembler programmieren durfte, hatte ich gleich mehrere Aha-Erlebnisse, die mir seit langer Zeit in meinem Kopf herumschwirrende Fragen bezüglich Rechnerstrukturen beantwortet haben. Und genau das wurde vor 30 Minuten, als ich den Beitrag gelesen habe, alles auf den Kopf gestellt :(

Bitte helft mir, flößt mir Wissen ein!

Danke und Gruß
tobim1986
 
Anzeige
Soweit ich es jetzt noch weiß, können einige Prozessoren nicht nur 32 Bit sondern auch 36 Bit verarbeiten, wodurch die Grenze ein wenig nach oben gesetzt wurde. Nur finde ich da jetzt die Quelle nicht mehr dazu.

Wikipedia schrieb:
In einigen Systemen ist der Adresspfad schmaler oder größer als 32Bit. Seit dem Pentium Pro können z. B. die x86er CPUs mit 36Bit adressieren, was einem Adressraum von 64 GByte entspricht.

Quelle unten, bei "Probleme"
 
Ja, Shadow1988, ich weiß nicht, ob es die gleiche Wiki-Seite war, aber das habe ich auch gelesen.
Und da einige Hardware-Hersteller die Zuverlässigkeit in diesem erweiterten Adressraum nicht garantieren können (oder wollen), hat Microsoft die Grenze von 32-Bit im Kernel festgelegt.
Was unawave da beschreibt geht davon aus, dass diese Beschränkung aus dem Kernel entfernt, der Kernel also gepatcht wurde.
Und genau das ist nach meiner Meinung lizenzrechtlich bedenklich, zumal nicht garantiert ist, dass das System stabil bleibt. Es kann, aber muss nicht.
 
Vielen Dank! Ich habe natürlich nicht daran gedacht, dass die Prozessoren auch mehr als 32 Bit haben können und man trotzdem ein 32 Bit System darauf installiert...

Aber patchen möchte ich mein System sowieso nicht. Mal ganz davon abgesehen, dass ich ein 64 Bit System habe, sehe ich derartige Eingriffe immer etwas kritisch. Das System soll stabil laufen und solche Systemeingriffe können das unter Umständen negativ beeinflussen.
 
Anzeige
Oben